From 29f3703bf0367d3ff49c2666f31a4c99418978a7 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 17:13:48 +0530 Subject: [PATCH 01/16] add order --- orderbook-rs/.gitignore | 1 + orderbook-rs/.vscode/settings.json | 5 + orderbook-rs/Cargo.lock | 4650 ++ orderbook-rs/Cargo.toml | 27 + orderbook-rs/default.nix | 32 + orderbook-rs/src/gasoracle/mod.rs | 27 + .../src/interpreter/abi/IParserV1.json | 28 + orderbook-rs/src/interpreter/mod.rs | 74 + orderbook-rs/src/lib.rs | 6 + orderbook-rs/src/orderbook/abi/OrderBook.json | 36239 ++++++++++++++++ orderbook-rs/src/orderbook/add_order/mod.rs | 1 + orderbook-rs/src/orderbook/add_order/v3.rs | 40 + orderbook-rs/src/orderbook/mod.rs | 2 + orderbook-rs/src/orderbook/registry.rs | 14 + orderbook-rs/src/transaction/mod.rs | 86 + 15 files changed, 41232 insertions(+) create mode 100644 orderbook-rs/.gitignore create mode 100644 orderbook-rs/.vscode/settings.json create mode 100644 orderbook-rs/Cargo.lock create mode 100644 orderbook-rs/Cargo.toml create mode 100644 orderbook-rs/default.nix create mode 100644 orderbook-rs/src/gasoracle/mod.rs create mode 100644 orderbook-rs/src/interpreter/abi/IParserV1.json create mode 100644 orderbook-rs/src/interpreter/mod.rs create mode 100644 orderbook-rs/src/lib.rs create mode 100644 orderbook-rs/src/orderbook/abi/OrderBook.json create mode 100644 orderbook-rs/src/orderbook/add_order/mod.rs create mode 100644 orderbook-rs/src/orderbook/add_order/v3.rs create mode 100644 orderbook-rs/src/orderbook/mod.rs create mode 100644 orderbook-rs/src/orderbook/registry.rs create mode 100644 orderbook-rs/src/transaction/mod.rs diff --git a/orderbook-rs/.gitignore b/orderbook-rs/.gitignore new file mode 100644 index 000000000..1de565933 --- /dev/null +++ b/orderbook-rs/.gitignore @@ -0,0 +1 @@ +target \ No newline at end of file diff --git a/orderbook-rs/.vscode/settings.json b/orderbook-rs/.vscode/settings.json new file mode 100644 index 000000000..352a6265a --- /dev/null +++ b/orderbook-rs/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "rust-analyzer.linkedProjects": [ + "./Cargo.toml" + ] +} \ No newline at end of file diff --git a/orderbook-rs/Cargo.lock b/orderbook-rs/Cargo.lock new file mode 100644 index 000000000..af818a3e9 --- /dev/null +++ b/orderbook-rs/Cargo.lock @@ -0,0 +1,4650 @@ +# 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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloy-dyn-abi" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74ab9cc043cd4b0a806f79e32624c148efecd9c9395e4a75000d51fdc9726be0" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", + "const-hex", + "itoa", + "serde", + "serde_json", + "winnow", +] + +[[package]] +name = "alloy-json-abi" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8889c85658aae27e96515ff2c9200cb8d8c78baefad5aee088e49b47f5f6f3" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-primitives" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c0e5e60ff0e0c34c553822dabcfe0f5fece5a8c52f08a915be8c737de4b03fa" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "hex-literal", + "itoa", + "proptest", + "rand", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc0fac0fc16baf1f63f78b47c3d24718f3619b0714076f6a02957d808d52cbef" +dependencies = [ + "arrayvec", + "bytes", + "smol_str", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c9d43ca0a56b356f35775deecc8f660ac99e34cbf4a33462d4bd8addd9ab6f" +dependencies = [ + "alloy-json-abi", + "const-hex", + "dunce", + "heck", + "indexmap", + "proc-macro-error", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.42", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cdf1064e9b5160ae47b5190171a0655c8b4966b9657b04f48ff5d868684ade" +dependencies = [ + "winnow", +] + +[[package]] +name = "alloy-sol-types" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c169266a4b5ecf6f471947be10690f0aa295063774853b50540708b267a96e51" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "const-hex", + "serde", +] + +[[package]] +name = "anstream" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" + +[[package]] +name = "anstyle-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +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 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + +[[package]] +name = "anyhow" +version = "1.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.0", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[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.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[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 0.4.0", +] + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[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.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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.20", + "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.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a1f23fa97e1d1641371b51f35535cb26959b8e27ab50d167a8b996b5bada819" +dependencies = [ + "clap_builder", + "clap_derive", + "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fdc5d93c358224b4d6867ef1356d740de2303e9892edc06c5340daeccd96bab" +dependencies = [ + "anstream", + "anstyle", + "bitflags 1.3.2", + "clap_lex", + "once_cell", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[package]] +name = "clap_lex" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" + +[[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.5", + "bech32", + "bs58", + "digest 0.10.7", + "generic-array", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2", + "sha3", + "thiserror", +] + +[[package]] +name = "coins-ledger" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fa6094030951ce3efad50fdba0efe088a93ffe05ec58c2f47cc60d9e90c715d" +dependencies = [ + "async-trait", + "byteorder", + "cfg-if", + "futures", + "getrandom", + "hex", + "hidapi-rusb", + "js-sys", + "lazy_static", + "libc", + "log", + "matches", + "nix", + "serde", + "tap", + "thiserror", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", +] + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "const-hex" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpufeatures" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.9.0", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f" +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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" + +[[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.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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 0.4.0", + "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", + "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 0.48.0", +] + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +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", +] + +[[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.5", + "bytes", + "hex", + "k256", + "log", + "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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5344eea9b20effb5efeaad29418215c4d27017639fd1f908260f59cbbd226e" +dependencies = [ + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", + "ethers-solc", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c405f24ea3a517899ba7985385c43dc4a7eb1209af3b1e0a1a32d7dcc7f8d09" +dependencies = [ + "ethers-core", + "once_cell", + "serde", + "serde_json", +] + +[[package]] +name = "ethers-contract" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0111ead599d17a7bff6985fd5756f39ca7033edc79a31b23026a8d5d64fa95cd" +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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51258120c6b47ea9d9bec0d90f9e8af71c977fbefbef8213c91bfed385fe45eb" +dependencies = [ + "Inflector", + "const-hex", + "dunce", + "ethers-core", + "ethers-etherscan", + "eyre", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "reqwest", + "serde", + "serde_json", + "syn 2.0.42", + "toml", + "walkdir", +] + +[[package]] +name = "ethers-contract-derive" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936e7a0f1197cee2b62dc89f63eff3201dbf87c283ff7e18d86d38f83b845483" +dependencies = [ + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.42", +] + +[[package]] +name = "ethers-core" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f03e0bdc216eeb9e355b90cf610ef6c5bb8aca631f97b5ae9980ce34ea7878d" +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.42", + "tempfile", + "thiserror", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "ethers-etherscan" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abbac2c890bdbe0f1b8e549a53b00e2c4c1de86bb077c1094d1f38cdf9381a56" +dependencies = [ + "chrono", + "ethers-core", + "reqwest", + "semver 1.0.20", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-middleware" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681ece6eb1d10f7cf4f873059a77c04ff1de4f35c63dd7bccde8f438374fcb93" +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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25d6c0c9455d93d4990c06e049abf9b30daf148cf461ee939c11d88907c60816" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.21.5", + "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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cb1b714e227bbd2d8c53528adb580b203009728b17d0d0e4119353aa9bc5532" +dependencies = [ + "async-trait", + "coins-bip32", + "coins-bip39", + "coins-ledger", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "futures-executor", + "futures-util", + "rand", + "semver 1.0.20", + "sha2", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-solc" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64f710586d147864cff66540a6d64518b9ff37d73ef827fee430538265b595f" +dependencies = [ + "cfg-if", + "const-hex", + "dirs", + "dunce", + "ethers-core", + "glob", + "home", + "md-5", + "num_cpus", + "once_cell", + "path-slash", + "rayon", + "regex", + "semver 1.0.20", + "serde", + "serde_json", + "solang-parser", + "svm-rs", + "thiserror", + "tiny-keccak", + "tokio", + "tracing", + "walkdir", + "yansi", +] + +[[package]] +name = "eyre" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799" +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 = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[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.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +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.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" + +[[package]] +name = "futures-executor" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" + +[[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.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[package]] +name = "futures-sink" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" + +[[package]] +name = "futures-task" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" + +[[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.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[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 = "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.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hidapi-rusb" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efdc2ec354929a6e8f3c6b6923a4d97427ec2f764cfee8cd4bfe890946cdf08b" +dependencies = [ + "cc", + "libc", + "pkg-config", + "rusb", +] + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "http" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +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.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +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 = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[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 = "io-lifetimes" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "is-terminal" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix 0.37.17", + "windows-sys 0.48.0", +] + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[package]] +name = "jobserver" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.5", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "k256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" +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 0.7.5", + "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.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libusb1-sys" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d0e2afce4245f2c9a418511e5af8718bcaf2fa408aefb259504d1a9cb25f27" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b64f40e5e03e0d54f03845c8197d0291253cdbedfb1cb46b13c2c117554a9f4c" + +[[package]] +name = "linux-raw-sys" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[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.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[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", + "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 = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[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.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", + "libm", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[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.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[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.62" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" +dependencies = [ + "bitflags 2.4.1", + "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.42", +] + +[[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.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" +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 = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "parity-scale-codec" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ddb756ca205bd108aee3c62c6d3c994e1df84a59b9d6d4a5ea42ee1fd5a9a28" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" +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.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "windows-sys 0.45.0", +] + +[[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 = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.0", +] + +[[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.42", +] + +[[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.42", +] + +[[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.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" + +[[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" +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.42", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +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 0.19.15", +] + +[[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.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.4.1", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax 0.8.2", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[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 = "rain_ob" +version = "0.0.4" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", + "anyhow", + "clap", + "ethers", + "ethers-signers", + "hex", + "reqwest", + "rust-bigint", + "serde", + "serde_bytes", + "tokio", + "tracing", + "tracing-subscriber", +] + +[[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 = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + +[[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.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-syntax" +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.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" +dependencies = [ + "base64 0.21.5", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "system-configuration", + "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 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +dependencies = [ + "cc", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.48.0", +] + +[[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 = "ruint" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608a5726529f2f0ef81b8fde9873c4bb829d6b5b5ca6be4d97345ddf0749c825" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp", + "num-bigint", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e666a5496a0b2186dbcd0ff6106e29e093c15591bde62c20d3842007c6978a09" + +[[package]] +name = "rusb" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45fff149b6033f25e825cbb7b2c625a11ee8e6dac09264d49beb125e39aa97bf" +dependencies = [ + "libc", + "libusb1-sys", +] + +[[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.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.20", +] + +[[package]] +name = "rustix" +version = "0.37.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc809f704c03a812ac71f22456c857be34185cac691a4316f27ab0f633bb9009" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.6", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +dependencies = [ + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys 0.4.12", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +dependencies = [ + "log", + "ring 0.17.7", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.5", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.7", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[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.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +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 0.48.0", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.7", + "untrusted 0.9.0", +] + +[[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 = "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 = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[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.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bytes" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[package]] +name = "serde_json" +version = "1.0.96" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +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 = "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 = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +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.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "smol_str" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c" +dependencies = [ + "serde", +] + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "solang-parser" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +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 = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.42", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20689c7d03b6461b502d0b95d6c24874c7d24dea2688af80486a130a06af3b07" +dependencies = [ + "dirs", + "fs2", + "hex", + "once_cell", + "reqwest", + "semver 1.0.20", + "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.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b7d0a2c048d661a1a59fcd7355baa232f7ed34e0ee4df2eef3c1c1c0d3852d8" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4e95b65f5854377a31ebfa69d71b87c9d0d9922fddbfeb91a8eda4a0c5868eb" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall 0.4.1", + "rustix 0.38.28", + "windows-sys 0.48.0", +] + +[[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.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +dependencies = [ + "deranged", + "itoa", + "powerfmt", + "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.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +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.35.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.5", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[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-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.21.0", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +dependencies = [ + "indexmap", + "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.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", + "valuable", +] + +[[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 = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +dependencies = [ + "nu-ansi-term", + "sharded-slab", + "smallvec", + "thread_local", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[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", + "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 = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[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 = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-bidi" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[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 = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +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 = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[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 = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[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.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.42", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" + +[[package]] +name = "web-sys" +version = "0.3.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" + +[[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.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.0", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[package]] +name = "winnow" +version = "0.5.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b5c3db89721d50d0e2a673f5043fc4722f76dcc352d7b1ab8b8288bed4ed2c5" +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 0.48.0", +] + +[[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", + "pharos", + "rustc_version 0.4.0", + "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.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + +[[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.9+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/orderbook-rs/Cargo.toml b/orderbook-rs/Cargo.toml new file mode 100644 index 000000000..7e08e8669 --- /dev/null +++ b/orderbook-rs/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "rain_ob" +version = "0.0.4" +edition = "2021" +license = "CAL-1.0" +description = "Rain OrderBook Rust Crate." +homepage = "https://github.com/rainlanguage/rain.orderbook" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +anyhow = "1.0.70" +clap = { version = "4.2.5", features = ["cargo", "derive"] } +reqwest = { version = "0.11.17", features = ["json"] } +rust-bigint = "1.2.0" +serde = "1.0.160" +serde_bytes = "0.11.9" +tokio = { version = "1.28.0", features = ["full"] } +tracing = "0.1.37" +tracing-subscriber = "0.3.17" +ethers = "2.0.7" +ethers-signers = { version = "2.0.8", features = ["ledger"] } +alloy-json-abi = { version = "0.5.3" } +alloy-primitives = { version = "0.5.3" } +alloy-sol-types = { version = "0.5.3", features = ["json"] } +alloy-dyn-abi = { version = "0.5.3"} +hex = "0.4.3" diff --git a/orderbook-rs/default.nix b/orderbook-rs/default.nix new file mode 100644 index 000000000..a06087193 --- /dev/null +++ b/orderbook-rs/default.nix @@ -0,0 +1,32 @@ +{ pkgs ? import + (builtins.fetchTarball { + name = "nixos-unstable-2023-04-19"; + url = "https://github.com/nixos/nixpkgs/archive/bb2009ca185d97813e75736c2b8d1d8bb81bde05.tar.gz"; + sha256 = "sha256:003qcrsq5g5lggfrpq31gcvj82lb065xvr7bpfa8ddsw8x4dnysk"; + }) + { } }: +let + +in +pkgs.mkShell { + # buildInputs is for dependencies you'd need "at run time", + # were you to to use nix-build not nix-shell and build whatever you were working on + buildInputs = [ + pkgs.rustc + pkgs.rustfmt + pkgs.cargo + pkgs.pkgconfig + pkgs.openssl + pkgs.iconv + pkgs.graphql-client + pkgs.gmp + ] ++ (pkgs.lib.optionals pkgs.stdenv.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.Security + pkgs.darwin.apple_sdk.frameworks.CoreFoundation + pkgs.darwin.apple_sdk.frameworks.CoreServices + ]); + + shellHook = '' + export PATH="$PATH:$HOME/.cargo/bin" + ''; +} diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs new file mode 100644 index 000000000..6a877e037 --- /dev/null +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -0,0 +1,27 @@ +use ethers::middleware::gas_oracle::GasCategory; +use ethers::prelude::gas_oracle::blocknative::Response as BlockNativeResponse; +use reqwest::{header::AUTHORIZATION, Client}; + +pub fn is_block_native_supported(chain_id: u64) -> bool { + chain_id == 1 || chain_id == 137 +} + +pub async fn gas_price_oracle( + api_key: Option, + chain_id: u64, +) -> anyhow::Result<(f64, f64)> { + let client = Client::new(); + let url = format!( + "{}{}", + "https://api.blocknative.com/gasprices/blockprices?chainid=", chain_id + ); + let mut request = client.get(url); + if let Some(api_key) = api_key.as_ref() { + request = request.header(AUTHORIZATION, api_key); + } + let response: BlockNativeResponse = request.send().await?.error_for_status()?.json().await?; + let fatest = response + .estimate_from_category(&GasCategory::Fastest) + .unwrap(); + Ok((fatest.max_priority_fee_per_gas, fatest.max_fee_per_gas)) +} diff --git a/orderbook-rs/src/interpreter/abi/IParserV1.json b/orderbook-rs/src/interpreter/abi/IParserV1.json new file mode 100644 index 000000000..82b6f57f7 --- /dev/null +++ b/orderbook-rs/src/interpreter/abi/IParserV1.json @@ -0,0 +1,28 @@ +{ + "abi": [ + { + "type": "function", + "name": "parse", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "bytecode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "constants", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + } + ] +} \ No newline at end of file diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs new file mode 100644 index 000000000..cd9bccc39 --- /dev/null +++ b/orderbook-rs/src/interpreter/mod.rs @@ -0,0 +1,74 @@ +use alloy_primitives::{Address, Bytes, U256}; +use anyhow::anyhow; +use crate::orderbook::registry::{IExpressionDeployerV3, IParserV1}; +use std::str::FromStr; +use ethers::{ + providers::{Http,Provider}, + types::H160 +}; +use std::sync::Arc; + + +pub async fn get_disp( + deployer_npe2: Address, + rpc_url: String +) -> anyhow::Result<(Address, Address, Address)> { + + let provider = match Provider::::try_from(rpc_url.clone()) { + Ok(provider) => provider, + Err(err) => { + return Err(anyhow!(err)); + } + }; + + let deployer_npe2_address = H160::from_str(&deployer_npe2.to_string()).unwrap(); + let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); + + let interpreter: H160 = deployer_npe2.i_interpreter().call().await.unwrap(); + let store: H160 = deployer_npe2.i_store().call().await.unwrap(); + let parser: H160 = deployer_npe2.i_parser().call().await.unwrap(); + + let store = Address::new(store.to_fixed_bytes()); + let intepreter = Address::new(interpreter.to_fixed_bytes()); + let parser = Address::new(parser.to_fixed_bytes()); + + Ok((store, intepreter, parser)) + +} + + +pub async fn parse_rainstring( + parser_address: Address, + rainstring: String, + rpc_url: String +) -> anyhow::Result<(Bytes,Vec)> { + + let provider = match Provider::::try_from(rpc_url.clone()) { + Ok(provider) => provider, + Err(err) => { + return Err(anyhow!(err)); + } + }; + + let parser_address = H160::from_str(&parser_address.to_string()).unwrap(); + let rain_parser = IParserV1::new(parser_address, Arc::new(provider.clone())); + + let (sources, constants) = rain_parser + .parse(ethers::types::Bytes::from( + rainstring.as_bytes().to_vec(), + )) + .call() + .await + .unwrap(); + + let bytecode_npe2 = Bytes::from(sources.to_vec()); + + let mut constants_npe2: Vec = vec![]; + + for i in constants.into_iter() { + constants_npe2.push(U256::from_str(i.to_string().as_str()).unwrap()); + } + + Ok((bytecode_npe2,constants_npe2)) + +} \ No newline at end of file diff --git a/orderbook-rs/src/lib.rs b/orderbook-rs/src/lib.rs new file mode 100644 index 000000000..9c9040f8a --- /dev/null +++ b/orderbook-rs/src/lib.rs @@ -0,0 +1,6 @@ +pub mod orderbook; +pub mod gasoracle; +pub mod interpreter; +pub mod transaction; + + diff --git a/orderbook-rs/src/orderbook/abi/OrderBook.json b/orderbook-rs/src/orderbook/abi/OrderBook.json new file mode 100644 index 000000000..ca30a5ed7 --- /dev/null +++ b/orderbook-rs/src/orderbook/abi/OrderBook.json @@ -0,0 +1,36239 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "config", + "type": "tuple", + "internalType": "struct DeployerDiscoverableMetaV3ConstructionConfig", + "components": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "meta", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addOrder", + "inputs": [ + { + "name": "config", + "type": "tuple", + "internalType": "struct OrderConfigV2", + "components": [ + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "evaluableConfig", + "type": "tuple", + "internalType": "struct EvaluableConfigV3", + "components": [ + { + "name": "deployer", + "type": "address", + "internalType": "contract IExpressionDeployerV3" + }, + { + "name": "bytecode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "constants", + "type": "uint256[]", + "internalType": "uint256[]" + } + ] + }, + { + "name": "meta", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "stateChanged", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "clear", + "inputs": [ + { + "name": "aliceOrder", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "bobOrder", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "clearConfig", + "type": "tuple", + "internalType": "struct ClearConfig", + "components": [ + { + "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": "uint256" + } + ] + }, + { + "name": "aliceSignedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "bobSignedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashFee", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "contract IERC3156FlashBorrower" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "maxFlashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "orderExists", + "inputs": [ + { + "name": "orderHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeOrder", + "inputs": [ + { + "name": "order", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "outputs": [ + { + "name": "stateChanged", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "takeOrders", + "inputs": [ + { + "name": "config", + "type": "tuple", + "internalType": "struct TakeOrdersConfigV2", + "components": [ + { + "name": "minimumInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maximumInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maximumIORatio", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "orders", + "type": "tuple[]", + "internalType": "struct TakeOrderConfigV2[]", + "components": [ + { + "name": "order", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "inputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "outputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "signedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ] + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "totalTakerInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalTakerOutput", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultBalance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "targetAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddOrder", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "expressionDeployer", + "type": "address", + "indexed": false, + "internalType": "contract IExpressionDeployerV3" + }, + { + "name": "order", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AfterClear", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "clearStateChange", + "type": "tuple", + "indexed": false, + "internalType": "struct ClearStateChange", + "components": [ + { + "name": "aliceOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bobOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "aliceInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bobInput", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Clear", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "alice", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "bob", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "clearConfig", + "type": "tuple", + "indexed": false, + "internalType": "struct ClearConfig", + "components": [ + { + "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": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Context", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[][]", + "indexed": false, + "internalType": "uint256[][]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MetaV1", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "subject", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "meta", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OrderExceedsMaxRatio", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OrderNotFound", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OrderZeroAmount", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveOrder", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "order", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TakeOrder", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "config", + "type": "tuple", + "indexed": false, + "internalType": "struct TakeOrderConfigV2", + "components": [ + { + "name": "order", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "inputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "outputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "signedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ] + }, + { + "name": "input", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "output", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "targetAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "FlashLenderCallbackFailed", + "inputs": [ + { + "name": "result", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [ + { + "name": "i", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "MinimumInput", + "inputs": [ + { + "name": "minimumInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "input", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "NoOrders", + "inputs": [] + }, + { + "type": "error", + "name": "NotOrderOwner", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "NotRainMetaV1", + "inputs": [ + { + "name": "unmeta", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "OrderNoHandleIO", + "inputs": [] + }, + { + "type": "error", + "name": "OrderNoInputs", + "inputs": [] + }, + { + "type": "error", + "name": "OrderNoOutputs", + "inputs": [] + }, + { + "type": "error", + "name": "OrderNoSources", + "inputs": [] + }, + { + "type": "error", + "name": "SameOwner", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SourceIndexOutOfBounds", + "inputs": [ + { + "name": "bytecode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "sourceIndex", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "TokenDecimalsMismatch", + "inputs": [ + { + "name": "aliceTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "bobTokenDecimals", + "type": "uint8", + "internalType": "uint8" + } + ] + }, + { + "type": "error", + "name": "TokenMismatch", + "inputs": [ + { + "name": "aliceToken", + "type": "address", + "internalType": "address" + }, + { + "name": "bobToken", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedMetaHash", + "inputs": [ + { + "name": "expectedHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "actualHash", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "type": "error", + "name": "UnsupportedCalculateInputs", + "inputs": [ + { + "name": "inputs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "UnsupportedCalculateOutputs", + "inputs": [ + { + "name": "outputs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "UnsupportedHandleInputs", + "inputs": [ + { + "name": "inputs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ZeroDepositAmount", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ZeroMaximumInput", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroWithdrawTargetAmount", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "bytecode": { + "object": "0x60806040523480156200001157600080fd5b506040516200617038038062006170833981016040819052620000349162000303565b600160005560208101517f4383dd3c5a557f161038940161f880963e1d4a31e8f2da771427b891956ad8319082906200006f908390620000c6565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000a89133913091620003d1565b60405180910390a18051620000bd906200010d565b505050620004f7565b80516020820120828114620000fd5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200010882620001c0565b505050565b60008080806001600160a01b03851663b7f14403826040519080825280602002602001820160405280156200014c578160200160208202803683370190505b506040518263ffffffff1660e01b81526004016200016b919062000403565b6000604051808303816000875af11580156200018b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001b591908101906200045a565b505050505050505050565b620001cb81620001f0565b620001ed5780604051630c89984b60e31b8152600401620000f49190620004db565b50565b60006008825110156200020557506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114620001ed57600080fd5b60005b83811015620002695781810151838201526020016200024f565b50506000910152565b600082601f8301126200028457600080fd5b81516001600160401b0380821115620002a157620002a162000220565b604051601f8301601f19908116603f01168101908282118183101715620002cc57620002cc62000220565b81604052838152866020858801011115620002e657600080fd5b620002f98460208301602089016200024c565b9695505050505050565b6000602082840312156200031657600080fd5b81516001600160401b03808211156200032e57600080fd5b90830190604082860312156200034357600080fd5b60405160408101818110838211171562000361576200036162000220565b6040528251620003718162000236565b81526020830151828111156200038657600080fd5b620003948782860162000272565b60208301525095945050505050565b60008151808452620003bd8160208601602086016200024c565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000620003fa6060830184620003a3565b95945050505050565b60408152600060408201526000606082016020606081850152818551808452608086019150828701935060005b818110156200044e5784518352938301939183019160010162000430565b50909695505050505050565b600080600080608085870312156200047157600080fd5b84516200047e8162000236565b6020860151909450620004918162000236565b6040860151909350620004a48162000236565b60608601519092506001600160401b03811115620004c157600080fd5b620004cf8782880162000272565b91505092959194509250565b602081526000620004f06020830184620003a3565b9392505050565b615c6980620005076000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101dc578063d9d98ce4146101ef578063e23746a31461020557600080fd5b80639e18968b14610196578063ac9650d8146101a9578063b5c5f672146101c957600080fd5b8063613255ab116100b2578063613255ab1461013a578063847a1bc91461015b5780638a44689c1461016e57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610127575b600080fd5b6100ec6100e73660046144a0565b610218565b005b6101126100fc3660046144d5565b6000908152600160208190526040909120541490565b60405190151581526020015b60405180910390f35b6101126101353660046144ee565b61035f565b61014d61014836600461458d565b6104be565b60405190815260200161011e565b6101126101693660046145aa565b610555565b61018161017c3660046145e5565b610b63565b6040805192835260208301919091520161011e565b6100ec6101a4366004614af3565b611ae8565b6101bc6101b7366004614bde565b612232565b60405161011e9190614cc1565b6100ec6101d73660046144a0565b612327565b61014d6101ea366004614d41565b612499565b61014d6101fd366004614d82565b600092915050565b610112610213366004614dae565b6124dc565b61022061262f565b80600003610284576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a161030373ffffffffffffffffffffffffffffffffffffffff84163330846126a2565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120805483929061034b908490614e18565b90915550506001600055505050565b505050565b600061038273ffffffffffffffffffffffffffffffffffffffff86168786612784565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906103e19033908a908a9087908b908b90600401614e74565b6020604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104249190614ec6565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610482576040517f5b62c5480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b6104b18730610492600089614e18565b73ffffffffffffffffffffffffffffffffffffffff8a169291906126a2565b5060019695505050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190614ec6565b92915050565b600061055f61262f565b60006105b96105716040850185614edf565b61057f906020810190614f1d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127da92505050565b9050806000036105f5576040517fb3fc422c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060010361062f576040517ff209c2f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106398380614f82565b9050600003610674576040517f6c44ef8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106816020840184614f82565b90506000036106bc576040517f540e5f0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080806106ce6040880188614edf565b6106dc90602081019061458d565b73ffffffffffffffffffffffffffffffffffffffff1663b7f1440361070460408a018a614edf565b610712906020810190614f1d565b61071f60408c018c614edf565b61072d906040810190614fe9565b6040518563ffffffff1660e01b815260040161074c9493929190615051565b6000604051808303816000875af115801561076b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107b191908101906150b6565b602081015193975091955093509150600081901a90600181901a9060021a821561080a576040517f9a6f079e0000000000000000000000000000000000000000000000000000000081526004810184905260240161027b565b6002821015610848576040517f3eee39540000000000000000000000000000000000000000000000000000000081526004810183905260240161027b565b8015610883576040517f9d5f70980000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b50505060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600061090f8b80604001906108c49190614edf565b6108d2906020810190614f1d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506127f8915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff808a16825288811660208381019190915290881682840152830152016109578a80614f82565b808060200260200160405190810160405280939291908181526020016000905b828210156109a35761099460608302860136819003810190615168565b81526020019060010190610977565b505050505081526020018980602001906109bd9190614f82565b808060200260200160405190810160405280939291908181526020016000905b82821015610a09576109fa60608302860136819003810190615168565b815260200190600101906109dd565b505050505081525090506000610a1e82612811565b600081815260016020526040902054909150610b4d5760008181526001602081905260409182902081905598507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610a7b908c018c614edf565b610a8990602081019061458d565b8484604051610a9b9493929190615271565b60405180910390a16000610ab260608b018b614f1d565b90501115610b4d57610b04610aca60608b018b614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061284192505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610b3460608d018d614f1d565b604051610b4494939291906152bb565b60405180910390a15b50505050505050610b5e6001600055565b919050565b600080610b6e61262f565b610b7b6060840184614fe9565b9050600003610bb6576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e085018190526101008501819052918452830182905292820152818101919091526040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260606000610c6787830188614fe9565b6040805160206001939093018302810190915293508801359150506000819003610cbd576040517fc2ee700900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b610ccd6060890189614fe9565b905081108015610cdd5750600082115b156116f257610cef6060890189614fe9565b82818110610cff57610cff6152f1565b9050602002810190610d119190615320565b610d1a90615354565b80519095509350610d2e6060890189614fe9565b6000818110610d3f57610d3f6152f1565b9050602002810190610d519190615320565b610d5b90806153ee565b610d699060a0810190614f82565b610d7660608b018b614fe9565b6000818110610d8757610d876152f1565b9050602002810190610d999190615320565b60200135818110610dac57610dac6152f1565b610dc2926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460600151866020015181518110610df257610df26152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610f32578360600151856020015181518110610e3357610e336152f1565b602090810291909101015151610e4c60608a018a614fe9565b6000818110610e5d57610e5d6152f1565b9050602002810190610e6f9190615320565b610e7990806153ee565b610e879060a0810190614f82565b610e9460608c018c614fe9565b6000818110610ea557610ea56152f1565b9050602002810190610eb79190615320565b60200135818110610eca57610eca6152f1565b610ee0926020606090920201908101915061458d565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b610f3f6060890189614fe9565b6000818110610f5057610f506152f1565b9050602002810190610f629190615320565b610f6c90806153ee565b610f7a9060c0810190614f82565b610f8760608b018b614fe9565b6000818110610f9857610f986152f1565b9050602002810190610faa9190615320565b60400135818110610fbd57610fbd6152f1565b610fd3926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460800151866040015181518110611003576110036152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146110db578360800151856040015181518110611044576110446152f1565b60209081029190910101515161105d60608a018a614fe9565b600081811061106e5761106e6152f1565b90506020028101906110809190615320565b61108a90806153ee565b6110989060c0810190614f82565b6110a560608c018c614fe9565b60008181106110b6576110b66152f1565b90506020028101906110c89190615320565b60400135818110610eca57610eca6152f1565b6110e86060890189614fe9565b60008181106110f9576110f96152f1565b905060200281019061110b9190615320565b61111590806153ee565b6111239060a0810190614f82565b61113060608b018b614fe9565b6000818110611141576111416152f1565b90506020028101906111539190615320565b60200135818110611166576111666152f1565b905060600201602001602081019061117e9190615422565b60ff16846060015186602001518151811061119b5761119b6152f1565b60200260200101516020015160ff16146112ba5783606001518560200151815181106111c9576111c96152f1565b6020026020010151602001518880606001906111e59190614fe9565b60008181106111f6576111f66152f1565b90506020028101906112089190615320565b61121290806153ee565b6112209060a0810190614f82565b61122d60608c018c614fe9565b600081811061123e5761123e6152f1565b90506020028101906112509190615320565b60200135818110611263576112636152f1565b905060600201602001602081019061127b9190615422565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff92831660048201529116602482015260440161027b565b6112c76060890189614fe9565b60008181106112d8576112d86152f1565b90506020028101906112ea9190615320565b6112f490806153ee565b6113029060c0810190614f82565b61130f60608b018b614fe9565b6000818110611320576113206152f1565b90506020028101906113329190615320565b60400135818110611345576113456152f1565b905060600201602001602081019061135d9190615422565b60ff16846080015186604001518151811061137a5761137a6152f1565b60200260200101516020015160ff16146114425783608001518560400151815181106113a8576113a86152f1565b6020026020010151602001518880606001906113c49190614fe9565b60008181106113d5576113d56152f1565b90506020028101906113e79190615320565b6113f190806153ee565b6113ff9060c0810190614f82565b61140c60608c018c614fe9565b600081811061141d5761141d6152f1565b905060200281019061142f9190615320565b60400135818110611263576112636152f1565b600061144d85612811565b6000818152600160205260409020549091506114c05784516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a16116e9565b60006114db8688602001518960400151338b60600151612885565b905089604001358160600151111561154b5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a16116e7565b80604001516000036115ac5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa9060600161153e565b600086608001518860400151815181106115c8576115c86152f1565b6020908102919091018101510151604083015190915060006115ef8760ff85166002612fae565b9050808211156115fd578091505b5060008061161b85606001516001856130339092919063ffffffff16565b905061165b8a606001518c602001518151811061163a5761163a6152f1565b60200260200101516020015160ff166001836130519092919063ffffffff16565b9150600090506116708360ff86166002613051565b905061167c818961543d565b9750611688828d614e18565b9b506116958282876130b3565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338c83856040516116ca9493929190615480565b60405180910390a150508651600101808852602002870183905250505b505b50600101610cc0565b6117008260208a013561543d565b965050508535851015611749576040517f45094d88000000000000000000000000000000000000000000000000000000008152863560048201526024810186905260440161027b565b841561181257611812338661176160608a018a614fe9565b6000818110611772576117726152f1565b90506020028101906117849190615320565b61178e90806153ee565b61179c9060c0810190614f82565b6117a960608c018c614fe9565b60008181106117ba576117ba6152f1565b90506020028101906117cc9190615320565b604001358181106117df576117df6152f1565b6117f5926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169190612784565b60006118216080880188614f1d565b905011156119d4573363059bebe661183c6060890189614fe9565b600081811061184d5761184d6152f1565b905060200281019061185f9190615320565b61186990806153ee565b6118779060c0810190614f82565b61188460608b018b614fe9565b6000818110611895576118956152f1565b90506020028101906118a79190615320565b604001358181106118ba576118ba6152f1565b6118d0926020606090920201908101915061458d565b6118dd60608a018a614fe9565b60008181106118ee576118ee6152f1565b90506020028101906119009190615320565b61190a90806153ee565b6119189060a0810190614f82565b61192560608c018c614fe9565b6000818110611936576119366152f1565b90506020028101906119489190615320565b6020013581811061195b5761195b6152f1565b611971926020606090920201908101915061458d565b888861198060808d018d614f1d565b6040518763ffffffff1660e01b81526004016119a196959493929190614e74565b600060405180830381600087803b1580156119bb57600080fd5b505af11580156119cf573d6000803e3d6000fd5b505050505b8315611a9f57611a9f3330866119ed60608b018b614fe9565b60008181106119fe576119fe6152f1565b9050602002810190611a109190615320565b611a1a90806153ee565b611a289060a0810190614f82565b611a3560608d018d614fe9565b6000818110611a4657611a466152f1565b9050602002810190611a589190615320565b60200135818110611a6b57611a6b6152f1565b611a81926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169291906126a2565b60005b8151811015611ad557611acd828281518110611ac057611ac06152f1565b6020026020010151613376565b600101611aa2565b50505050611ae36001600055565b915091565b611af061262f565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611b605784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161027b565b8360600151836040013581518110611b7a57611b7a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bb657611bb66152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611c7b578460800151836020013581518110611bf757611bf76152f1565b6020026020010151600001518460600151846040013581518110611c1d57611c1d6152f1565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b8360600151836040013581518110611c9557611c956152f1565b60200260200101516020015160ff168560800151846020013581518110611cbe57611cbe6152f1565b60200260200101516020015160ff1614611d61578460800151836020013581518110611cec57611cec6152f1565b6020026020010151602001518460600151846040013581518110611d1257611d126152f1565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161027b92919060ff92831681529116602082015260400190565b606085015180518435908110611d7957611d796152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611db557611db56152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e1a57606085015180518435908110611df457611df46152f1565b6020026020010151600001518460800151846060013581518110611c1d57611c1d6152f1565b606085015180518435908110611e3257611e326152f1565b60200260200101516020015160ff168460800151846060013581518110611e5b57611e5b6152f1565b60200260200101516020015160ff1614611ead57606085015180518435908110611e8757611e876152f1565b6020026020010151602001518460800151846060013581518110611d1257611d126152f1565b600060016000611ebc88612811565b81526020019081526020016000205403611f3b577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f0088612811565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1612221565b600060016000611f4a87612811565b81526020019081526020016000205403611f8e577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f0087612811565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa233868686604051611fc394939291906155b0565b60405180910390a16000611fe68685600001358660200135886000015186612885565b9050600061200386866040013587606001358a6000015188612885565b9050600061201183836135b4565b905061202681604001518260000151856130b3565b61203981606001518260200151846130b3565b6060810151815160009161204c9161543d565b9050600082604001518360200151612064919061543d565b9050811561210a57336000908152600260209081526040822060808d01518051869492938d013590811061209a5761209a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60800135815260200190815260200160002060008282546121049190614e18565b90915550505b80156121ae5733600090815260026020526040812060808b015180518493919060608d013590811061213e5761213e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121a89190614e18565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a161221483613376565b61221d82613376565b5050505b61222b6001600055565b5050505050565b60608167ffffffffffffffff81111561224d5761224d614620565b60405190808252806020026020018201604052801561228057816020015b606081526020019060019003908161226b5790505b50905060005b82811015612320576122f0308585848181106122a4576122a46152f1565b90506020028101906122b69190614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061360a92505050565b828281518110612302576123026152f1565b602002602001018190525080806123189061563a565b915050612286565b5092915050565b61232f61262f565b8060000361238e576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff841660248201526044810183905260640161027b565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684528252808320858452909152812054906123d2838361362f565b9050801561248d576123e4818361543d565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a161248d73ffffffffffffffffffffffffffffffffffffffff86163383612784565b505061035a6001600055565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526002602090815260408083209386168352928152828220848352905220545b9392505050565b60006124e661262f565b6124f3602083018361458d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125855733612533602084018461458d565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b600061259861259384615672565b612811565b6000818152600160205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016126245760008181526001602081905260408083209290925590519092507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061261b9033908690859061574e565b60405180910390a15b50610b5e6001600055565b60026000540361269b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027b565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261277e9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613645565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261035a9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016126fc565b600081516000036127ed57506000919050565b506020015160001a90565b6000806128058484613754565b5160001a949350505050565b6000816040516020016128249190615853565b604051602081830303815290604052805190602001209050919050565b61284a81613785565b61288257806040517f644cc25800000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c0810191909152600061290787612811565b60408051600480825260a08201909252919250606091600091816020015b606081526020019060019003908161292557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff92831681830152918916606083015260808201905290915081600180038151811061298d5761298d6152f1565b6020026020010181905250612b22896060015189815181106129b1576129b16152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a815181106129e9576129e96152f1565b60200260200101516020015160ff168b606001518b81518110612a0e57612a0e6152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612a7557612a756152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612ad357612ad36152f1565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612b3857612b386152f1565b6020026020010181905250612c7e89608001518881518110612b5c57612b5c6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612b9457612b946152f1565b60200260200101516020015160ff168b608001518a81518110612bb957612bb96152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612c2057612c206152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612ad357612ad36152f1565b81600160040381518110612c9457612c946152f1565b6020026020010181905250612ca981866137b5565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98c6040015160200151612d0f863060009182526020526040902090565b612d208f6040015160400151613ac5565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16909152612d6c939291908a90602481016158e2565b600060405180830381865afa158015612d89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612dcf919081019061598a565b91509150600082600181518110612de857612de86152f1565b60200260200101519050600083600081518110612e0757612e076152f1565b602002602001015190506000600260008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612e6e57612e6e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612ecc57612ecc6152f1565b60200260200101516040015181526020019081526020016000205490506000612f258f608001518e81518110612f0457612f046152f1565b60200260200101516020015160ff16600084612fae9092919063ffffffff16565b905080841115612f33578093505b50506040805160028152602081018490528082018390526060810190915286600281518110612f6457612f646152f1565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b60008260121115612fe35760128390036002831615612fd957612fd18582613aee565b9150506124d5565b612fd18582613b74565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561302257612fd18582613bac565b612fd18582613bfa565b50826124d5565b60006130498484670de0b6b3a764000085613c1d565b949350505050565b60008260121115613074576012839003600183161561302257612fd18582613bac565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612fd957612fd18582613aee565b8281608001516003815181106130cb576130cb6152f1565b60200260200101516004815181106130e5576130e56152f1565b602002602001018181525050818160800151600481518110613109576131096152f1565b6020026020010151600481518110613123576131236152f1565b602090810291909101015282156132315780515173ffffffffffffffffffffffffffffffffffffffff16600090815260026020526040812060808301518051869391906003908110613177576131776152f1565b6020026020010151600081518110613191576131916152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106131ec576131ec6152f1565b6020026020010151600281518110613206576132066152f1565b60200260200101518152602001908152602001600020600082825461322b9190614e18565b90915550505b81156133345780515173ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604081206080830151805185939190600490811061327a5761327a6152f1565b6020026020010151600081518110613294576132946152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106132ef576132ef6152f1565b6020026020010151600281518110613309576133096152f1565b60200260200101518152602001908152602001600020600082825461332e919061543d565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f3382608001516040516133699291906159ee565b60405180910390a1505050565b60c08101515115613403578060000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016133d0929190615a1d565b600060405180830381600087803b1580156133ea57600080fd5b505af11580156133fe573d6000803e3d6000fd5b505050505b80516020015115612882576000808260000151604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98460000151604001516020015161345e8660a001513060009182526020526040902090565b61347387600001516040015160400151613c7a565b6080880151604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e088901b169091526134c39493929190602481016158e2565b600060405180830381865afa1580156134e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613526919081019061598a565b805191935091501561035a578260000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161357d929190615a1d565b600060405180830381600087803b15801561359757600080fd5b505af11580156135ab573d6000803e3d6000fd5b50505050505050565b6135df6040518060800160405280600081526020016000815260200160008152602001600081525090565b6135e98383613ca5565b825260408201526135fa8284613ca5565b6020830152606082015292915050565b60606124d58383604051806060016040528060278152602001615c4260279139613d6a565b600081831061363e57816124d5565b5090919050565b60006136a7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613def9092919063ffffffff16565b90508051600014806136c85750808060200190518101906136c89190615a36565b61035a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161027b565b600080613760846127da565b600202600101905060006137748585613dfe565b949091019093016020019392505050565b600060088251101561379957506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff8111156137d3576137d3614620565b6040519080825280602002602001820160405280156137fc578160200160208202803683370190505b509050600080845111613810576000613816565b83516001015b855160010101905060008167ffffffffffffffff81111561383957613839614620565b60405190808252806020026020018201604052801561386c57816020015b60608152602001906001900390816138575790505b5090506000613891604080516002815233602082015230818301526060810190915290565b8282815181106138a3576138a36152f1565b602002602001018190525060005b87518110156139015781806001019250508781815181106138d4576138d46152f1565b60200260200101518383815181106138ee576138ee6152f1565b60209081029190910101526001016138b1565b50855115613abb57808060010191505083828281518110613924576139246152f1565b602002602001018190525060005b8651811015613ab9576139e3878281518110613950576139506152f1565b6020026020010151600001516139c061398d8a8581518110613974576139746152f1565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b8984815181106139d2576139d26152f1565b602002602001015160400151613e55565b613a1c576040517f52bf98480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b868181518110613a2e57613a2e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613a6257613a626152f1565b6020026020010181815250508180600101925050868181518110613a8857613a886152f1565b602002602001015160200151838381518110613aa657613aa66152f1565b6020908102919091010152600101613932565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff000000001660021761054f565b6000604e8210613b2e578215613b24577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613b27565b60005b905061054f565b50600a81900a8281029083818381613b4857613b48615a53565b0414612320577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613049565b600a81900a613b838184615a82565b9050604e821061054f578215613ba357613b9e82600a615bb9565b6124d5565b50600092915050565b6000604e8210613bd0578215613bc3576001613bc6565b60005b60ff16905061054f565b600a82900a808481613be457613be4615a53565b0491508082028414612320575060010192915050565b6000604e821015613ba35781600a0a8381613c1757613c17615a53565b046124d5565b600080613c2b868686613ec6565b90506001836002811115613c4157613c41615bc5565b148015613c5e575060008480613c5957613c59615a53565b868809115b15613c7157613c6e600182614e18565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff00000000161761054f565b6000806000613cc88460600151600186604001516130339092919063ffffffff16565b604086015190915081811115613cdb5750805b613d1d866000015160800151876020015181518110613cfc57613cfc6152f1565b60200260200101516020015160ff166000836130519092919063ffffffff16565b92506000613d3b87606001516001846130339092919063ffffffff16565b9050613d5e86600001516080015187602001518151811061163a5761163a6152f1565b94505050509250929050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613d949190615bf4565b600060405180830381855af49150503d8060008114613dcf576040519150601f19603f3d011682016040523d82523d6000602084013e613dd4565b606091505b5091509150613de586838387613ff0565b9695505050505050565b60606130498484600085614090565b6000613e09836127da565b8210613e455782826040517f30489add00000000000000000000000000000000000000000000000000000000815260040161027b929190615c06565b50600202016003015161ffff1690565b6000806000613e6485856141a9565b90925090506000816004811115613e7d57613e7d615bc5565b148015613eb557508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613de55750613de58686866141ee565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003613f1e57838281613f1457613f14615a53565b04925050506124d5565b808411613f87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f770000000000000000000000604482015260640161027b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561408657825160000361407f5773ffffffffffffffffffffffffffffffffffffffff85163b61407f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027b565b5081613049565b613049838361434b565b606082471015614122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161027b565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161414b9190615bf4565b60006040518083038185875af1925050503d8060008114614188576040519150601f19603f3d011682016040523d82523d6000602084013e61418d565b606091505b509150915061419e87838387613ff0565b979650505050505050565b60008082516041036141df5760208301516040840151606085015160001a6141d38782858561438f565b945094505050506141e7565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614225929190615c28565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516142ae9190615bf4565b600060405180830381855afa9150503d80600081146142e9576040519150601f19603f3d011682016040523d82523d6000602084013e6142ee565b606091505b509150915081801561430257506020815110155b8015613de5575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906143409083016020908101908401614ec6565b149695505050505050565b81511561435b5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156143c65750600090506003614475565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561441a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661446e57600060019250925050614475565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461288257600080fd5b6000806000606084860312156144b557600080fd5b83356144c08161447e565b95602085013595506040909401359392505050565b6000602082840312156144e757600080fd5b5035919050565b60008060008060006080868803121561450657600080fd5b85356145118161447e565b945060208601356145218161447e565b935060408601359250606086013567ffffffffffffffff8082111561454557600080fd5b818801915088601f83011261455957600080fd5b81358181111561456857600080fd5b89602082850101111561457a57600080fd5b9699959850939650602001949392505050565b60006020828403121561459f57600080fd5b81356124d58161447e565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff8111156145d357600080fd5b8201608081850312156124d557600080fd5b6000602082840312156145f757600080fd5b813567ffffffffffffffff81111561460e57600080fd5b820160a081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561467257614672614620565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156146bf576146bf614620565b604052919050565b801515811461288257600080fd5b8035610b5e816146c7565b6000606082840312156146f257600080fd5b6146fa61464f565b905081356147078161447e565b815260208201356147178161447e565b6020820152604082013561472a8161447e565b604082015292915050565b600067ffffffffffffffff82111561474f5761474f614620565b5060051b60200190565b803560ff81168114610b5e57600080fd5b60006060828403121561477c57600080fd5b61478461464f565b905081356147918161447e565b815261479f60208301614759565b60208201526040820135604082015292915050565b600082601f8301126147c557600080fd5b813560206147da6147d583614735565b614678565b828152606092830285018201928282019190878511156147f957600080fd5b8387015b8581101561481c5761480f898261476a565b84529284019281016147fd565b5090979650505050505050565b600060e0828403121561483b57600080fd5b60405160a0810167ffffffffffffffff828210818311171561485f5761485f614620565b81604052829350843591506148738261447e565b818352614882602086016146d5565b602084015261489486604087016146e0565b604084015260a08501359150808211156148ad57600080fd5b6148b9868387016147b4565b606084015260c08501359150808211156148d257600080fd5b506148df858286016147b4565b6080830152505092915050565b600067ffffffffffffffff82111561490657614906614620565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261494357600080fd5b81356149516147d5826148ec565b81815284602083860101111561496657600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261499457600080fd5b813560206149a46147d583614735565b82815260059290921b840181019181810190868411156149c357600080fd5b8286015b84811015614ae857803567ffffffffffffffff808211156149e757600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614a1e5760008081fd5b614a2661464f565b86830135614a338161447e565b815260408381013583811115614a495760008081fd5b8401603f81018d13614a5b5760008081fd5b88810135614a6b6147d582614735565b81815260059190911b82018301908a8101908f831115614a8b5760008081fd5b928401925b82841015614aa95783358252928b0192908b0190614a90565b858c0152505050606084013583811115614ac35760008081fd5b614ad18d8a83880101614932565b9183019190915250855250509183019183016149c7565b509695505050505050565b6000806000806000858703610140811215614b0d57600080fd5b863567ffffffffffffffff80821115614b2557600080fd5b614b318a838b01614829565b97506020890135915080821115614b4757600080fd5b614b538a838b01614829565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614b8557600080fd5b604089019550610100890135925080831115614ba057600080fd5b614bac8a848b01614983565b9450610120890135925080831115614bc357600080fd5b5050614bd188828901614983565b9150509295509295909350565b60008060208385031215614bf157600080fd5b823567ffffffffffffffff80821115614c0957600080fd5b818501915085601f830112614c1d57600080fd5b813581811115614c2c57600080fd5b8660208260051b8501011115614c4157600080fd5b60209290920196919550909350505050565b60005b83811015614c6e578181015183820152602001614c56565b50506000910152565b60008151808452614c8f816020860160208601614c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614d34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614d22858351614c77565b94509285019290850190600101614ce8565b5092979650505050505050565b600080600060608486031215614d5657600080fd5b8335614d618161447e565b92506020840135614d718161447e565b929592945050506040919091013590565b60008060408385031215614d9557600080fd5b8235614da08161447e565b946020939093013593505050565b600060208284031215614dc057600080fd5b813567ffffffffffffffff811115614dd757600080fd5b820160e081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561054f5761054f614de9565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614eba60a083018486614e2b565b98975050505050505050565b600060208284031215614ed857600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614f1357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614f5257600080fd5b83018035915067ffffffffffffffff821115614f6d57600080fd5b6020019150368190038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614fb757600080fd5b83018035915067ffffffffffffffff821115614fd257600080fd5b60200191506060810236038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261501e57600080fd5b83018035915067ffffffffffffffff82111561503957600080fd5b6020019150600581901b36038213156141e757600080fd5b604081526000615065604083018688614e2b565b82810360208401528381527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84111561509d57600080fd5b8360051b80866020840137016020019695505050505050565b600080600080608085870312156150cc57600080fd5b84516150d78161447e565b60208601519094506150e88161447e565b60408601519093506150f98161447e565b606086015190925067ffffffffffffffff81111561511657600080fd5b8501601f8101871361512757600080fd5b80516151356147d5826148ec565b81815288602083850101111561514a57600080fd5b61515b826020830160208601614c53565b9598949750929550505050565b60006060828403121561517a57600080fd5b6124d5838361476a565b600081518084526020808501945080840160005b838110156151e3578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff16848901526040908101519088015260609096019590820190600101615198565b509495945050505050565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261525860e0850182615184565b9050608083015184820360c0860152613c718282615184565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526152aa60808301856151ee565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613de5606083018486614e2b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614f1357600080fd5b60006080823603121561536657600080fd5b6040516080810167ffffffffffffffff828210818311171561538a5761538a614620565b81604052843591508082111561539f57600080fd5b6153ab36838701614829565b8352602085013560208401526040850135604084015260608501359150808211156153d557600080fd5b506153e236828601614983565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21833603018112614f1357600080fd5b60006020828403121561543457600080fd5b6124d582614759565b8181038181111561054f5761054f614de9565b600081518084526020808501945080840160005b838110156151e357815187529582019590820190600101615464565b600073ffffffffffffffffffffffffffffffffffffffff8087168352602060808185015286516080808601526154ba6101008601826151ee565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615593577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b85015261556788850182615450565b91890151848303858b015291905061557f8183614c77565b968b0196958b01959350505060010161551b565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526155e0818401876151ee565b905082810360408401526155f481866151ee565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566b5761566b614de9565b5060010190565b600061054f3683614829565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126156b357600080fd5b830160208101925035905067ffffffffffffffff8111156156d357600080fd5b6060810236038213156141e757600080fd5b8183526000602080850194508260005b858110156151e35781356157088161447e565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61572d838501614759565b168784015260408281013590880152606096870196909101906001016156f5565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561577c8161447e565b811660608401526020850135615791816146c7565b1515608084015260408501356157a68161447e565b811660a084015260608501356157bb8161447e565b811660c084015260808501356157d08161447e565b1660e08301526157e360a085018561567e565b60e06101008501526157fa610140850182846156e5565b91505061580a60c086018661567e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526158408382846156e5565b9350505050826040830152949350505050565b6020815260006124d560208301846151ee565b6020815260006124d56020830184614c77565b600082825180855260208086019550808260051b84010181860160005b8481101561481c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08684030189526158d0838351615450565b98840198925090830190600101615896565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260a06060820152600061591d60a0830185615879565b8281036080840152614eba8185615450565b600082601f83011261594057600080fd5b815160206159506147d583614735565b82815260059290921b8401810191818101908684111561596f57600080fd5b8286015b84811015614ae85780518352918301918301615973565b6000806040838503121561599d57600080fd5b825167ffffffffffffffff808211156159b557600080fd5b6159c18683870161592f565b935060208501519150808211156159d757600080fd5b506159e48582860161592f565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006130496040830184615879565b8281526040602082015260006130496040830184615450565b600060208284031215615a4857600080fd5b81516124d5816146c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761054f5761054f614de9565b600181815b80851115615af257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615ad857615ad8614de9565b80851615615ae557918102915b93841c9390800290615a9e565b509250929050565b600082615b095750600161054f565b81615b165750600061054f565b8160018114615b2c5760028114615b3657615b52565b600191505061054f565b60ff841115615b4757615b47614de9565b50506001821b61054f565b5060208310610133831016604e8410600b8410161715615b75575081810a61054f565b615b7f8383615a99565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615bb157615bb1614de9565b029392505050565b60006124d58383615afa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251614f13818460208701614c53565b604081526000615c196040830185614c77565b90508260208301529392505050565b8281526040602082015260006130496040830184614c7756fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "10600:36632:172:-:0;;;12442:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;8010:75:172;1821:22:22;1109:11:71;;;;8018:66:172;;12567:6;;1075:46:71;;8018:66:172;;1075:23:71;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;12442:139:172;10600:36632;;1424:292:153;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:153;;;;;3007:25:227;;;3048:18;;;3041:34;;;2980:18;;1619:46:153;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1111:293:88:-;1174:26;;;;-1:-1:-1;;;;;1280:49:88;;;1174:26;1334:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1334:16:88;;1280:71;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1280:71:88;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;1111:293:88:o;1075:155:153:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:153;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:153;;550:376;-1:-1:-1;550:376:153:o;631:34::-;-1:-1:-1;846:1:153;835:13;829:20;-1:-1:-1;;;;;825:32:153;667:18:152;883:36:153;;550:376::o;14:127:227:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:227;;211:42;;201:70;;267:1;264;257:12;282:250;367:1;377:113;391:6;388:1;385:13;377:113;;;467:11;;;461:18;448:11;;;441:39;413:2;406:10;377:113;;;-1:-1:-1;;524:1:227;506:16;;499:27;282:250::o;537:698::-;590:5;643:3;636:4;628:6;624:17;620:27;610:55;;661:1;658;651:12;610:55;684:13;;-1:-1:-1;;;;;746:10:227;;;743:36;;;759:18;;:::i;:::-;834:2;828:9;802:2;888:13;;-1:-1:-1;;884:22:227;;;908:2;880:31;876:40;864:53;;;932:18;;;952:22;;;929:46;926:72;;;978:18;;:::i;:::-;1018:10;1014:2;1007:22;1053:2;1045:6;1038:18;1099:3;1092:4;1087:2;1079:6;1075:15;1071:26;1068:35;1065:55;;;1116:1;1113;1106:12;1065:55;1129:76;1202:2;1195:4;1187:6;1183:17;1176:4;1168:6;1164:17;1129:76;:::i;:::-;1223:6;537:698;-1:-1:-1;;;;;;537:698:227:o;1240:923::-;1373:6;1426:2;1414:9;1405:7;1401:23;1397:32;1394:52;;;1442:1;1439;1432:12;1394:52;1469:16;;-1:-1:-1;;;;;1534:14:227;;;1531:34;;;1561:1;1558;1551:12;1531:34;1584:22;;;;1640:4;1622:16;;;1618:27;1615:47;;;1658:1;1655;1648:12;1615:47;1691:4;1685:11;1735:4;1727:6;1723:17;1790:6;1778:10;1775:22;1770:2;1758:10;1755:18;1752:46;1749:72;;;1801:18;;:::i;:::-;1837:4;1830:24;1876:9;;1894:31;1876:9;1894:31;:::i;:::-;1934:21;;1994:2;1986:11;;1980:18;2010:16;;;2007:36;;;2039:1;2036;2029:12;2007:36;2076:55;2123:7;2112:8;2108:2;2104:17;2076:55;:::i;:::-;2071:2;2059:15;;2052:80;-1:-1:-1;2063:6:227;1240:923;-1:-1:-1;;;;;1240:923:227:o;2168:270::-;2209:3;2247:5;2241:12;2274:6;2269:3;2262:19;2290:76;2359:6;2352:4;2347:3;2343:14;2336:4;2329:5;2325:16;2290:76;:::i;:::-;2420:2;2399:15;-1:-1:-1;;2395:29:227;2386:39;;;;2427:4;2382:50;;2168:270;-1:-1:-1;;2168:270:227:o;2443:385::-;2675:1;2671;2666:3;2662:11;2658:19;2650:6;2646:32;2635:9;2628:51;2715:6;2710:2;2699:9;2695:18;2688:34;2758:2;2753;2742:9;2738:18;2731:30;2609:4;2778:44;2818:2;2807:9;2803:18;2795:6;2778:44;:::i;:::-;2770:52;2443:385;-1:-1:-1;;;;;2443:385:227:o;3086:827::-;3365:2;3354:9;3347:21;3404:1;3399:2;3388:9;3384:18;3377:29;3328:4;3449:2;3438:9;3434:18;3471:4;3511:2;3506;3495:9;3491:18;3484:30;3534:11;3574:6;3568:13;3610:6;3597:11;3590:27;3648:3;3637:9;3633:19;3626:26;;3687:2;3679:6;3675:15;3661:29;;3708:1;3718:169;3732:6;3729:1;3726:13;3718:169;;;3793:13;;3781:26;;3862:15;;;;3827:12;;;;3754:1;3747:9;3718:169;;;-1:-1:-1;3904:3:227;;3086:827;-1:-1:-1;;;;;;3086:827:227:o;3918:785::-;4077:6;4085;4093;4101;4154:3;4142:9;4133:7;4129:23;4125:33;4122:53;;;4171:1;4168;4161:12;4122:53;4203:9;4197:16;4222:31;4247:5;4222:31;:::i;:::-;4322:2;4307:18;;4301:25;4272:5;;-1:-1:-1;4335:33:227;4301:25;4335:33;:::i;:::-;4439:2;4424:18;;4418:25;4387:7;;-1:-1:-1;4452:33:227;4418:25;4452:33;:::i;:::-;4555:2;4540:18;;4534:25;4504:7;;-1:-1:-1;;;;;;4571:30:227;;4568:50;;;4614:1;4611;4604:12;4568:50;4637:60;4689:7;4680:6;4669:9;4665:22;4637:60;:::i;:::-;4627:70;;;3918:785;;;;;;;:::o;4708:217::-;4855:2;4844:9;4837:21;4818:4;4875:44;4915:2;4904:9;4900:18;4892:6;4875:44;:::i;:::-;4867:52;4708:217;-1:-1:-1;;;4708:217:227:o;:::-;10600:36632:172;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101dc578063d9d98ce4146101ef578063e23746a31461020557600080fd5b80639e18968b14610196578063ac9650d8146101a9578063b5c5f672146101c957600080fd5b8063613255ab116100b2578063613255ab1461013a578063847a1bc91461015b5780638a44689c1461016e57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610127575b600080fd5b6100ec6100e73660046144a0565b610218565b005b6101126100fc3660046144d5565b6000908152600160208190526040909120541490565b60405190151581526020015b60405180910390f35b6101126101353660046144ee565b61035f565b61014d61014836600461458d565b6104be565b60405190815260200161011e565b6101126101693660046145aa565b610555565b61018161017c3660046145e5565b610b63565b6040805192835260208301919091520161011e565b6100ec6101a4366004614af3565b611ae8565b6101bc6101b7366004614bde565b612232565b60405161011e9190614cc1565b6100ec6101d73660046144a0565b612327565b61014d6101ea366004614d41565b612499565b61014d6101fd366004614d82565b600092915050565b610112610213366004614dae565b6124dc565b61022061262f565b80600003610284576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a161030373ffffffffffffffffffffffffffffffffffffffff84163330846126a2565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120805483929061034b908490614e18565b90915550506001600055505050565b505050565b600061038273ffffffffffffffffffffffffffffffffffffffff86168786612784565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906103e19033908a908a9087908b908b90600401614e74565b6020604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104249190614ec6565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610482576040517f5b62c5480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b6104b18730610492600089614e18565b73ffffffffffffffffffffffffffffffffffffffff8a169291906126a2565b5060019695505050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190614ec6565b92915050565b600061055f61262f565b60006105b96105716040850185614edf565b61057f906020810190614f1d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127da92505050565b9050806000036105f5576040517fb3fc422c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060010361062f576040517ff209c2f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106398380614f82565b9050600003610674576040517f6c44ef8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106816020840184614f82565b90506000036106bc576040517f540e5f0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080806106ce6040880188614edf565b6106dc90602081019061458d565b73ffffffffffffffffffffffffffffffffffffffff1663b7f1440361070460408a018a614edf565b610712906020810190614f1d565b61071f60408c018c614edf565b61072d906040810190614fe9565b6040518563ffffffff1660e01b815260040161074c9493929190615051565b6000604051808303816000875af115801561076b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107b191908101906150b6565b602081015193975091955093509150600081901a90600181901a9060021a821561080a576040517f9a6f079e0000000000000000000000000000000000000000000000000000000081526004810184905260240161027b565b6002821015610848576040517f3eee39540000000000000000000000000000000000000000000000000000000081526004810183905260240161027b565b8015610883576040517f9d5f70980000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b50505060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600061090f8b80604001906108c49190614edf565b6108d2906020810190614f1d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506127f8915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff808a16825288811660208381019190915290881682840152830152016109578a80614f82565b808060200260200160405190810160405280939291908181526020016000905b828210156109a35761099460608302860136819003810190615168565b81526020019060010190610977565b505050505081526020018980602001906109bd9190614f82565b808060200260200160405190810160405280939291908181526020016000905b82821015610a09576109fa60608302860136819003810190615168565b815260200190600101906109dd565b505050505081525090506000610a1e82612811565b600081815260016020526040902054909150610b4d5760008181526001602081905260409182902081905598507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610a7b908c018c614edf565b610a8990602081019061458d565b8484604051610a9b9493929190615271565b60405180910390a16000610ab260608b018b614f1d565b90501115610b4d57610b04610aca60608b018b614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061284192505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610b3460608d018d614f1d565b604051610b4494939291906152bb565b60405180910390a15b50505050505050610b5e6001600055565b919050565b600080610b6e61262f565b610b7b6060840184614fe9565b9050600003610bb6576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e085018190526101008501819052918452830182905292820152818101919091526040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260606000610c6787830188614fe9565b6040805160206001939093018302810190915293508801359150506000819003610cbd576040517fc2ee700900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b610ccd6060890189614fe9565b905081108015610cdd5750600082115b156116f257610cef6060890189614fe9565b82818110610cff57610cff6152f1565b9050602002810190610d119190615320565b610d1a90615354565b80519095509350610d2e6060890189614fe9565b6000818110610d3f57610d3f6152f1565b9050602002810190610d519190615320565b610d5b90806153ee565b610d699060a0810190614f82565b610d7660608b018b614fe9565b6000818110610d8757610d876152f1565b9050602002810190610d999190615320565b60200135818110610dac57610dac6152f1565b610dc2926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460600151866020015181518110610df257610df26152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610f32578360600151856020015181518110610e3357610e336152f1565b602090810291909101015151610e4c60608a018a614fe9565b6000818110610e5d57610e5d6152f1565b9050602002810190610e6f9190615320565b610e7990806153ee565b610e879060a0810190614f82565b610e9460608c018c614fe9565b6000818110610ea557610ea56152f1565b9050602002810190610eb79190615320565b60200135818110610eca57610eca6152f1565b610ee0926020606090920201908101915061458d565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b610f3f6060890189614fe9565b6000818110610f5057610f506152f1565b9050602002810190610f629190615320565b610f6c90806153ee565b610f7a9060c0810190614f82565b610f8760608b018b614fe9565b6000818110610f9857610f986152f1565b9050602002810190610faa9190615320565b60400135818110610fbd57610fbd6152f1565b610fd3926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460800151866040015181518110611003576110036152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146110db578360800151856040015181518110611044576110446152f1565b60209081029190910101515161105d60608a018a614fe9565b600081811061106e5761106e6152f1565b90506020028101906110809190615320565b61108a90806153ee565b6110989060c0810190614f82565b6110a560608c018c614fe9565b60008181106110b6576110b66152f1565b90506020028101906110c89190615320565b60400135818110610eca57610eca6152f1565b6110e86060890189614fe9565b60008181106110f9576110f96152f1565b905060200281019061110b9190615320565b61111590806153ee565b6111239060a0810190614f82565b61113060608b018b614fe9565b6000818110611141576111416152f1565b90506020028101906111539190615320565b60200135818110611166576111666152f1565b905060600201602001602081019061117e9190615422565b60ff16846060015186602001518151811061119b5761119b6152f1565b60200260200101516020015160ff16146112ba5783606001518560200151815181106111c9576111c96152f1565b6020026020010151602001518880606001906111e59190614fe9565b60008181106111f6576111f66152f1565b90506020028101906112089190615320565b61121290806153ee565b6112209060a0810190614f82565b61122d60608c018c614fe9565b600081811061123e5761123e6152f1565b90506020028101906112509190615320565b60200135818110611263576112636152f1565b905060600201602001602081019061127b9190615422565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff92831660048201529116602482015260440161027b565b6112c76060890189614fe9565b60008181106112d8576112d86152f1565b90506020028101906112ea9190615320565b6112f490806153ee565b6113029060c0810190614f82565b61130f60608b018b614fe9565b6000818110611320576113206152f1565b90506020028101906113329190615320565b60400135818110611345576113456152f1565b905060600201602001602081019061135d9190615422565b60ff16846080015186604001518151811061137a5761137a6152f1565b60200260200101516020015160ff16146114425783608001518560400151815181106113a8576113a86152f1565b6020026020010151602001518880606001906113c49190614fe9565b60008181106113d5576113d56152f1565b90506020028101906113e79190615320565b6113f190806153ee565b6113ff9060c0810190614f82565b61140c60608c018c614fe9565b600081811061141d5761141d6152f1565b905060200281019061142f9190615320565b60400135818110611263576112636152f1565b600061144d85612811565b6000818152600160205260409020549091506114c05784516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a16116e9565b60006114db8688602001518960400151338b60600151612885565b905089604001358160600151111561154b5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a16116e7565b80604001516000036115ac5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa9060600161153e565b600086608001518860400151815181106115c8576115c86152f1565b6020908102919091018101510151604083015190915060006115ef8760ff85166002612fae565b9050808211156115fd578091505b5060008061161b85606001516001856130339092919063ffffffff16565b905061165b8a606001518c602001518151811061163a5761163a6152f1565b60200260200101516020015160ff166001836130519092919063ffffffff16565b9150600090506116708360ff86166002613051565b905061167c818961543d565b9750611688828d614e18565b9b506116958282876130b3565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338c83856040516116ca9493929190615480565b60405180910390a150508651600101808852602002870183905250505b505b50600101610cc0565b6117008260208a013561543d565b965050508535851015611749576040517f45094d88000000000000000000000000000000000000000000000000000000008152863560048201526024810186905260440161027b565b841561181257611812338661176160608a018a614fe9565b6000818110611772576117726152f1565b90506020028101906117849190615320565b61178e90806153ee565b61179c9060c0810190614f82565b6117a960608c018c614fe9565b60008181106117ba576117ba6152f1565b90506020028101906117cc9190615320565b604001358181106117df576117df6152f1565b6117f5926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169190612784565b60006118216080880188614f1d565b905011156119d4573363059bebe661183c6060890189614fe9565b600081811061184d5761184d6152f1565b905060200281019061185f9190615320565b61186990806153ee565b6118779060c0810190614f82565b61188460608b018b614fe9565b6000818110611895576118956152f1565b90506020028101906118a79190615320565b604001358181106118ba576118ba6152f1565b6118d0926020606090920201908101915061458d565b6118dd60608a018a614fe9565b60008181106118ee576118ee6152f1565b90506020028101906119009190615320565b61190a90806153ee565b6119189060a0810190614f82565b61192560608c018c614fe9565b6000818110611936576119366152f1565b90506020028101906119489190615320565b6020013581811061195b5761195b6152f1565b611971926020606090920201908101915061458d565b888861198060808d018d614f1d565b6040518763ffffffff1660e01b81526004016119a196959493929190614e74565b600060405180830381600087803b1580156119bb57600080fd5b505af11580156119cf573d6000803e3d6000fd5b505050505b8315611a9f57611a9f3330866119ed60608b018b614fe9565b60008181106119fe576119fe6152f1565b9050602002810190611a109190615320565b611a1a90806153ee565b611a289060a0810190614f82565b611a3560608d018d614fe9565b6000818110611a4657611a466152f1565b9050602002810190611a589190615320565b60200135818110611a6b57611a6b6152f1565b611a81926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169291906126a2565b60005b8151811015611ad557611acd828281518110611ac057611ac06152f1565b6020026020010151613376565b600101611aa2565b50505050611ae36001600055565b915091565b611af061262f565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611b605784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161027b565b8360600151836040013581518110611b7a57611b7a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bb657611bb66152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611c7b578460800151836020013581518110611bf757611bf76152f1565b6020026020010151600001518460600151846040013581518110611c1d57611c1d6152f1565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b8360600151836040013581518110611c9557611c956152f1565b60200260200101516020015160ff168560800151846020013581518110611cbe57611cbe6152f1565b60200260200101516020015160ff1614611d61578460800151836020013581518110611cec57611cec6152f1565b6020026020010151602001518460600151846040013581518110611d1257611d126152f1565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161027b92919060ff92831681529116602082015260400190565b606085015180518435908110611d7957611d796152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611db557611db56152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e1a57606085015180518435908110611df457611df46152f1565b6020026020010151600001518460800151846060013581518110611c1d57611c1d6152f1565b606085015180518435908110611e3257611e326152f1565b60200260200101516020015160ff168460800151846060013581518110611e5b57611e5b6152f1565b60200260200101516020015160ff1614611ead57606085015180518435908110611e8757611e876152f1565b6020026020010151602001518460800151846060013581518110611d1257611d126152f1565b600060016000611ebc88612811565b81526020019081526020016000205403611f3b577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f0088612811565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1612221565b600060016000611f4a87612811565b81526020019081526020016000205403611f8e577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f0087612811565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa233868686604051611fc394939291906155b0565b60405180910390a16000611fe68685600001358660200135886000015186612885565b9050600061200386866040013587606001358a6000015188612885565b9050600061201183836135b4565b905061202681604001518260000151856130b3565b61203981606001518260200151846130b3565b6060810151815160009161204c9161543d565b9050600082604001518360200151612064919061543d565b9050811561210a57336000908152600260209081526040822060808d01518051869492938d013590811061209a5761209a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60800135815260200190815260200160002060008282546121049190614e18565b90915550505b80156121ae5733600090815260026020526040812060808b015180518493919060608d013590811061213e5761213e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121a89190614e18565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a161221483613376565b61221d82613376565b5050505b61222b6001600055565b5050505050565b60608167ffffffffffffffff81111561224d5761224d614620565b60405190808252806020026020018201604052801561228057816020015b606081526020019060019003908161226b5790505b50905060005b82811015612320576122f0308585848181106122a4576122a46152f1565b90506020028101906122b69190614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061360a92505050565b828281518110612302576123026152f1565b602002602001018190525080806123189061563a565b915050612286565b5092915050565b61232f61262f565b8060000361238e576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff841660248201526044810183905260640161027b565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684528252808320858452909152812054906123d2838361362f565b9050801561248d576123e4818361543d565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a161248d73ffffffffffffffffffffffffffffffffffffffff86163383612784565b505061035a6001600055565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526002602090815260408083209386168352928152828220848352905220545b9392505050565b60006124e661262f565b6124f3602083018361458d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125855733612533602084018461458d565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b600061259861259384615672565b612811565b6000818152600160205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016126245760008181526001602081905260408083209290925590519092507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061261b9033908690859061574e565b60405180910390a15b50610b5e6001600055565b60026000540361269b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027b565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261277e9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613645565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261035a9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016126fc565b600081516000036127ed57506000919050565b506020015160001a90565b6000806128058484613754565b5160001a949350505050565b6000816040516020016128249190615853565b604051602081830303815290604052805190602001209050919050565b61284a81613785565b61288257806040517f644cc25800000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c0810191909152600061290787612811565b60408051600480825260a08201909252919250606091600091816020015b606081526020019060019003908161292557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff92831681830152918916606083015260808201905290915081600180038151811061298d5761298d6152f1565b6020026020010181905250612b22896060015189815181106129b1576129b16152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a815181106129e9576129e96152f1565b60200260200101516020015160ff168b606001518b81518110612a0e57612a0e6152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612a7557612a756152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612ad357612ad36152f1565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612b3857612b386152f1565b6020026020010181905250612c7e89608001518881518110612b5c57612b5c6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612b9457612b946152f1565b60200260200101516020015160ff168b608001518a81518110612bb957612bb96152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612c2057612c206152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612ad357612ad36152f1565b81600160040381518110612c9457612c946152f1565b6020026020010181905250612ca981866137b5565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98c6040015160200151612d0f863060009182526020526040902090565b612d208f6040015160400151613ac5565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16909152612d6c939291908a90602481016158e2565b600060405180830381865afa158015612d89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612dcf919081019061598a565b91509150600082600181518110612de857612de86152f1565b60200260200101519050600083600081518110612e0757612e076152f1565b602002602001015190506000600260008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612e6e57612e6e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612ecc57612ecc6152f1565b60200260200101516040015181526020019081526020016000205490506000612f258f608001518e81518110612f0457612f046152f1565b60200260200101516020015160ff16600084612fae9092919063ffffffff16565b905080841115612f33578093505b50506040805160028152602081018490528082018390526060810190915286600281518110612f6457612f646152f1565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b60008260121115612fe35760128390036002831615612fd957612fd18582613aee565b9150506124d5565b612fd18582613b74565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561302257612fd18582613bac565b612fd18582613bfa565b50826124d5565b60006130498484670de0b6b3a764000085613c1d565b949350505050565b60008260121115613074576012839003600183161561302257612fd18582613bac565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612fd957612fd18582613aee565b8281608001516003815181106130cb576130cb6152f1565b60200260200101516004815181106130e5576130e56152f1565b602002602001018181525050818160800151600481518110613109576131096152f1565b6020026020010151600481518110613123576131236152f1565b602090810291909101015282156132315780515173ffffffffffffffffffffffffffffffffffffffff16600090815260026020526040812060808301518051869391906003908110613177576131776152f1565b6020026020010151600081518110613191576131916152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106131ec576131ec6152f1565b6020026020010151600281518110613206576132066152f1565b60200260200101518152602001908152602001600020600082825461322b9190614e18565b90915550505b81156133345780515173ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604081206080830151805185939190600490811061327a5761327a6152f1565b6020026020010151600081518110613294576132946152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106132ef576132ef6152f1565b6020026020010151600281518110613309576133096152f1565b60200260200101518152602001908152602001600020600082825461332e919061543d565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f3382608001516040516133699291906159ee565b60405180910390a1505050565b60c08101515115613403578060000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016133d0929190615a1d565b600060405180830381600087803b1580156133ea57600080fd5b505af11580156133fe573d6000803e3d6000fd5b505050505b80516020015115612882576000808260000151604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98460000151604001516020015161345e8660a001513060009182526020526040902090565b61347387600001516040015160400151613c7a565b6080880151604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e088901b169091526134c39493929190602481016158e2565b600060405180830381865afa1580156134e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613526919081019061598a565b805191935091501561035a578260000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161357d929190615a1d565b600060405180830381600087803b15801561359757600080fd5b505af11580156135ab573d6000803e3d6000fd5b50505050505050565b6135df6040518060800160405280600081526020016000815260200160008152602001600081525090565b6135e98383613ca5565b825260408201526135fa8284613ca5565b6020830152606082015292915050565b60606124d58383604051806060016040528060278152602001615c4260279139613d6a565b600081831061363e57816124d5565b5090919050565b60006136a7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613def9092919063ffffffff16565b90508051600014806136c85750808060200190518101906136c89190615a36565b61035a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161027b565b600080613760846127da565b600202600101905060006137748585613dfe565b949091019093016020019392505050565b600060088251101561379957506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff8111156137d3576137d3614620565b6040519080825280602002602001820160405280156137fc578160200160208202803683370190505b509050600080845111613810576000613816565b83516001015b855160010101905060008167ffffffffffffffff81111561383957613839614620565b60405190808252806020026020018201604052801561386c57816020015b60608152602001906001900390816138575790505b5090506000613891604080516002815233602082015230818301526060810190915290565b8282815181106138a3576138a36152f1565b602002602001018190525060005b87518110156139015781806001019250508781815181106138d4576138d46152f1565b60200260200101518383815181106138ee576138ee6152f1565b60209081029190910101526001016138b1565b50855115613abb57808060010191505083828281518110613924576139246152f1565b602002602001018190525060005b8651811015613ab9576139e3878281518110613950576139506152f1565b6020026020010151600001516139c061398d8a8581518110613974576139746152f1565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b8984815181106139d2576139d26152f1565b602002602001015160400151613e55565b613a1c576040517f52bf98480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b868181518110613a2e57613a2e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613a6257613a626152f1565b6020026020010181815250508180600101925050868181518110613a8857613a886152f1565b602002602001015160200151838381518110613aa657613aa66152f1565b6020908102919091010152600101613932565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff000000001660021761054f565b6000604e8210613b2e578215613b24577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613b27565b60005b905061054f565b50600a81900a8281029083818381613b4857613b48615a53565b0414612320577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613049565b600a81900a613b838184615a82565b9050604e821061054f578215613ba357613b9e82600a615bb9565b6124d5565b50600092915050565b6000604e8210613bd0578215613bc3576001613bc6565b60005b60ff16905061054f565b600a82900a808481613be457613be4615a53565b0491508082028414612320575060010192915050565b6000604e821015613ba35781600a0a8381613c1757613c17615a53565b046124d5565b600080613c2b868686613ec6565b90506001836002811115613c4157613c41615bc5565b148015613c5e575060008480613c5957613c59615a53565b868809115b15613c7157613c6e600182614e18565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff00000000161761054f565b6000806000613cc88460600151600186604001516130339092919063ffffffff16565b604086015190915081811115613cdb5750805b613d1d866000015160800151876020015181518110613cfc57613cfc6152f1565b60200260200101516020015160ff166000836130519092919063ffffffff16565b92506000613d3b87606001516001846130339092919063ffffffff16565b9050613d5e86600001516080015187602001518151811061163a5761163a6152f1565b94505050509250929050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613d949190615bf4565b600060405180830381855af49150503d8060008114613dcf576040519150601f19603f3d011682016040523d82523d6000602084013e613dd4565b606091505b5091509150613de586838387613ff0565b9695505050505050565b60606130498484600085614090565b6000613e09836127da565b8210613e455782826040517f30489add00000000000000000000000000000000000000000000000000000000815260040161027b929190615c06565b50600202016003015161ffff1690565b6000806000613e6485856141a9565b90925090506000816004811115613e7d57613e7d615bc5565b148015613eb557508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613de55750613de58686866141ee565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003613f1e57838281613f1457613f14615a53565b04925050506124d5565b808411613f87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f770000000000000000000000604482015260640161027b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561408657825160000361407f5773ffffffffffffffffffffffffffffffffffffffff85163b61407f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027b565b5081613049565b613049838361434b565b606082471015614122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161027b565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161414b9190615bf4565b60006040518083038185875af1925050503d8060008114614188576040519150601f19603f3d011682016040523d82523d6000602084013e61418d565b606091505b509150915061419e87838387613ff0565b979650505050505050565b60008082516041036141df5760208301516040840151606085015160001a6141d38782858561438f565b945094505050506141e7565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614225929190615c28565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516142ae9190615bf4565b600060405180830381855afa9150503d80600081146142e9576040519150601f19603f3d011682016040523d82523d6000602084013e6142ee565b606091505b509150915081801561430257506020815110155b8015613de5575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906143409083016020908101908401614ec6565b149695505050505050565b81511561435b5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156143c65750600090506003614475565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561441a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661446e57600060019250925050614475565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461288257600080fd5b6000806000606084860312156144b557600080fd5b83356144c08161447e565b95602085013595506040909401359392505050565b6000602082840312156144e757600080fd5b5035919050565b60008060008060006080868803121561450657600080fd5b85356145118161447e565b945060208601356145218161447e565b935060408601359250606086013567ffffffffffffffff8082111561454557600080fd5b818801915088601f83011261455957600080fd5b81358181111561456857600080fd5b89602082850101111561457a57600080fd5b9699959850939650602001949392505050565b60006020828403121561459f57600080fd5b81356124d58161447e565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff8111156145d357600080fd5b8201608081850312156124d557600080fd5b6000602082840312156145f757600080fd5b813567ffffffffffffffff81111561460e57600080fd5b820160a081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561467257614672614620565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156146bf576146bf614620565b604052919050565b801515811461288257600080fd5b8035610b5e816146c7565b6000606082840312156146f257600080fd5b6146fa61464f565b905081356147078161447e565b815260208201356147178161447e565b6020820152604082013561472a8161447e565b604082015292915050565b600067ffffffffffffffff82111561474f5761474f614620565b5060051b60200190565b803560ff81168114610b5e57600080fd5b60006060828403121561477c57600080fd5b61478461464f565b905081356147918161447e565b815261479f60208301614759565b60208201526040820135604082015292915050565b600082601f8301126147c557600080fd5b813560206147da6147d583614735565b614678565b828152606092830285018201928282019190878511156147f957600080fd5b8387015b8581101561481c5761480f898261476a565b84529284019281016147fd565b5090979650505050505050565b600060e0828403121561483b57600080fd5b60405160a0810167ffffffffffffffff828210818311171561485f5761485f614620565b81604052829350843591506148738261447e565b818352614882602086016146d5565b602084015261489486604087016146e0565b604084015260a08501359150808211156148ad57600080fd5b6148b9868387016147b4565b606084015260c08501359150808211156148d257600080fd5b506148df858286016147b4565b6080830152505092915050565b600067ffffffffffffffff82111561490657614906614620565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261494357600080fd5b81356149516147d5826148ec565b81815284602083860101111561496657600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261499457600080fd5b813560206149a46147d583614735565b82815260059290921b840181019181810190868411156149c357600080fd5b8286015b84811015614ae857803567ffffffffffffffff808211156149e757600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614a1e5760008081fd5b614a2661464f565b86830135614a338161447e565b815260408381013583811115614a495760008081fd5b8401603f81018d13614a5b5760008081fd5b88810135614a6b6147d582614735565b81815260059190911b82018301908a8101908f831115614a8b5760008081fd5b928401925b82841015614aa95783358252928b0192908b0190614a90565b858c0152505050606084013583811115614ac35760008081fd5b614ad18d8a83880101614932565b9183019190915250855250509183019183016149c7565b509695505050505050565b6000806000806000858703610140811215614b0d57600080fd5b863567ffffffffffffffff80821115614b2557600080fd5b614b318a838b01614829565b97506020890135915080821115614b4757600080fd5b614b538a838b01614829565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614b8557600080fd5b604089019550610100890135925080831115614ba057600080fd5b614bac8a848b01614983565b9450610120890135925080831115614bc357600080fd5b5050614bd188828901614983565b9150509295509295909350565b60008060208385031215614bf157600080fd5b823567ffffffffffffffff80821115614c0957600080fd5b818501915085601f830112614c1d57600080fd5b813581811115614c2c57600080fd5b8660208260051b8501011115614c4157600080fd5b60209290920196919550909350505050565b60005b83811015614c6e578181015183820152602001614c56565b50506000910152565b60008151808452614c8f816020860160208601614c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614d34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614d22858351614c77565b94509285019290850190600101614ce8565b5092979650505050505050565b600080600060608486031215614d5657600080fd5b8335614d618161447e565b92506020840135614d718161447e565b929592945050506040919091013590565b60008060408385031215614d9557600080fd5b8235614da08161447e565b946020939093013593505050565b600060208284031215614dc057600080fd5b813567ffffffffffffffff811115614dd757600080fd5b820160e081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561054f5761054f614de9565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614eba60a083018486614e2b565b98975050505050505050565b600060208284031215614ed857600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614f1357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614f5257600080fd5b83018035915067ffffffffffffffff821115614f6d57600080fd5b6020019150368190038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614fb757600080fd5b83018035915067ffffffffffffffff821115614fd257600080fd5b60200191506060810236038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261501e57600080fd5b83018035915067ffffffffffffffff82111561503957600080fd5b6020019150600581901b36038213156141e757600080fd5b604081526000615065604083018688614e2b565b82810360208401528381527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84111561509d57600080fd5b8360051b80866020840137016020019695505050505050565b600080600080608085870312156150cc57600080fd5b84516150d78161447e565b60208601519094506150e88161447e565b60408601519093506150f98161447e565b606086015190925067ffffffffffffffff81111561511657600080fd5b8501601f8101871361512757600080fd5b80516151356147d5826148ec565b81815288602083850101111561514a57600080fd5b61515b826020830160208601614c53565b9598949750929550505050565b60006060828403121561517a57600080fd5b6124d5838361476a565b600081518084526020808501945080840160005b838110156151e3578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff16848901526040908101519088015260609096019590820190600101615198565b509495945050505050565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261525860e0850182615184565b9050608083015184820360c0860152613c718282615184565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526152aa60808301856151ee565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613de5606083018486614e2b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614f1357600080fd5b60006080823603121561536657600080fd5b6040516080810167ffffffffffffffff828210818311171561538a5761538a614620565b81604052843591508082111561539f57600080fd5b6153ab36838701614829565b8352602085013560208401526040850135604084015260608501359150808211156153d557600080fd5b506153e236828601614983565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21833603018112614f1357600080fd5b60006020828403121561543457600080fd5b6124d582614759565b8181038181111561054f5761054f614de9565b600081518084526020808501945080840160005b838110156151e357815187529582019590820190600101615464565b600073ffffffffffffffffffffffffffffffffffffffff8087168352602060808185015286516080808601526154ba6101008601826151ee565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615593577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b85015261556788850182615450565b91890151848303858b015291905061557f8183614c77565b968b0196958b01959350505060010161551b565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526155e0818401876151ee565b905082810360408401526155f481866151ee565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566b5761566b614de9565b5060010190565b600061054f3683614829565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126156b357600080fd5b830160208101925035905067ffffffffffffffff8111156156d357600080fd5b6060810236038213156141e757600080fd5b8183526000602080850194508260005b858110156151e35781356157088161447e565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61572d838501614759565b168784015260408281013590880152606096870196909101906001016156f5565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561577c8161447e565b811660608401526020850135615791816146c7565b1515608084015260408501356157a68161447e565b811660a084015260608501356157bb8161447e565b811660c084015260808501356157d08161447e565b1660e08301526157e360a085018561567e565b60e06101008501526157fa610140850182846156e5565b91505061580a60c086018661567e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526158408382846156e5565b9350505050826040830152949350505050565b6020815260006124d560208301846151ee565b6020815260006124d56020830184614c77565b600082825180855260208086019550808260051b84010181860160005b8481101561481c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08684030189526158d0838351615450565b98840198925090830190600101615896565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260a06060820152600061591d60a0830185615879565b8281036080840152614eba8185615450565b600082601f83011261594057600080fd5b815160206159506147d583614735565b82815260059290921b8401810191818101908684111561596f57600080fd5b8286015b84811015614ae85780518352918301918301615973565b6000806040838503121561599d57600080fd5b825167ffffffffffffffff808211156159b557600080fd5b6159c18683870161592f565b935060208501519150808211156159d757600080fd5b506159e48582860161592f565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006130496040830184615879565b8281526040602082015260006130496040830184615450565b600060208284031215615a4857600080fd5b81516124d5816146c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761054f5761054f614de9565b600181815b80851115615af257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615ad857615ad8614de9565b80851615615ae557918102915b93841c9390800290615a9e565b509250929050565b600082615b095750600161054f565b81615b165750600061054f565b8160018114615b2c5760028114615b3657615b52565b600191505061054f565b60ff841115615b4757615b47614de9565b50506001821b61054f565b5060208310610133831016604e8410600b8410161715615b75575081810a61054f565b615b7f8383615a99565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615bb157615bb1614de9565b029392505050565b60006124d58383615afa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251614f13818460208701614c53565b604081526000615c196040830185614c77565b90508260208301529392505050565b8281526040602082015260006130496040830184614c7756fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "sourceMap": "10600:36632:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13003:640;;;;;;:::i;:::-;;:::i;:::-;;12830:134;;;;;;:::i;:::-;12902:4;12925:18;;;4273:1;12925:18;;;;;;;;;:32;;12830:134;;;;911:14:227;;904:22;886:41;;874:2;859:18;12830:134:172;;;;;;;;1311:1578:169;;;;;;:::i;:::-;;:::i;3330:140::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:227;;;2296:2;2281:18;3330:140:169;2162:177:227;14661:2996:172;;;;;;:::i;:::-;;:::i;18373:10265::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:227;;;3377:2;3362:18;;3355:34;;;;3294:18;18373:10265:172;3147:248:227;28677:4498:172;;;;;;:::i;:::-;;:::i;470:308:31:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13682:940:172:-;;;;;;:::i;:::-;;:::i;12620:171::-;;;;;;:::i;:::-;;:::i;2935:110:169:-;;;;;;:::i;:::-;3003:7;2935:110;;;;;17696:450:172;;;;;;:::i;:::-;;:::i;13003:640::-;2261:21:22;:19;:21::i;:::-;13104:6:172::1;13114:1;13104:11:::0;13100:94:::1;;13138:45;::::0;::::1;::::0;;13156:10:::1;13138:45;::::0;::::1;15724:34:227::0;15673:42;15794:15;;15774:18;;;15767:43;15826:18;;;15819:34;;;15636:18;;13138:45:172::1;;;;;;;;13100:94;13402:43;::::0;;13410:10:::1;16156:34:227::0;;16105:42;16226:15;;16221:2;16206:18;;16199:43;16258:18;;;16251:34;;;16316:2;16301:18;;16294:34;;;13402:43:172::1;::::0;16082:3:227;16067:19;13402:43:172::1;;;;;;;13509:65;:30;::::0;::::1;13540:10;13560:4;13567:6:::0;13509:30:::1;:65::i;:::-;13599:10;13584:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;13630:6;;13584:26;:52:::1;::::0;13630:6;;13584:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;13003:640:172;;;:::o;2303:20:22:-;13003:640:172;;;:::o;1311:1578:169:-;1465:4;1485:53;:26;;;1520:8;1531:6;1485:26;:53::i;:::-;1566:64;;;;;1549:14;;1566:20;;;;;;:64;;1587:10;;1599:5;;1606:6;;1549:14;;1625:4;;;;1566:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1549:81;;425:45:178;1644:6:169;:40;1640:111;;1707:33;;;;;;;;2308:25:227;;;2281:18;;1707:33:169;2162:177:227;1640:111:169;2776:84;2815:8;2834:4;2841:18;911:1;2841:6;:18;:::i;:::-;2776:30;;;;:84;;:30;:84::i;:::-;-1:-1:-1;2878:4:169;;1311:1578;-1:-1:-1;;;;;;1311:1578:169:o;3330:140::-;3425:38;;;;;3457:4;3425:38;;;18120:74:227;3399:7:169;;3425:23;;;;;;18093:18:227;;3425:38:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3418:45;3330:140;-1:-1:-1;;3330:140:169:o;14661:2996:172:-;14741:17;2261:21:22;:19;:21::i;:::-;14770:19:172::1;14792:56;14816:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14792:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;14792:23:172::1;::::0;-1:-1:-1;;;14792:56:172:i:1;:::-;14770:78;;14862:11;14877:1;14862:16:::0;14858:70:::1;;14901:16;;;;;;;;;;;;;;14858:70;14941:11;14956:1;14941:16:::0;14937:71:::1;;14980:17;;;;;;;;;;;;;;14937:71;15021:18;:6:::0;;:18:::1;:::i;:::-;:25;;15050:1;15021:30:::0;15017:83:::1;;15074:15;;;;;;;;;;;;;;15017:83;15113:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;15143:1;15113:31:::0;15109:85:::1;;15167:16;;;;;;;;;;;;;;15109:85;15204:26;::::0;;;15298:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:88;;;15387:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15420:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15298:155;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;15657:4;15649:13:::0;::::1;15643:20:::0;15203:250;;-1:-1:-1;15203:250:172;;-1:-1:-1;15203:250:172;-1:-1:-1;15203:250:172;-1:-1:-1;15477:23:172::1;15699:15:::0;;::::1;::::0;15756:1:::1;15751:15:::0;;::::1;::::0;15804:1:::1;15799:15;15846:20:::0;;15842:109:::1;;15893:43;::::0;::::1;::::0;;::::1;::::0;::::1;2308:25:227::0;;;2281:18;;15893:43:172::1;2162:177:227::0;15842:109:172::1;4934:1;15969:16;:46;15965:137;;;16042:45;::::0;::::1;::::0;;::::1;::::0;::::1;2308:25:227::0;;;2281:18;;16042:45:172::1;2162:177:227::0;15965:137:172::1;16120:17:::0;;16116:100:::1;;16164:37;::::0;::::1;::::0;;::::1;::::0;::::1;2308:25:227::0;;;2281:18;;16164:37:172::1;2162:177:227::0;16116:100:172::1;15463:763;;;16413:20;16436:284;;;;;;;;16457:10;16436:284;;;;;;16587:1;16481:103;16508:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;16481:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4811:1:172::1;::::0;-1:-1:-1;16481:26:172::1;::::0;-1:-1:-1;;16481:103:172:i:1;:::-;:107;16436:284:::0;;16602:43:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;16436:284;16602:43:::0;;::::1;::::0;;;;;;::::1;::::0;;;;16436:284;::::1;::::0;;16659:18:::1;:6:::0;;:18:::1;:::i;:::-;16436:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16691:6;:19;;;;;;;;:::i;:::-;16436:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;16413:307:::1;;16730:17;16750:12;:5;:10;:12::i;:::-;4477:1;16852:18:::0;;;:7:::1;:18;::::0;;;;;16730:32;;-1:-1:-1;16848:803:172::1;;17180:18;::::0;;;16915:4:::1;17180:18;::::0;;;;;;;;:31;;;16915:4;-1:-1:-1;17230:71:172::1;::::0;17239:10:::1;::::0;17251:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17284:5;17291:9;17230:71;;;;;;;;;:::i;:::-;;;;;;;;17493:1;17472:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;17468:173;;;17514:38;17540:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;17514:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;17514:25:172::1;::::0;-1:-1:-1;;;17514:38:172:i:1;:::-;17575:51;17582:10;17602:9:::0;17614:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;17575:51;;;;;;;;;:::i;:::-;;;;;;;;17468:173;14760:2897;;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;14661:2996:172;;;:::o;18373:10265::-;18484:23;18509:24;2261:21:22;:19;:21::i;:::-;18553:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;18577:1;18553:25:::0;18549:73:::1;;18601:10;;;;;;;;;;;;;;18549:73;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19130:57:172::1;19211:14;19228:13;::::0;;::::1;:6:::0;:13:::1;:::i;:::-;19322:4;19316:11:::0;;19437:4:::1;19433:1;19421:14:::0;;;::::1;19417:25:::0;::::1;19408:35:::0;::::1;19395:49:::0;;;19316:11;-1:-1:-1;19522:19:172;::::1;;::::0;-1:-1:-1;;;19559:24:172;;;19555:88:::1;;19610:18;;;;;;;;;;;;;;19555:88;19656:9;19683:7031;19694:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;19690:1;:24;:51;;;;;19740:1;19718:19;:23;19690:51;19683:7031;;;19779:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;19793:1;19779:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;19761:34;;;:::i;:::-;19821:21:::0;;19761:34;;-1:-1:-1;19821:21:172;-1:-1:-1;20025:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20039:1;20025:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20060:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20074:1;20060:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;20025:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;20025:71:172::1;:::i;:::-;19944:152;;:5;:17;;;19962:15;:28;;;19944:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:152;;;19919:455;;20183:5;:17;;;20201:15;:28;;;20183:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;20262:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20276:1;20262:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20297:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20311:1;20297:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;20262:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;20262:71:172::1;:::i;:::-;20144:211;::::0;::::1;::::0;;28230:42:227;28299:15;;;20144:211:172::1;::::0;::::1;28281:34:227::0;28351:15;;28331:18;;;28324:43;28193:18;;20144:211:172::1;28046:327:227::0;19919:455:172::1;20559:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20573:1;20559:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20595:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20609:1;20595:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;20559:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;20559:73:172::1;:::i;:::-;20476:156;;:5;:18;;;20495:15;:29;;;20476:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:156;;;20451:463;;20719:5;:18;;;20738:15;:29;;;20719:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;20800:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20814:1;20800:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20836:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20850:1;20836:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;20800:67;;;;;;;:::i;20451:463::-;21108:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21122:1;21108:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21143:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21157:1;21143:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;21108:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;21024:158;;:5;:17;;;21042:15;:28;;;21024:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:158;;;20999:475;;21277:5;:17;;;21295:15;:28;;;21277:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21359:6;:13;;;;;;;;:::i;:::-;21373:1;21359:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21394:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21408:1;21394:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;21359:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;21230:225;::::0;::::1;::::0;;28761:4:227;28749:17;;;21230:225:172::1;::::0;::::1;28731:36:227::0;28803:17;;28783:18;;;28776:45;28704:18;;21230:225:172::1;28565:262:227::0;20999:475:172::1;21671:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21685:1;21671:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21707:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21721:1;21707:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;21671:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;21585:162;;:5;:18;;;21604:15;:29;;;21585:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:162;;;21560:483;;21842:5;:18;;;21861:15;:29;;;21842:49;;;;;;;;:::i;:::-;;;;;;;:58;;;21926:6;:13;;;;;;;;:::i;:::-;21940:1;21926:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21962:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21976:1;21962:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;21926:67;;;;;;;:::i;21560:483::-;22061:17;22081:12;:5;:10;:12::i;:::-;4477:1;22115:18:::0;;;:7:::1;:18;::::0;;;;;22061:32;;-1:-1:-1;22111:4517:172::1;;22202:11:::0;;22176:49:::1;::::0;;22190:10:::1;15724:34:227::0;;15673:42;15794:15;;;15789:2;15774:18;;15767:43;15826:18;;15819:34;;;22176:49:172::1;::::0;15651:2:227;15636:18;22176:49:172::1;;;;;;;22111:4517;;;22272:46;22321:269;22363:5;22394:15;:28;;;22448:15;:29;;;22503:10;22539:15;:29;;;22321:16;:269::i;:::-;22272:318;;22989:6;:21;;;22960:18;:26;;;:50;22956:3654;;;23076:11:::0;;23043:56:::1;::::0;;23064:10:::1;15724:34:227::0;;15673:42;15794:15;;;15789:2;15774:18;;15767:43;15826:18;;15819:34;;;23043:56:172::1;::::0;15651:2:227;15636:18;23043:56:172::1;;;;;;;;22956:3654;;;23154:18;:28;;;23187:1;23132:56:::0;23128:3482:::1;;23249:11:::0;;23221:51:::1;::::0;;23237:10:::1;15724:34:227::0;;15673:42;15794:15;;;15789:2;15774:18;;15767:43;15826:18;;15819:34;;;23221:51:172::1;::::0;15651:2:227;15636:18;23221:51:172::1;15461:398:227::0;23128:3482:172::1;23327:24;23354:5;:18;;;23373:15;:29;;;23354:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;23615:28:::1;::::0;::::1;::::0;23354:58;;-1:-1:-1;23517:26:172::1;24194:62;:19:::0;:62:::1;::::0;::::1;503:6:148;24194:27:172;:62::i;:::-;24105:152;;24349:21;24312:12;24291:80;24287:187;;;24422:21;24407:36;;24287:187;23966:534;24526:19;24688:28:::0;24900:164:::1;24986:18;:26;;;25014:16;24921:12;24900:48;;:164;;;;;:::i;:::-;24688:406;;25138:178;25215:5;:17;;;25233:15;:28;;;25215:47;;;;;;;;:::i;:::-;;;;;;;:56;;;25138:178;;416:1:148;25160:13:172;25138:43;;:178;;;;;:::i;:::-;25124:192:::0;-1:-1:-1;25369:18:172::1;::::0;-1:-1:-1;25418:76:172::1;25439:12:::0;25418:76:::1;::::0;::::1;503:6:148;25418:41:172;:76::i;:::-;25369:125:::0;-1:-1:-1;25521:33:172::1;25369:125:::0;25521:33;::::1;:::i;:::-;::::0;-1:-1:-1;25580:31:172::1;25600:11:::0;25580:31;::::1;:::i;:::-;;;25638:58;25652:11;25665:10;25677:18;25638:13;:58::i;:::-;25727:63;25737:10;25749:15;25766:10;25778:11;25727:63;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;26260:34:172;;26296:1:::1;26256:42;26327:46:::0;;;26535:4:::1;26520:20;26487:54:::0;::::1;26480:82:::0;;;-1:-1:-1;;23128:3482:172::1;22250:4378;22111:4517;-1:-1:-1::0;26678:3:172::1;;19683:7031;;;26745:41;26767:19:::0;26745::::1;::::0;::::1;;:41;:::i;:::-;26727:59:::0;-1:-1:-1;;;26829:19:172;::::1;26811:37:::0;::::1;26807:125;;;26871:50;::::0;::::1;::::0;;26884:19;::::1;26871:50;::::0;::::1;3321:25:227::0;3362:18;;;3355:34;;;3294:18;;26871:50:172::1;3147:248:227::0;26807:125:172::1;27619:19:::0;;27615:203:::1;;27654:153;27766:10;27778:15:::0;27661:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27675:1;27661:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;27697:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27711:1;27697:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;27661:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;27661:73:172::1;:::i;:::-;27654:94;;::::0;:153;:94:::1;:153::i;:::-;27853:1;27832:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;27828:390;;;27893:10;27870:47;27935:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27949:1;27935:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;27971:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27985:1;27971:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;27935:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;27935:73:172::1;:::i;:::-;28026:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28040:1;28026:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28061:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28075:1;28061:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;28026:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;28026:71:172::1;:::i;:::-;28115:15:::0;28148:16;28182:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;27870:337;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;27828:390;28232:20:::0;;28228:222:::1;;28268:171;28382:10;28402:4;28409:16:::0;28275:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28289:1;28275:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28310:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28324:1;28310:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;28275:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;28275:71:172::1;:::i;:::-;28268:96;;::::0;:171;;:96:::1;:171::i;:::-;28489:9;28484:138;28508:27;:34;28504:1;:38;28484:138;;;28567:40;28576:27;28604:1;28576:30;;;;;;;;:::i;:::-;;;;;;;28567:8;:40::i;:::-;28544:3;;28484:138;;;;18539:10099;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;18373:10265:172;;;:::o;28677:4498::-;2261:21:22;:19;:21::i;:::-;28982:14:172;;28962:16;;:34:::1;::::0;;::::1;::::0;::::1;::::0;28958:107:::1;;29033:16:::0;;29023:27:::1;::::0;::::1;::::0;;18150:42:227;18138:55;;;29023:27:172::1;::::0;::::1;18120:74:227::0;18093:18;;29023:27:172::1;17974:226:227::0;28958:107:172::1;29184:8;:20;;;29205:11;:27;;;29184:49;;;;;;;;:::i;:::-;;;;;;;:55;;;29099:140;;:10;:23;;;29123:11;:30;;;29099:55;;;;;;;;:::i;:::-;;;;;;;:61;;;:140;;;29078:407;;29314:10;:23;;;29338:11;:30;;;29314:55;;;;;;;;:::i;:::-;;;;;;;:61;;;29397:8;:20;;;29418:11;:27;;;29397:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;29279:191:::1;::::0;::::1;::::0;;28230:42:227;28299:15;;;29279:191:172::1;::::0;::::1;28281:34:227::0;28351:15;;28331:18;;;28324:43;28193:18;;29279:191:172::1;28046:327:227::0;29078:407:172::1;29608:8;:20;;;29629:11;:27;;;29608:49;;;;;;;;:::i;:::-;;;;;;;:58;;;29520:146;;:10;:23;;;29544:11;:30;;;29520:55;;;;;;;;:::i;:::-;;;;;;;:64;;;:146;;;29499:427;;29749:10;:23;;;29773:11;:30;;;29749:55;;;;;;;;:::i;:::-;;;;;;;:64;;;29835:8;:20;;;29856:11;:27;;;29835:49;;;;;;;;:::i;:::-;;;;;;;:58;;;29706:205;;;;;;;;;;;28761:4:227::0;28749:17;;;28731:36;;28803:17;;28798:2;28783:18;;28776:45;28719:2;28704:18;;28565:262;29499:427:172::1;30042:22;::::0;::::1;::::0;:53;;30065:29;::::1;::::0;30042:53;::::1;;;;;:::i;:::-;;;;;;;:59;;;29961:140;;:8;:21;;;29983:11;:28;;;29961:51;;;;;;;;:::i;:::-;;;;;;;:57;;;:140;;;29940:407;;30176:22;::::0;::::1;::::0;:53;;30199:29;::::1;::::0;30176:53;::::1;;;;;:::i;:::-;;;;;;;:59;;;30257:8;:21;;;30279:11;:28;;;30257:51;;;;;;;;:::i;29940:407::-;30466:22;::::0;::::1;::::0;:53;;30489:29;::::1;::::0;30466:53;::::1;;;;;:::i;:::-;;;;;;;:62;;;30382:146;;:8;:21;;;30404:11;:28;;;30382:51;;;;;;;;:::i;:::-;;;;;;;:60;;;:146;;;30361:427;;30611:22;::::0;::::1;::::0;:53;;30634:29;::::1;::::0;30611:53;::::1;;;;;:::i;:::-;;;;;;;:62;;;30695:8;:21;;;30717:11;:28;;;30695:51;;;;;;;;:::i;30361:427::-;4477:1;31013:7;:26;31021:17;:10;:15;:17::i;:::-;31013:26;;;;;;;;;;;;:40:::0;31009:170:::1;;31078:62;31092:10;31104;:16;;;31122:17;:10;:15;:17::i;:::-;31078:62;::::0;;15673:42:227;15742:15;;;15724:34;;15794:15;;;;15789:2;15774:18;;15767:43;15826:18;;;15819:34;15651:2;15636:18;31078:62:172::1;;;;;;;31158:7;;31009:170;4477:1;31196:7;:24;31204:15;:8;:13;:15::i;:::-;31196:24;;;;;;;;;;;;:38:::0;31192:164:::1;;31259:58;31273:10;31285:8;:14;;;31301:15;:8;:13;:15::i;31192:164::-;31427:52;31433:10;31445;31457:8;31467:11;31427:52;;;;;;;;;:::i;:::-;;;;;;;;31499:51;31553:147;31583:10;31595:11;:29;;;31626:11;:30;;;31658:8;:14;;;31674:16;31553;:147::i;:::-;31499:201;;31710:49;31762:145;31792:8;31802:11;:27;;;31831:11;:28;;;31861:10;:16;;;31879:18;31762:16;:145::i;:::-;31710:197;;31917:40;31972:73;31998:23;32023:21;31972:25;:73::i;:::-;31917:128;;32056:97;32070:16;:27;;;32099:16;:28;;;32129:23;32056:13;:97::i;:::-;32163:91;32177:16;:25;;;32204:16;:26;;;32232:21;32163:13;:91::i;:::-;32464:25;::::0;::::1;::::0;32433:28;;32411:19:::1;::::0;32433:56:::1;::::0;::::1;:::i;:::-;32411:78;;32503:17;32552:16;:27;;;32523:16;:26;;;:56;;;;:::i;:::-;32503:76:::0;-1:-1:-1;32597:15:172;;32593:211:::1;;32647:10;32632:26;::::0;;;:14:::1;:26;::::0;;;;;;32659:23:::1;::::0;::::1;::::0;:55;;32778:11;;32632:26;;32683:30;::::1;;::::0;32659:55;::::1;;;;;:::i;:::-;;;;;;;:61;;;32632:89;;;;;;;;;;;;;;;:142;32722:11;:51;;;32632:142;;;;;;;;;;;;:157;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;32593:211:172::1;32821:13:::0;;32817:201:::1;;32869:10;32854:26;::::0;;;:14:::1;:26;::::0;;;;32881:21:::1;::::0;::::1;::::0;:51;;32994:9;;32854:26;32881:21;32903:28:::1;::::0;::::1;;::::0;32881:51;::::1;;;;;:::i;:::-;;;;;;;:57;;;32854:85;;;;;;;;;;;;;;;:136;32940:11;:49;;;32854:136;;;;;;;;;;;;:149;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;32817:201:172::1;-1:-1:-1::0;;33043:40:172::1;::::0;;33054:10:::1;33158:74:227::0;;33268:13;;33263:2;33248:18;;;33241:41;;;;33324:15;;33318:22;33298:18;;;33291:50;33383:15;;;33377:22;33372:2;33357:18;;;33350:50;;;;33443:15;;33437:22;33431:3;33416:19;;33409:51;33043:40:172::1;::::0;33145:3:227;33130:19;33043:40:172::1;;;;;;;33094:33;33103:23;33094:8;:33::i;:::-;33137:31;33146:21;33137:8;:31::i;:::-;28934:4241;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;28677:4498:172;;;;;:::o;470:308:31:-;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:31;;-1:-1:-1;;;685:52:31:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;13682:940:172:-;2261:21:22;:19;:21::i;:::-;13790:12:172::1;13806:1;13790:17:::0;13786:107:::1;;13830:52;::::0;::::1;::::0;;13855:10:::1;13830:52;::::0;::::1;15724:34:227::0;15673:42;15794:15;;15774:18;;;15767:43;15826:18;;;15819:34;;;15636:18;;13830:52:172::1;15461:398:227::0;13786:107:172::1;13947:10;13902:27;13932:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;14081:37:::1;:12:::0;13932:42;14081:16:::1;:37::i;:::-;14056:62:::0;-1:-1:-1;14132:18:172;;14128:488:::1;;14416:36;14438:14:::0;14416:19;:36:::1;:::i;:::-;14386:10;14371:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;14471:66;;33991:34:227;;;34041:18;;34034:43;34093:18;;;34086:34;;;34151:2;34136:18;;34129:34;;;34194:3;34179:19;;34172:35;;;14471:66:172::1;::::0;33917:3:227;33902:19;14471:66:172::1;;;;;;;14551:54;:26;::::0;::::1;14578:10;14590:14:::0;14551:26:::1;:54::i;:::-;13776:846;;2303:20:22::0;1716:1;2809:7;:22;2629:209;12620:171:172;12747:21;;;;12721:7;12747:21;;;:14;:21;;;;;;;;:28;;;;;;;;;;;:37;;;;;;;12620:171;;;;;;:::o;17696:450::-;17772:17;2261:21:22;:19;:21::i;:::-;17819:11:172::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;17805:25;;:10;:25;;;17801:101;;17867:10;17879:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;17853:38;::::0;::::1;::::0;;28230:42:227;28299:15;;;17853:38:172::1;::::0;::::1;28281:34:227::0;28351:15;;28331:18;;;28324:43;28193:18;;17853:38:172::1;28046:327:227::0;17801:101:172::1;17911:17;17931:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;17957:18;::::0;;;4273:1:::1;17957:18;::::0;;;;;17911:32;;-1:-1:-1;17957:32:172;;17953:187:::1;;4477:1;18038:18:::0;;;18020:4:::1;18038:18;::::0;;;;;;;:31;;;;18088:41;;18020:4;;-1:-1:-1;18088:41:172::1;::::0;::::1;::::0;18100:10:::1;::::0;18112:5;;18046:9;;18088:41:::1;:::i;:::-;;;;;;;;17953:187;17791:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37772:2:227;2460:63:22;;;37754:21:227;37811:2;37791:18;;;37784:30;37850:33;37830:18;;;37823:61;37901:18;;2460:63:22;37570:355:227;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15673:42:227;15742:15;;;1482:68:27;;;15724:34:227;15794:15;;15774:18;;;15767:43;15826:18;;;15819:34;;;1455:96:27;;1475:5;;1505:27;;15636:18:227;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;941:175::-;1050:58;;38134:42:227;38122:55;;1050:58:27;;;38104:74:227;38194:18;;;38187:34;;;1023:86:27;;1043:5;;1073:23;;38077:18:227;;1050:58:27;37930:297:227;3332:365:86;3399:13;3428:8;:15;3447:1;3428:20;3424:59;;-1:-1:-1;3471:1:86;;3332:365;-1:-1:-1;3332:365:86:o;3424:59::-;-1:-1:-1;3674:4:86;3660:19;3654:26;3651:1;3646:35;;3332:365::o;12679:319::-;12770:16;12822:15;12840:36;12854:8;12864:11;12840:13;:36::i;:::-;12953:14;12950:1;12945:23;;12679:319;-1:-1:-1;;;;12679:319:86:o;541:120:184:-;600:7;647:5;636:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;626:28;;;;;;619:35;;541:120;;;:::o;1075:155:153:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;33879:5183:172:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34166:17:172;34186:12;:5;:10;:12::i;:::-;34307:40;;;5872:1;34307:40;;;;;;;;;34166:32;;-1:-1:-1;34213:26:172;;34271:33;;34307:40;;;;;;;;;;;;;;;;;;;-1:-1:-1;34501:11:172;;4055:4:159;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;34485:29:172;;;;4149:16:159;;;4142:27;34516:30:172;;;3967:22:159;4189:16;;4182:27;4246:4;4235:16;;4222:30;;34271:76:172;;-1:-1:-1;34365:14:172;34413:1;6305;34380:34;34365:50;;;;;;;;:::i;:::-;;;;;;:199;;;;34633:476;34696:5;:17;;;34714:12;34696:31;;;;;;;;:::i;:::-;;;;;;;:37;;;34680:55;;34757:5;:17;;;34775:12;34757:31;;;;;;;;:::i;:::-;;;;;;;:40;;;34633:476;;34819:5;:17;;;34837:12;34819:31;;;;;;;;:::i;:::-;;;;;;;:39;;;34880:14;:27;34895:5;:11;;;34880:27;;;;;;;;;;;;;;;:66;34908:5;:17;;;34926:12;34908:31;;;;;;;;:::i;:::-;;;;;;;:37;;;34880:66;;;;;;;;;;;;;;;:132;34947:5;:17;;;34965:12;34947:31;;;;;;;;:::i;:::-;;;;;;;:64;;;34880:132;;;;;;;;;;;;35090:1;5980:4:159;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;34633:476:172;34583:14;34628:1;6840;34598:31;34583:47;;;;;;;;:::i;:::-;;;;;;:526;;;;35179:486;35242:5;:18;;;35261:13;35242:33;;;;;;;;:::i;:::-;;;;;;;:39;;;35226:57;;35305:5;:18;;;35324:13;35305:33;;;;;;;;:::i;:::-;;;;;;;:42;;;35179:486;;35369:5;:18;;;35388:13;35369:33;;;;;;;;:::i;:::-;;;;;;;:41;;;35432:14;:27;35447:5;:11;;;35432:27;;;;;;;;;;;;;;;:68;35460:5;:18;;;35479:13;35460:33;;;;;;;;:::i;:::-;;;;;;;:39;;;35432:68;;;;;;;;;;;;;;;:136;35501:5;:18;;;35520:13;35501:33;;;;;;;;:::i;35179:486::-;35128:14;35174:1;7007;35143:32;35128:48;;;;;;;;:::i;:::-;;;;;;:537;;;;35693:47;35710:14;35726:13;35693:16;:47::i;:::-;35683:57;;34253:1502;35931:24;35994:5;:11;;;35978:29;;35931:77;;36350:36;36388:34;36426:5;:32;;;:61;;;:84;;;36528:5;:15;;;:21;;;36567:55;36597:9;36616:4;1053:42:93;1150:25;;;1195:4;1188:20;1256:4;1243:18;;;933:344;36567:55:172;36640:51;36664:5;:15;;;:26;;;36640:23;:51::i;:::-;36734:16;;;36748:1;36734:16;;;;;;;;;36426:338;;;;;;;;;;;;;;36709:7;;36426:338;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36349:415;;;;36779:31;36833:19;36853:1;36833:22;;;;;;;;:::i;:::-;;;;;;;36779:77;;36870:20;36893:19;36913:1;36893:22;;;;;;;;:::i;:::-;;;;;;;36870:45;;37084:25;37112:14;:27;37127:5;:11;;;37112:27;;;;;;;;;;;;;;;:68;37140:5;:18;;;37159:13;37140:33;;;;;;;;:::i;:::-;;;;;;;:39;;;37112:68;;;;;;;;;;;;;;;:132;37181:5;:39;;;37221:13;37181:54;;;;;;;;:::i;:::-;;;;;;;:62;;;37112:132;;;;;;;;;;;;37084:160;;38297:34;38374:72;38400:5;:18;;;38419:13;38400:33;;;;;;;;:::i;:::-;;;;;;;:42;;;38374:72;;38444:1;38374:17;:25;;:72;;;;;:::i;:::-;38297:150;;38533:19;38491:16;38469:84;38465:169;;;38596:19;38577:38;;38465:169;-1:-1:-1;;3283:4:159;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;38745:7:172;6500:1;38745:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;38902:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38902:143:172;;;;;;;;;;;-1:-1:-1;;;;38902:143:172;;;;-1:-1:-1;38902:143:172;33879:5183::o;6057:849:150:-;6141:7;6211:8;253:2:148;6188:31:150;6184:706;;;253:2:148;6259:31:150;;;503:6:148;6312:21:150;;: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:148;6517:8:150;:31;6513:377;;;6590:31;;;416:1:148;6643:21:150;;: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:150;6867:8;;649:163:149;741:7;767:38;:1;776;339:4:148;796:8:149;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:149:o;7325:878:150:-;7414:7;7484:14;253:2:148;7461:37:150;7457:730;;;253:2:148;7540:37:150;;;416:1:148;7599:21:150;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:148;7809:14:150;:37;7805:382;;;7886:37;;;503:6:148;7945:21:150;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;39582:1324:172:-;39792:5;39703:18;:26;;;6840:1;39703:55;;;;;;;;:::i;:::-;;;;;;;7824:1;39703:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;39897:6;39807:18;:26;;;7007:1;39807:56;;;;;;;;:::i;:::-;;;;;;;7824:1;39807:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;39918:9;;39914:379;;40029:24;;:30;40014:46;;;;;;:14;:46;;;;;40094:26;;;;:55;;40277:5;;40014:46;40094:26;6840:1;;40094:55;;;;;;:::i;:::-;;;;;;;7125:1;40094:79;;;;;;;;:::i;:::-;;;;;;;40014:175;;;;;;;;;;;;;;;:259;40190:18;:26;;;6840:1;40190:55;;;;;;;;:::i;:::-;;;;;;;7367:1;40190:82;;;;;;;;:::i;:::-;;;;;;;40014:259;;;;;;;;;;;;:268;;;;;;;:::i;:::-;;;;-1:-1:-1;;39914:379:172;40306:10;;40302:384;;40419:24;;:30;40404:46;;;;;;:14;:46;;;;;40484:26;;;;:56;;40669:6;;40404:46;40484:26;7007:1;;40484:56;;;;;;:::i;:::-;;;;;;;7125:1;40484:80;;;;;;;;:::i;:::-;;;;;;;40404:176;;;;;;;;;;;;;;;:261;40581:18;:26;;;7007:1;40581:56;;;;;;;;:::i;:::-;;;;;;;7367:1;40581:83;;;;;;;;:::i;:::-;;;;;;;40404:261;;;;;;;;;;;;:271;;;;;;;:::i;:::-;;;;-1:-1:-1;;40302:384:172;40852:47;40860:10;40872:18;:26;;;40852:47;;;;;;;:::i;:::-;;;;;;;;39582:1324;;;:::o;40912:2667::-;41217:22;;;;:29;:33;41213:489;;41593:18;:24;;;:34;;;:40;;;:44;;;41638:18;:28;;;41668:18;:22;;;41593:98;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41213:489;41860:24;;:33;;;41856:1717;;;42353:30;42385:28;42417:18;:41;;;:68;;;:97;;;:120;;;42555:18;:24;;;:34;;;:40;;;42613:74;42643:18;:28;;;42681:4;1053:42:93;1150:25;;;1195:4;1188:20;1256:4;1243:18;;;933:344;42613:74:172;42705:64;42723:18;:24;;;:34;;;:45;;;42705:17;:64::i;:::-;42787:26;;;;42831:16;;;42845:1;42831:16;;;;;;;;;42417:444;;;;;;;;;;;;;;42787:26;42417:444;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43072:18;;42352:509;;-1:-1:-1;42352:509:172;-1:-1:-1;43072:22:172;43068:495;;43461:18;:24;;;:34;;;:40;;;:44;;;43506:18;:28;;;43536:11;43461:87;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41895:1678;;40912:2667;:::o;44123:654::-;44307:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44307:40:172;44488:72;44513:23;44538:21;44488:24;:72::i;:::-;44414:146;;44415:27;;;44414:146;44698:72;44723:21;44746:23;44698:24;:72::i;:::-;44656:26;;;44628:142;44629:25;;;44628:142;44629:16;44123:654;-1:-1:-1;;44123:654:172:o;6674:198:29:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:37:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:37;;588:104;-1:-1:-1;588:104:37: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;;;;;;;42859:2:227;5720:111:27;;;42841:21:227;42898:2;42878:18;;;42871:30;42937:34;42917:18;;;42910:62;43008:12;42988:18;;;42981:40;43038:19;;5720:111:27;42657:406:227;11749:428:86;11839:15;11890:26;11923:21;11935:8;11923:11;:21::i;:::-;11947:1;11923:25;11919:1;:29;11890:58;;11962:14;11979:43;12000:8;12010:11;11979:20;:43::i;:::-;12094:44;;;;12090:57;;;12112:4;12090:57;;11749:428;-1:-1:-1;;;11749:428:86:o;550:376:153:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:153;;550:376;-1:-1:-1;550:376:153:o;631:34::-;-1:-1:-1;846:1:153;835:13;829:20;691:16;825:32;667:18:152;883:36:153;;550:376::o;7166:2290:87:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:87;;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:159;3277:11;;3315:1;3301:16;;2288:10:87;3348:4:159;3337:16;;3330:27;2326:4:87;3377:16:159;;;3370:27;2211:16:87;3423::159;;3410:30;;;3277:11;2172:169:87;7817:17;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:87;;: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:87;7389:34:33;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:87;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:227;;;2281:18;;9164:19:87;2162:177:227;8196:1010:87;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:87;7166:2290;-1:-1:-1;;;;;7166:2290:87:o;46814:214:172:-;46891:15;1517:4:89;1485:36;;;;;5054:1:172;1484:147:89;46925:96:172;863:785:89;3534:689:150;3614:9;726:2:148;3663:9:150;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:150;: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:148;3179:9:150;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:150;;2590:688;-1:-1:-1;;2590:688:150:o;5172:598::-;5253:9;726:2:148;5302:11:150;: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:150;5715:6;;5172:598;-1:-1:-1;;5172:598:150:o;4596:207::-;4670:7;726:2:148;4720:11:150;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:37;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:37;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:37:o;47034:196:172:-;47105:15;1526:58:89;1517:4;1485:36;;;;;1484:101;47139:84:172;863:785:89;44783:2025:172;44966:18;44986:19;45210:27;45272:147;45358:21;:29;;;45389:16;45294:21;:31;;;45272:68;;:147;;;;;:::i;:::-;45473:33;;;;45210:219;;-1:-1:-1;45597:77:172;;;45593:183;;;-1:-1:-1;45750:13:172;45593:183;45921:163;45981:23;:29;;;:42;;;46024:23;:37;;;45981:81;;;;;;;;:::i;:::-;;;;;;;:90;;;45921:163;;46073:1;45943:16;45921:46;;:163;;;;;:::i;:::-;45907:177;;46173:26;46234:104;46288:23;:31;;;46321:16;46256;46234:53;;:104;;;;;:::i;:::-;46173:175;;46635:166;46690:21;:27;;;:40;;;46731:21;:35;;;46690:77;;;;;;;;:::i;46635:166::-;46358:443;;45007:1801;;;44783:2025;;;;;:::o;7058:325:29:-;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:29:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;10570:572:86:-;10667:14;10779:21;10791:8;10779:11;:21::i;:::-;10764:11;:36;10760:119;;10846:8;10856:11;10823:45;;;;;;;;;;;;:::i;10760:119::-;-1:-1:-1;11113:1:86;11096:19;11074:42;11092:1;11074:42;11068:49;11119:6;11064:62;;10570:572::o;1014:366:34:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:34;-1:-1:-1;1256:26:34;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:37:-;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;;;;;;;45900:2:227;2952:53:37;;;45882:21:227;45939:2;45919:18;;;45912:30;45978:23;45958:18;;;45951:51;46019:18;;2952:53:37;45698:345:227;2952:53:37;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:37:o;7671:628:29:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;46250:2:227;8113:60:29;;;46232:21:227;46289:2;46269:18;;;46262:30;46328:31;46308:18;;;46301:59;46377:18;;8113:60:29;46048:353:227;8113:60:29;-1:-1:-1;8208:10:29;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;;;;;;;46608:2:227;5354:81:29;;;46590:21:227;46647:2;46627:18;;;46620:30;46686:34;46666:18;;;46659:62;46757:8;46737:18;;;46730:36;46783:19;;5354:81:29;46406:402:227;5354:81:29;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:29:o;2145:730:33:-;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:33;;-1:-1:-1;2822:35:33;2259:610;2145:730;;;;;:::o;1786:473:34:-;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:34;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:34:o;8821:540:29:-;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:33:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:33;;-1:-1:-1;6123:30:33;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;47557:25:227;;;47630:4;47618:17;;47598:18;;;47591:45;;;;47652:18;;;47645:34;;;47695:18;;;47688:34;;;6276:24:33;;47529:19:227;;6276:24:33;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:33;;;;;;-1:-1:-1;;6314:20:33;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:33;;-1:-1:-1;5009:1456:33;;;;;;;;:::o;14:154:227:-;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:227;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:227: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:227;;561:180;-1:-1:-1;561:180:227: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:227;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:227;1437:18;;1424:32;;-1:-1:-1;1507:2:227;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:227;;-1:-1:-1;1871:2:227;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:227: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:227: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:570::-;4500:5;4548:4;4536:9;4531:3;4527:19;4523:30;4520:50;;;4566:1;4563;4556:12;4520:50;4588:22;;:::i;:::-;4579:31;;4647:9;4634:23;4666:33;4691:7;4666:33;:::i;:::-;4708:22;;4782:2;4767:18;;4754:32;4795:33;4754:32;4795:33;:::i;:::-;4855:2;4844:14;;4837:31;4920:2;4905:18;;4892:32;4933:33;4892:32;4933:33;:::i;:::-;4993:2;4982:14;;4975:31;4986:5;4442:570;-1:-1:-1;;4442:570:227:o;5017:185::-;5079:4;5112:18;5104:6;5101:30;5098:56;;;5134:18;;:::i;:::-;-1:-1:-1;5179:1:227;5175:14;5191:4;5171:25;;5017:185::o;5207:156::-;5273:20;;5333:4;5322:16;;5312:27;;5302:55;;5353:1;5350;5343:12;5368:419;5417:5;5465:4;5453:9;5448:3;5444:19;5440:30;5437:50;;;5483:1;5480;5473:12;5437:50;5505:22;;:::i;:::-;5496:31;;5564:9;5551:23;5583:33;5608:7;5583:33;:::i;:::-;5625:22;;5679:36;5711:2;5696:18;;5679:36;:::i;:::-;5674:2;5667:5;5663:14;5656:60;5776:2;5765:9;5761:18;5748:32;5743:2;5736:5;5732:14;5725:56;5368:419;;;;:::o;5792:703::-;5848:5;5901:3;5894:4;5886:6;5882:17;5878:27;5868:55;;5919:1;5916;5909:12;5868:55;5955:6;5942:20;5981:4;6005:62;6021:45;6063:2;6021:45;:::i;:::-;6005:62;:::i;:::-;6101:15;;;6163:4;6206:11;;;6194:24;;6190:33;;;6132:12;;;;6089:3;6235:15;;;6232:35;;;6263:1;6260;6253:12;6232:35;6299:2;6291:6;6287:15;6311:155;6327:6;6322:3;6319:15;6311:155;;;6393:30;6419:3;6414;6393:30;:::i;:::-;6381:43;;6444:12;;;;6344;;6311:155;;;-1:-1:-1;6484:5:227;;5792:703;-1:-1:-1;;;;;;;5792:703:227:o;6500:1052::-;6554:5;6602:4;6590:9;6585:3;6581:19;6577:30;6574:50;;;6620:1;6617;6610:12;6574:50;6653:2;6647:9;6695:4;6687:6;6683:17;6719:18;6787:6;6775:10;6772:22;6767:2;6755:10;6752:18;6749:46;6746:72;;;6798:18;;:::i;:::-;6838:10;6834:2;6827:22;6867:6;6858:15;;6910:9;6897:23;6882:38;;6929:33;6954:7;6929:33;:::i;:::-;6986:7;6978:6;6971:23;7027:35;7058:2;7047:9;7043:18;7027:35;:::i;:::-;7022:2;7014:6;7010:15;7003:60;7096:54;7146:3;7141:2;7130:9;7126:18;7096:54;:::i;:::-;7091:2;7083:6;7079:15;7072:79;7202:4;7191:9;7187:20;7174:34;7160:48;;7231:2;7223:6;7220:14;7217:34;;;7247:1;7244;7237:12;7217:34;7286:59;7341:3;7332:6;7321:9;7317:22;7286:59;:::i;:::-;7279:4;7271:6;7267:17;7260:86;7399:3;7388:9;7384:19;7371:33;7355:49;;7429:2;7419:8;7416:16;7413:36;;;7445:1;7442;7435:12;7413:36;;7484:61;7541:3;7530:8;7519:9;7515:24;7484:61;:::i;:::-;7477:4;7469:6;7465:17;7458:88;;;6500:1052;;;;:::o;7557:245::-;7605:4;7638:18;7630:6;7627:30;7624:56;;;7660:18;;:::i;:::-;-1:-1:-1;7717:2:227;7705:15;7722:66;7701:88;7791:4;7697:99;;7557:245::o;7807:462::-;7849:5;7902:3;7895:4;7887:6;7883:17;7879:27;7869:55;;7920:1;7917;7910:12;7869:55;7956:6;7943:20;7987:48;8003:31;8031:2;8003:31;:::i;7987:48::-;8060:2;8051:7;8044:19;8106:3;8099:4;8094:2;8086:6;8082:15;8078:26;8075:35;8072:55;;;8123:1;8120;8113:12;8072:55;8188:2;8181:4;8173:6;8169:17;8162:4;8153:7;8149:18;8136:55;8236:1;8211:16;;;8229:4;8207:27;8200:38;;;;8215:7;7807:462;-1:-1:-1;;;7807:462:227:o;8274:2554::-;8343:5;8396:3;8389:4;8381:6;8377:17;8373:27;8363:55;;8414:1;8411;8404:12;8363:55;8450:6;8437:20;8476:4;8500:62;8516:45;8558:2;8516:45;:::i;8500:62::-;8596:15;;;8682:1;8678:10;;;;8666:23;;8662:32;;;8627:12;;;;8706:15;;;8703:35;;;8734:1;8731;8724:12;8703:35;8770:2;8762:6;8758:15;8782:2017;8798:6;8793:3;8790:15;8782:2017;;;8884:3;8871:17;8911:18;8961:2;8948:11;8945:19;8942:39;;;8977:1;8974;8967:12;8942:39;9004:24;;;;9135:4;9052:12;;;9066:66;9048:85;9044:96;9041:186;;;9181:1;9210:2;9206;9199:14;9041:186;9253:22;;:::i;:::-;9324:2;9320;9316:11;9303:25;9341:33;9366:7;9341:33;:::i;:::-;9387:22;;9432:2;9476:11;;;9463:25;9504:16;;;9501:106;;;9561:1;9590:2;9586;9579:14;9501:106;9630:17;;9682:2;9674:11;;9670:21;-1:-1:-1;9660:119:227;;9733:1;9762:2;9758;9751:14;9660:119;9824:2;9820;9816:11;9803:25;9854:63;9870:46;9912:3;9870:46;:::i;9854:63::-;9961:18;;;10060:1;10056:11;;;;10048:20;;10044:29;;;10001:14;;;;10089:17;;;10086:110;;;10148:1;10178:3;10173;10166:16;10086:110;10222:11;;;;10246:174;10264:8;10257:5;10254:19;10246:174;;;10346:19;;10332:34;;10285:14;;;;10392;;;;10246:174;;;10440:14;;;10433:29;-1:-1:-1;;;10512:4:227;10504:13;;10491:27;10534:16;;;10531:109;;;10592:1;10622:3;10617;10610:16;10531:109;10676:49;10721:3;10716:2;10705:8;10701:2;10697:17;10693:26;10676:49;:::i;:::-;10660:14;;;10653:73;;;;-1:-1:-1;10739:18:227;;-1:-1:-1;;10777:12:227;;;;8815;;8782:2017;;;-1:-1:-1;10817:5:227;8274:2554;-1:-1:-1;;;;;;8274:2554:227:o;10833:1365::-;11130:6;11138;11146;11154;11162;11206:9;11197:7;11193:23;11236:3;11232:2;11228:12;11225:32;;;11253:1;11250;11243:12;11225:32;11293:9;11280:23;11322:18;11363:2;11355:6;11352:14;11349:34;;;11379:1;11376;11369:12;11349:34;11402:58;11452:7;11443:6;11432:9;11428:22;11402:58;:::i;:::-;11392:68;;11513:2;11502:9;11498:18;11485:32;11469:48;;11542:2;11532:8;11529:16;11526:36;;;11558:1;11555;11548:12;11526:36;11581:60;11633:7;11622:8;11611:9;11607:24;11581:60;:::i;:::-;11571:70;;11734:3;11665:66;11661:2;11657:75;11653:85;11650:105;;;11751:1;11748;11741:12;11650:105;11789:2;11778:9;11774:18;11764:28;;11845:3;11834:9;11830:19;11817:33;11801:49;;11875:2;11865:8;11862:16;11859:36;;;11891:1;11888;11881:12;11859:36;11914:78;11984:7;11973:8;11962:9;11958:24;11914:78;:::i;:::-;11904:88;;12045:3;12034:9;12030:19;12017:33;12001:49;;12075:2;12065:8;12062:16;12059:36;;;12091:1;12088;12081:12;12059:36;;;12114:78;12184:7;12173:8;12162:9;12158:24;12114:78;:::i;:::-;12104:88;;;10833:1365;;;;;;;;:::o;12203:626::-;12300:6;12308;12361:2;12349:9;12340:7;12336:23;12332:32;12329:52;;;12377:1;12374;12367:12;12329:52;12417:9;12404:23;12446:18;12487:2;12479:6;12476:14;12473:34;;;12503:1;12500;12493:12;12473:34;12541:6;12530:9;12526:22;12516:32;;12586:7;12579:4;12575:2;12571:13;12567:27;12557:55;;12608:1;12605;12598:12;12557:55;12648:2;12635:16;12674:2;12666:6;12663:14;12660:34;;;12690:1;12687;12680:12;12660:34;12743:7;12738:2;12728:6;12725:1;12721:14;12717:2;12713:23;12709:32;12706:45;12703:65;;;12764:1;12761;12754:12;12703:65;12795:2;12787:11;;;;;12817:6;;-1:-1:-1;12203:626:227;;-1:-1:-1;;;;12203:626:227:o;12834:250::-;12919:1;12929:113;12943:6;12940:1;12937:13;12929:113;;;13019:11;;;13013:18;13000:11;;;12993:39;12965:2;12958:10;12929:113;;;-1:-1:-1;;13076:1:227;13058:16;;13051:27;12834:250::o;13089:329::-;13130:3;13168:5;13162:12;13195:6;13190:3;13183:19;13211:76;13280:6;13273:4;13268:3;13264:14;13257:4;13250:5;13246:16;13211:76;:::i;:::-;13332:2;13320:15;13337:66;13316:88;13307:98;;;;13407:4;13303:109;;13089:329;-1:-1:-1;;13089:329:227:o;13423:859::-;13583:4;13612:2;13652;13641:9;13637:18;13682:2;13671:9;13664:21;13705:6;13740;13734:13;13771:6;13763;13756:22;13809:2;13798:9;13794:18;13787:25;;13871:2;13861:6;13858:1;13854:14;13843:9;13839:30;13835:39;13821:53;;13909:2;13901:6;13897:15;13930:1;13940:313;13954:6;13951:1;13948:13;13940:313;;;14043:66;14031:9;14023:6;14019:22;14015:95;14010:3;14003:108;14134:39;14166:6;14157;14151:13;14134:39;:::i;:::-;14124:49;-1:-1:-1;14231:12:227;;;;14196:15;;;;13976:1;13969:9;13940:313;;;-1:-1:-1;14270:6:227;;13423:859;-1:-1:-1;;;;;;;13423:859:227:o;14287:456::-;14364:6;14372;14380;14433:2;14421:9;14412:7;14408:23;14404:32;14401:52;;;14449:1;14446;14439:12;14401:52;14488:9;14475:23;14507:31;14532:5;14507:31;:::i;:::-;14557:5;-1:-1:-1;14614:2:227;14599:18;;14586:32;14627:33;14586:32;14627:33;:::i;:::-;14287:456;;14679:7;;-1:-1:-1;;;14733:2:227;14718:18;;;;14705:32;;14287:456::o;14748:315::-;14816:6;14824;14877:2;14865:9;14856:7;14852:23;14848:32;14845:52;;;14893:1;14890;14883:12;14845:52;14932:9;14919:23;14951:31;14976:5;14951:31;:::i;:::-;15001:5;15053:2;15038:18;;;;15025:32;;-1:-1:-1;;;14748:315:227:o;15068:388::-;15155:6;15208:2;15196:9;15187:7;15183:23;15179:32;15176:52;;;15224:1;15221;15214:12;15176:52;15264:9;15251:23;15297:18;15289:6;15286:30;15283:50;;;15329:1;15326;15319:12;15283:50;15352:22;;15408:3;15390:16;;;15386:26;15383:46;;;15425:1;15422;15415:12;16339:184;16391:77;16388:1;16381:88;16488:4;16485:1;16478:15;16512:4;16509:1;16502:15;16528:125;16593:9;;;16614:10;;;16611:36;;;16627:18;;:::i;16658:325::-;16746:6;16741:3;16734:19;16798:6;16791:5;16784:4;16779:3;16775:14;16762:43;;16850:1;16843:4;16834:6;16829:3;16825:16;16821:27;16814:38;16716:3;16972:4;16902:66;16897:2;16889:6;16885:15;16881:88;16876:3;16872:98;16868:109;16861:116;;16658:325;;;;:::o;16988:610::-;17220:4;17249:42;17330:2;17322:6;17318:15;17307:9;17300:34;17382:2;17374:6;17370:15;17365:2;17354:9;17350:18;17343:43;;17422:6;17417:2;17406:9;17402:18;17395:34;17465:6;17460:2;17449:9;17445:18;17438:34;17509:3;17503;17492:9;17488:19;17481:32;17530:62;17587:3;17576:9;17572:19;17564:6;17556;17530:62;:::i;:::-;17522:70;16988:610;-1:-1:-1;;;;;;;;16988:610:227:o;17603:184::-;17673:6;17726:2;17714:9;17705:7;17701:23;17697:32;17694:52;;;17742:1;17739;17732:12;17694:52;-1:-1:-1;17765:16:227;;17603:184;-1:-1:-1;17603:184:227:o;18394:394::-;18498:4;18556:11;18543:25;18646:66;18635:8;18619:14;18615:29;18611:102;18591:18;18587:127;18577:155;;18728:1;18725;18718:12;18577:155;18749:33;;;;;18394:394;-1:-1:-1;;18394:394:227:o;18793:580::-;18870:4;18876:6;18936:11;18923:25;19026:66;19015:8;18999:14;18995:29;18991:102;18971:18;18967:127;18957:155;;19108:1;19105;19098:12;18957:155;19135:33;;19187:20;;;-1:-1:-1;19230:18:227;19219:30;;19216:50;;;19262:1;19259;19252:12;19216:50;19295:4;19283:17;;-1:-1:-1;19326:14:227;19322:27;;;19312:38;;19309:58;;;19363:1;19360;19353:12;19378:630;19494:4;19500:6;19560:11;19547:25;19650:66;19639:8;19623:14;19619:29;19615:102;19595:18;19591:127;19581:155;;19732:1;19729;19722:12;19581:155;19759:33;;19811:20;;;-1:-1:-1;19854:18:227;19843:30;;19840:50;;;19886:1;19883;19876:12;19840:50;19919:4;19907:17;;-1:-1:-1;19978:4:227;19966:17;;19950:14;19946:38;19936:49;;19933:69;;;19998:1;19995;19988:12;20296:604;20389:4;20395:6;20455:11;20442:25;20545:66;20534:8;20518:14;20514:29;20510:102;20490:18;20486:127;20476:155;;20627:1;20624;20617:12;20476:155;20654:33;;20706:20;;;-1:-1:-1;20749:18:227;20738:30;;20735:50;;;20781:1;20778;20771:12;20735:50;20814:4;20802:17;;-1:-1:-1;20865:1:227;20861:14;;;20845;20841:35;20831:46;;20828:66;;;20890:1;20887;20880:12;20905:671;21150:2;21139:9;21132:21;21113:4;21176:61;21233:2;21222:9;21218:18;21210:6;21202;21176:61;:::i;:::-;21285:9;21277:6;21273:22;21268:2;21257:9;21253:18;21246:50;21320:6;21312;21305:22;21350:66;21342:6;21339:78;21336:98;;;21430:1;21427;21420:12;21336:98;21464:6;21461:1;21457:14;21518:6;21510;21505:2;21497:6;21493:15;21480:45;21546:19;21567:2;21542:28;;20905:671;-1:-1:-1;;;;;;20905:671:227:o;21581:1097::-;21740:6;21748;21756;21764;21817:3;21805:9;21796:7;21792:23;21788:33;21785:53;;;21834:1;21831;21824:12;21785:53;21866:9;21860:16;21885:31;21910:5;21885:31;:::i;:::-;21985:2;21970:18;;21964:25;21935:5;;-1:-1:-1;21998:33:227;21964:25;21998:33;:::i;:::-;22102:2;22087:18;;22081:25;22050:7;;-1:-1:-1;22115:33:227;22081:25;22115:33;:::i;:::-;22218:2;22203:18;;22197:25;22167:7;;-1:-1:-1;22245:18:227;22234:30;;22231:50;;;22277:1;22274;22267:12;22231:50;22300:22;;22353:4;22345:13;;22341:27;-1:-1:-1;22331:55:227;;22382:1;22379;22372:12;22331:55;22411:2;22405:9;22436:48;22452:31;22480:2;22452:31;:::i;22436:48::-;22507:2;22500:5;22493:17;22547:7;22542:2;22537;22533;22529:11;22525:20;22522:33;22519:53;;;22568:1;22565;22558:12;22519:53;22581:67;22645:2;22640;22633:5;22629:14;22624:2;22620;22616:11;22581:67;:::i;:::-;21581:1097;;;;-1:-1:-1;21581:1097:227;;-1:-1:-1;;;;21581:1097:227:o;22683:218::-;22763:6;22816:2;22804:9;22795:7;22791:23;22787:32;22784:52;;;22832:1;22829;22822:12;22784:52;22855:40;22887:7;22876:9;22855:40;:::i;22906:664::-;22961:3;22999:5;22993:12;23026:6;23021:3;23014:19;23052:4;23081:2;23076:3;23072:12;23065:19;;23118:2;23111:5;23107:14;23139:1;23149:396;23163:6;23160:1;23157:13;23149:396;;;23222:13;;23264:9;;23275:42;23260:58;23248:71;;23363:11;;;23357:18;23377:4;23353:29;23339:12;;;23332:51;23406:4;23450:11;;;23444:18;23430:12;;;23423:40;23492:4;23483:14;;;;23520:15;;;;23185:1;23178:9;23149:396;;;-1:-1:-1;23561:3:227;;22906:664;-1:-1:-1;;;;;22906:664:227:o;23575:835::-;23625:3;23653:42;23734:2;23726:5;23720:12;23716:21;23711:3;23704:34;23801:4;23794:5;23790:16;23784:23;23777:31;23770:39;23763:4;23758:3;23754:14;23747:63;23856:4;23849:5;23845:16;23839:23;23919:2;23904:12;23898:19;23894:28;23887:4;23882:3;23878:14;23871:52;23989:2;23981:4;23967:12;23963:23;23957:30;23953:39;23948:2;23943:3;23939:12;23932:61;24060:2;24052:4;24038:12;24034:23;24028:30;24024:39;24018:3;24013;24009:13;24002:62;;;24112:2;24105:5;24101:14;24095:21;24148:4;24141;24136:3;24132:14;24125:28;24174:62;24230:4;24225:3;24221:14;24205;24174:62;:::i;:::-;24162:74;;24284:3;24277:5;24273:15;24267:22;24331:3;24325:4;24321:14;24314:4;24309:3;24305:14;24298:38;24352:52;24399:4;24383:14;24352:52;:::i;24415:585::-;24674:4;24703:42;24784:2;24776:6;24772:15;24761:9;24754:34;24836:2;24828:6;24824:15;24819:2;24808:9;24804:18;24797:43;;24876:3;24871:2;24860:9;24856:18;24849:31;24897:54;24946:3;24935:9;24931:19;24923:6;24897:54;:::i;:::-;24889:62;;24987:6;24982:2;24971:9;24967:18;24960:34;24415:585;;;;;;;:::o;25005:435::-;25230:42;25222:6;25218:55;25207:9;25200:74;25310:6;25305:2;25294:9;25290:18;25283:34;25353:2;25348;25337:9;25333:18;25326:30;25181:4;25373:61;25430:2;25419:9;25415:18;25407:6;25399;25373:61;:::i;26092:184::-;26144:77;26141:1;26134:88;26241:4;26238:1;26231:15;26265:4;26262:1;26255:15;26281:394;26385:4;26443:11;26430:25;26533:66;26522:8;26506:14;26502:29;26498:102;26478:18;26474:127;26464:155;;26615:1;26612;26605:12;26680:972;26804:9;26863:4;26855:5;26839:14;26835:26;26831:37;26828:57;;;26881:1;26878;26871:12;26828:57;26914:2;26908:9;26956:4;26948:6;26944:17;26980:18;27048:6;27036:10;27033:22;27028:2;27016:10;27013:18;27010:46;27007:72;;;27059:18;;:::i;:::-;27099:10;27095:2;27088:22;27146:5;27133:19;27119:33;;27175:2;27167:6;27164:14;27161:34;;;27191:1;27188;27181:12;27161:34;27219:61;27265:14;27256:6;27249:5;27245:18;27219:61;:::i;:::-;27211:6;27204:77;27338:2;27331:5;27327:14;27314:28;27309:2;27301:6;27297:15;27290:53;27400:2;27393:5;27389:14;27376:28;27371:2;27363:6;27359:15;27352:53;27454:2;27447:5;27443:14;27430:28;27414:44;;27483:2;27473:8;27470:16;27467:36;;;27499:1;27496;27489:12;27467:36;;27536:81;27602:14;27591:8;27584:5;27580:20;27536:81;:::i;:::-;27531:2;27519:15;;27512:106;-1:-1:-1;27523:6:227;26680:972;-1:-1:-1;;26680:972:227:o;27657:384::-;27751:4;27809:11;27796:25;27899:66;27888:8;27872:14;27868:29;27864:102;27844:18;27840:127;27830:155;;27981:1;27978;27971:12;28378:182;28435:6;28488:2;28476:9;28467:7;28463:23;28459:32;28456:52;;;28504:1;28501;28494:12;28456:52;28527:27;28544:9;28527:27;:::i;29235:128::-;29302:9;;;29323:11;;;29320:37;;;29337:18;;:::i;29368:435::-;29421:3;29459:5;29453:12;29486:6;29481:3;29474:19;29512:4;29541:2;29536:3;29532:12;29525:19;;29578:2;29571:5;29567:14;29599:1;29609:169;29623:6;29620:1;29617:13;29609:169;;;29684:13;;29672:26;;29718:12;;;;29753:15;;;;29645:1;29638:9;29609:169;;29808:2006;30056:4;30085:42;30166:2;30158:6;30154:15;30143:9;30136:34;30189:2;30227:3;30222:2;30211:9;30207:18;30200:31;30266:6;30260:13;30310:3;30304;30293:9;30289:19;30282:32;30337:60;30392:3;30381:9;30377:19;30363:12;30337:60;:::i;:::-;30323:74;;30452:2;30444:6;30440:15;30434:22;30428:3;30417:9;30413:19;30406:51;30476:4;30535:2;30527:6;30523:15;30517:22;30511:3;30500:9;30496:19;30489:51;30559:4;30612:2;30604:6;30600:15;30594:22;30681:66;30669:9;30661:6;30657:22;30653:95;30647:3;30636:9;30632:19;30625:124;30769:6;30804:14;30798:21;30843:6;30835;30828:22;30878:2;30870:6;30866:15;30859:22;;30937:2;30927:6;30924:1;30920:14;30912:6;30908:27;30904:36;30983:2;30967:14;30963:23;30949:37;;31004:1;31014:685;31028:6;31025:1;31022:13;31014:685;;;31114:66;31105:6;31097;31093:19;31089:92;31084:3;31077:105;31211:6;31205:13;31261:2;31256;31250:9;31246:18;31238:6;31231:34;31314:2;31310;31306:11;31300:18;31355:2;31350;31342:6;31338:15;31331:27;31385:61;31442:2;31434:6;31430:15;31414:14;31385:61;:::i;:::-;31487:11;;;31481:18;31536:19;;;31519:15;;;31512:44;31481:18;31371:75;-1:-1:-1;31579:40:227;31371:75;31481:18;31579:40;:::i;:::-;31642:15;;;;31677:12;;;;31569:50;-1:-1:-1;;;31050:1:227;31043:9;31014:685;;;-1:-1:-1;31738:18:227;;;31731:34;;;;-1:-1:-1;;31781:18:227;;;31774:34;;;;-1:-1:-1;31716:6:227;;29808:2006;-1:-1:-1;;;;;;29808:2006:227:o;31819:1089::-;32161:4;32190:3;32232:42;32224:6;32220:55;32209:9;32202:74;32312:2;32307;32296:9;32292:18;32285:30;32338:53;32387:2;32376:9;32372:18;32364:6;32338:53;:::i;:::-;32324:67;;32439:9;32431:6;32427:22;32422:2;32411:9;32407:18;32400:50;32467:41;32501:6;32493;32467:41;:::i;:::-;32459:49;;;32557:6;32544:20;32539:2;32528:9;32524:18;32517:48;32627:2;32619:6;32615:15;32602:29;32596:3;32585:9;32581:19;32574:58;32694:2;32686:6;32682:15;32669:29;32663:3;32652:9;32648:19;32641:58;32761:2;32753:6;32749:15;32736:29;32730:3;32719:9;32715:19;32708:58;32828:3;32820:6;32816:16;32803:30;32797:3;32786:9;32782:19;32775:59;32896:3;32888:6;32884:16;32871:30;32865:3;32854:9;32850:19;32843:59;31819:1089;;;;;;;:::o;33471:195::-;33510:3;33541:66;33534:5;33531:77;33528:103;;33611:18;;:::i;:::-;-1:-1:-1;33658:1:227;33647:13;;33471:195::o;34218:::-;34322:9;34359:48;34392:14;34385:5;34359:48;:::i;34418:593::-;34499:5;34506:6;34566:3;34553:17;34648:66;34637:8;34621:14;34617:29;34613:102;34593:18;34589:127;34579:155;;34730:1;34727;34720:12;34579:155;34758:33;;34862:4;34849:18;;;-1:-1:-1;34810:21:227;;-1:-1:-1;34890:18:227;34879:30;;34876:50;;;34922:1;34919;34912:12;34876:50;34981:4;34973:6;34969:17;34953:14;34949:38;34942:5;34938:50;34935:70;;;35001:1;34998;34991:12;35016:753;35127:6;35122:3;35115:19;35097:3;35153:4;35182:2;35177:3;35173:12;35166:19;;35208:5;35231:1;35241:503;35255:6;35252:1;35249:13;35241:503;;;35332:6;35319:20;35352:33;35377:7;35352:33;:::i;:::-;35423:42;35410:56;35398:69;;35540:4;35505:33;35522:15;;;35505:33;:::i;:::-;35501:44;35487:12;;;35480:66;35569:4;35620:15;;;35607:29;35593:12;;;35586:51;35660:4;35684:12;;;;35719:15;;;;35277:1;35270:9;35241:503;;35774:1791;35976:4;36005:42;36086:2;36078:6;36074:15;36063:9;36056:34;36126:2;36121;36110:9;36106:18;36099:30;36164:6;36151:20;36180:31;36205:5;36180:31;:::i;:::-;36247:14;;36242:2;36227:18;;36220:42;36311:2;36299:15;;36286:29;36324:30;36286:29;36324:30;:::i;:::-;36398:15;36391:23;36385:3;36370:19;;36363:52;36464:4;36452:17;;36439:31;36479:33;36439:31;36479:33;:::i;:::-;36549:16;;36543:3;36528:19;;36521:45;36615:2;36603:15;;36590:29;36628:33;36590:29;36628:33;:::i;:::-;36698:16;;36692:3;36677:19;;36670:45;36764:3;36752:16;;36739:30;36778:33;36739:30;36778:33;:::i;:::-;36849:16;36842:4;36827:20;;36820:46;36909:79;36983:3;36971:16;;36975:6;36909:79;:::i;:::-;37025:4;37019:3;37008:9;37004:19;36997:33;37053:97;37145:3;37134:9;37130:19;37116:12;37102;37053:97;:::i;:::-;37039:111;;;37197:79;37271:3;37263:6;37259:16;37251:6;37197:79;:::i;:::-;37341:66;37329:9;37321:6;37317:22;37313:95;37307:3;37296:9;37292:19;37285:124;37426:88;37507:6;37491:14;37475;37426:88;:::i;:::-;37418:96;;;;;37552:6;37545:4;37534:9;37530:20;37523:36;35774:1791;;;;;;:::o;38232:260::-;38413:2;38402:9;38395:21;38376:4;38433:53;38482:2;38471:9;38467:18;38459:6;38433:53;:::i;38497:217::-;38644:2;38633:9;38626:21;38607:4;38664:44;38704:2;38693:9;38689:18;38681:6;38664:44;:::i;38719:673::-;38782:3;38813;38845:5;38839:12;38872:6;38867:3;38860:19;38898:4;38927:2;38922:3;38918:12;38911:19;;38983:2;38973:6;38970:1;38966:14;38959:5;38955:26;38951:35;39020:2;39013:5;39009:14;39041:1;39051:315;39065:6;39062:1;39059:13;39051:315;;;39148:66;39140:5;39134:4;39130:16;39126:89;39121:3;39114:102;39237:49;39281:4;39272:6;39266:13;39237:49;:::i;:::-;39344:12;;;;39229:57;-1:-1:-1;39309:15:227;;;;39087:1;39080:9;39051:315;;39397:901;39911:42;39903:6;39899:55;39888:9;39881:74;39991:6;39986:2;39975:9;39971:18;39964:34;40034:6;40029:2;40018:9;40014:18;40007:34;40077:3;40072:2;40061:9;40057:18;40050:31;39862:4;40104:67;40166:3;40155:9;40151:19;40143:6;40104:67;:::i;:::-;40220:9;40212:6;40208:22;40202:3;40191:9;40187:19;40180:51;40248:44;40285:6;40277;40248:44;:::i;40303:661::-;40368:5;40421:3;40414:4;40406:6;40402:17;40398:27;40388:55;;40439:1;40436;40429:12;40388:55;40468:6;40462:13;40494:4;40518:62;40534:45;40576:2;40534:45;:::i;40518:62::-;40614:15;;;40700:1;40696:10;;;;40684:23;;40680:32;;;40645:12;;;;40724:15;;;40721:35;;;40752:1;40749;40742:12;40721:35;40788:2;40780:6;40776:15;40800:135;40816:6;40811:3;40808:15;40800:135;;;40882:10;;40870:23;;40913:12;;;;40833;;40800:135;;40969:614;41098:6;41106;41159:2;41147:9;41138:7;41134:23;41130:32;41127:52;;;41175:1;41172;41165:12;41127:52;41208:9;41202:16;41237:18;41278:2;41270:6;41267:14;41264:34;;;41294:1;41291;41284:12;41264:34;41317:72;41381:7;41372:6;41361:9;41357:22;41317:72;:::i;:::-;41307:82;;41435:2;41424:9;41420:18;41414:25;41398:41;;41464:2;41454:8;41451:16;41448:36;;;41480:1;41477;41470:12;41448:36;;41503:74;41569:7;41558:8;41547:9;41543:24;41503:74;:::i;:::-;41493:84;;;40969:614;;;;;:::o;41588:441::-;41857:42;41849:6;41845:55;41834:9;41827:74;41937:2;41932;41921:9;41917:18;41910:30;41808:4;41957:66;42019:2;42008:9;42004:18;41996:6;41957:66;:::i;42034:368::-;42277:6;42266:9;42259:25;42320:2;42315;42304:9;42300:18;42293:30;42240:4;42340:56;42392:2;42381:9;42377:18;42369:6;42340:56;:::i;42407:245::-;42474:6;42527:2;42515:9;42506:7;42502:23;42498:32;42495:52;;;42543:1;42540;42533:12;42495:52;42575:9;42569:16;42594:28;42616:5;42594:28;:::i;43068:184::-;43120:77;43117:1;43110:88;43217:4;43214:1;43207:15;43241:4;43238:1;43231:15;43257:168;43330:9;;;43361;;43378:15;;;43372:22;;43358:37;43348:71;;43399:18;;:::i;43430:482::-;43519:1;43562:5;43519:1;43576:330;43597:7;43587:8;43584:21;43576:330;;;43716:4;43648:66;43644:77;43638:4;43635:87;43632:113;;;43725:18;;:::i;:::-;43775:7;43765:8;43761:22;43758:55;;;43795:16;;;;43758:55;43874:22;;;;43834:15;;;;43576:330;;;43580:3;43430:482;;;;;:::o;43917:866::-;43966:5;43996:8;43986:80;;-1:-1:-1;44037:1:227;44051:5;;43986:80;44085:4;44075:76;;-1:-1:-1;44122:1:227;44136:5;;44075:76;44167:4;44185:1;44180:59;;;;44253:1;44248:130;;;;44160:218;;44180:59;44210:1;44201:10;;44224:5;;;44248:130;44285:3;44275:8;44272:17;44269:43;;;44292:18;;:::i;:::-;-1:-1:-1;;44348:1:227;44334:16;;44363:5;;44160:218;;44462:2;44452:8;44449:16;44443:3;44437:4;44434:13;44430:36;44424:2;44414:8;44411:16;44406:2;44400:4;44397:12;44393:35;44390:77;44387:159;;;-1:-1:-1;44499:19:227;;;44531:5;;44387:159;44578:34;44603:8;44597:4;44578:34;:::i;:::-;44708:6;44640:66;44636:79;44627:7;44624:92;44621:118;;;44719:18;;:::i;:::-;44757:20;;43917:866;-1:-1:-1;;;43917:866:227:o;44788:131::-;44848:5;44877:36;44904:8;44898:4;44877:36;:::i;44924:184::-;44976:77;44973:1;44966:88;45073:4;45070:1;45063:15;45097:4;45094:1;45087:15;45113:287;45242:3;45280:6;45274:13;45296:66;45355:6;45350:3;45343:4;45335:6;45331:17;45296:66;:::i;45405:288::-;45580:2;45569:9;45562:21;45543:4;45600:44;45640:2;45629:9;45625:18;45617:6;45600:44;:::i;:::-;45592:52;;45680:6;45675:2;45664:9;45660:18;45653:34;45405:288;;;;;:::o;46813:::-;46988:6;46977:9;46970:25;47031:2;47026;47015:9;47011:18;47004:30;46951:4;47051:44;47091:2;47080:9;47076:18;47068:6;47051: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 DeployerDiscoverableMetaV3ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":[],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoSources\",\"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\":\"SourceIndexOutOfBounds\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"}],\"name\":\"UnsupportedCalculateInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"outputs\",\"type\":\"uint256\"}],\"name\":\"UnsupportedCalculateOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"}],\"name\":\"UnsupportedHandleInputs\",\"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\":\"ZeroMaximumInput\",\"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 IExpressionDeployerV3\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2\",\"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 IExpressionDeployerV3\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV3\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"aliceOrder\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"bobOrder\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2[]\",\"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\":{\"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.\"}}],\"SourceIndexOutOfBounds(bytes,uint256)\":[{\"params\":{\"bytecode\":\"The bytecode that was inspected.\",\"sourceIndex\":\"The source index that was out of bounds.\"}}],\"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.\"}}],\"UnsupportedCalculateInputs(uint256)\":[{\"params\":{\"inputs\":\"The inputs the expression wants.\"}}],\"UnsupportedCalculateOutputs(uint256)\":[{\"params\":{\"outputs\":\"The outputs the expression offers.\"}}],\"UnsupportedHandleInputs(uint256)\":[{\"params\":{\"inputs\":\"The inputs the expression wants.\"}}],\"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\":{\"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()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceIndexOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source index 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.\"}],\"UnsupportedCalculateInputs(uint256)\":[{\"notice\":\"Thrown when calculate order expression wants inputs.\"}],\"UnsupportedCalculateOutputs(uint256)\":[{\"notice\":\"Thrown when calculate order expression offers too few outputs.\"}],\"UnsupportedHandleInputs(uint256)\":[{\"notice\":\"Thrown when handle IO expression wants inputs.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroMaximumInput()\":[{\"notice\":\"Thrown when take orders is called with a zero maximum input.\"}],\"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/\",\":bitwise/=lib/rain.interpreter/src/lib/bitwise/\",\":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/DeployerDiscoverableMetaV3.sol\":{\"keccak256\":\"0xe333361bf503def41107d2e38acb421f11766e636ffe0728fef933097c66857b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://43b69e65c41a2cb13304d8d8b7fe31ee8d1cb55708b6cf60b799552bb09b4c1b\",\"dweb:/ipfs/QmXy4CDRjBVMezbH72uTkYJNrt6yQLVnjNkheD5773MKrn\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813\",\"dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3\",\"dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d\",\"dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol\":{\"keccak256\":\"0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214\",\"dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c\",\"dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol\":{\"keccak256\":\"0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3\",\"dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol\":{\"keccak256\":\"0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69\",\"dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg\"]},\"lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol\":{\"keccak256\":\"0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8\",\"dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0xac53e84486e843acbabd6ba258550ba947c35c33a570e4615e57ff15a77d57e0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e07c2907da9323f1d6d5b6557e87a904fdf1be3768ad64bb59655d060128bee4\",\"dweb:/ipfs/QmbukDZevfHYZ27yPqfmG1UFw8TsGbCRyH6Uc536QrtgHK\"]},\"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\":\"0x3949de1f4537cd262d54a06a64028343793c6110611c7b4967de3153de4b3b55\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9bdd88ec9a7dc671c33bf73e9fe1801bcf7d4a2eb4e6308186f8a7adc4b712dc\",\"dweb:/ipfs/Qme27jUCKETZ9ASPqVbyiQPGTj7ifgZdmRZcsJqgm5hkEW\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0x4f011d07a8fa4b24efccb02022bff68730d53c852424817a4ca3cfc134bbc455\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fd0ffd2bdc5e2af1f2f67938d70e2ae694a0285a4fae4818530aa86edce400b1\",\"dweb:/ipfs/QmQAcoLvHatMANZpm5aP1vCaVm3xp1tF5MnZjQiX7AfiRe\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1\",\"dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0x29574214b0e499343ea999d676764a18618485dece1cedc732ab73e779302153\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4de0c0b4d297bbe286bf2e6ec8ba38ef3ea93811826d910c00381df86e54661f\",\"dweb:/ipfs/QmdJv5EgqtuRo2iTdChUE5hjhJgtBhBzztYqPUXevU6J5y\"]},\"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\":\"0x7c8af4eadf49bf142d27079e4d17a508269b40a19672ca8ade7eb436b608e26e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dc704e5a3e32fd90168f1b297160bffd61090de2a65e4e881f49fd980ce7fd4\",\"dweb:/ipfs/QmZhd6p6XzUEo3qHJTF7iwKkRUSvpwSrNHkEBxYYmumxtW\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0xe5fb1a2b325029e79ad2129dee22c5954d57f2952b009074fdb55a3cebebcb9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7457d8b36045f51a7200e8013b1f9babd12e7b59f9ae4017030b6d449cdc5a0b\",\"dweb:/ipfs/QmdL5cvSsf8qt3Cj8kjgjMcPqRWqeHA9bquP1KcuZ1oBen\"]},\"src/interface/deprecated/IOrderBookV2.sol\":{\"keccak256\":\"0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc\",\"dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4\",\"dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852\",\"dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xa170543b2f0250c5ad500f918e83a3618c86aab9b4fdc428b1e9146d6c914bcb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://134077a0303267df981e9b5868e988989e01432e9eb21778c7432c5ee724c615\",\"dweb:/ipfs/QmSDbRcrBYQJEitQUCBgv9YZmMDiF6uk4HDGeje4qSe4Zc\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "struct DeployerDiscoverableMetaV3ConstructionConfig", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "meta", + "type": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "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": [], + "type": "error", + "name": "OrderNoHandleIO" + }, + { + "inputs": [], + "type": "error", + "name": "OrderNoInputs" + }, + { + "inputs": [], + "type": "error", + "name": "OrderNoOutputs" + }, + { + "inputs": [], + "type": "error", + "name": "OrderNoSources" + }, + { + "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": "SourceIndexOutOfBounds" + }, + { + "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": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + } + ], + "type": "error", + "name": "UnsupportedCalculateInputs" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "outputs", + "type": "uint256" + } + ], + "type": "error", + "name": "UnsupportedCalculateOutputs" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "inputs", + "type": "uint256" + } + ], + "type": "error", + "name": "UnsupportedHandleInputs" + }, + { + "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": "ZeroMaximumInput" + }, + { + "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 IExpressionDeployerV3", + "name": "expressionDeployer", + "type": "address", + "indexed": false + }, + { + "internalType": "struct OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 TakeOrderConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 EvaluableConfigV3", + "name": "evaluableConfig", + "type": "tuple", + "components": [ + { + "internalType": "contract IExpressionDeployerV3", + "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 OrderV2", + "name": "aliceOrder", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "bobOrder", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 TakeOrderConfigV2[]", + "name": "orders", + "type": "tuple[]", + "components": [ + { + "internalType": "struct OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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/", + "bitwise/=lib/rain.interpreter/src/lib/bitwise/", + "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/DeployerDiscoverableMetaV3.sol": { + "keccak256": "0xe333361bf503def41107d2e38acb421f11766e636ffe0728fef933097c66857b", + "urls": [ + "bzz-raw://43b69e65c41a2cb13304d8d8b7fe31ee8d1cb55708b6cf60b799552bb09b4c1b", + "dweb:/ipfs/QmXy4CDRjBVMezbH72uTkYJNrt6yQLVnjNkheD5773MKrn" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { + "keccak256": "0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc", + "urls": [ + "bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813", + "dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19", + "urls": [ + "bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3", + "dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol": { + "keccak256": "0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d", + "urls": [ + "bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d", + "dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol": { + "keccak256": "0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365", + "urls": [ + "bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214", + "dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol": { + "keccak256": "0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2", + "urls": [ + "bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c", + "dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol": { + "keccak256": "0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518", + "urls": [ + "bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3", + "dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol": { + "keccak256": "0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79", + "urls": [ + "bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69", + "dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol": { + "keccak256": "0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50", + "urls": [ + "bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8", + "dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { + "keccak256": "0xac53e84486e843acbabd6ba258550ba947c35c33a570e4615e57ff15a77d57e0", + "urls": [ + "bzz-raw://e07c2907da9323f1d6d5b6557e87a904fdf1be3768ad64bb59655d060128bee4", + "dweb:/ipfs/QmbukDZevfHYZ27yPqfmG1UFw8TsGbCRyH6Uc536QrtgHK" + ], + "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": "0x3949de1f4537cd262d54a06a64028343793c6110611c7b4967de3153de4b3b55", + "urls": [ + "bzz-raw://9bdd88ec9a7dc671c33bf73e9fe1801bcf7d4a2eb4e6308186f8a7adc4b712dc", + "dweb:/ipfs/Qme27jUCKETZ9ASPqVbyiQPGTj7ifgZdmRZcsJqgm5hkEW" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { + "keccak256": "0x4f011d07a8fa4b24efccb02022bff68730d53c852424817a4ca3cfc134bbc455", + "urls": [ + "bzz-raw://fd0ffd2bdc5e2af1f2f67938d70e2ae694a0285a4fae4818530aa86edce400b1", + "dweb:/ipfs/QmQAcoLvHatMANZpm5aP1vCaVm3xp1tF5MnZjQiX7AfiRe" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { + "keccak256": "0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21", + "urls": [ + "bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1", + "dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { + "keccak256": "0x29574214b0e499343ea999d676764a18618485dece1cedc732ab73e779302153", + "urls": [ + "bzz-raw://4de0c0b4d297bbe286bf2e6ec8ba38ef3ea93811826d910c00381df86e54661f", + "dweb:/ipfs/QmdJv5EgqtuRo2iTdChUE5hjhJgtBhBzztYqPUXevU6J5y" + ], + "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": "0x7c8af4eadf49bf142d27079e4d17a508269b40a19672ca8ade7eb436b608e26e", + "urls": [ + "bzz-raw://1dc704e5a3e32fd90168f1b297160bffd61090de2a65e4e881f49fd980ce7fd4", + "dweb:/ipfs/QmZhd6p6XzUEo3qHJTF7iwKkRUSvpwSrNHkEBxYYmumxtW" + ], + "license": "CAL" + }, + "src/concrete/OrderBook.sol": { + "keccak256": "0xe5fb1a2b325029e79ad2129dee22c5954d57f2952b009074fdb55a3cebebcb9c", + "urls": [ + "bzz-raw://7457d8b36045f51a7200e8013b1f9babd12e7b59f9ae4017030b6d449cdc5a0b", + "dweb:/ipfs/QmdL5cvSsf8qt3Cj8kjgjMcPqRWqeHA9bquP1KcuZ1oBen" + ], + "license": "CAL" + }, + "src/interface/deprecated/IOrderBookV2.sol": { + "keccak256": "0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb", + "urls": [ + "bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc", + "dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8" + ], + "license": "CAL" + }, + "src/interface/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", + "urls": [ + "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", + "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" + ], + "license": "CC0" + }, + "src/interface/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72", + "urls": [ + "bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4", + "dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie" + ], + "license": "CC0" + }, + "src/interface/unstable/IOrderBookV3.sol": { + "keccak256": "0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1", + "urls": [ + "bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852", + "dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT" + ], + "license": "CAL" + }, + "src/interface/unstable/IOrderBookV3OrderTaker.sol": { + "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", + "urls": [ + "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", + "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" + ], + "license": "CAL" + }, + "src/lib/LibOrder.sol": { + "keccak256": "0xa170543b2f0250c5ad500f918e83a3618c86aab9b4fdc428b1e9146d6c914bcb", + "urls": [ + "bzz-raw://134077a0303267df981e9b5868e988989e01432e9eb21778c7432c5ee724c615", + "dweb:/ipfs/QmSDbRcrBYQJEitQUCBgv9YZmMDiF6uk4HDGeje4qSe4Zc" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/concrete/OrderBook.sol", + "id": 78179, + "exportedSymbols": { + "CALCULATE_ORDER_ENTRYPOINT": [ + 75941 + ], + "CALCULATE_ORDER_MAX_OUTPUTS": [ + 75957 + ], + "CALCULATE_ORDER_MIN_OUTPUTS": [ + 75953 + ], + "CALLER_META_HASH": [ + 76020 + ], + "CALLING_CONTEXT_COLUMNS": [ + 75969 + ], + "CONTEXT_BASE_COLUMN": [ + 75973 + ], + "CONTEXT_CALCULATIONS_COLUMN": [ + 75981 + ], + "CONTEXT_CALLING_CONTEXT_COLUMN": [ + 75977 + ], + "CONTEXT_VAULT_INPUTS_COLUMN": [ + 75985 + ], + "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ + 76005 + ], + "CONTEXT_VAULT_IO_BALANCE_DIFF": [ + 76009 + ], + "CONTEXT_VAULT_IO_ROWS": [ + 76013 + ], + "CONTEXT_VAULT_IO_TOKEN": [ + 75993 + ], + "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ + 75997 + ], + "CONTEXT_VAULT_IO_VAULT_ID": [ + 76001 + ], + "CONTEXT_VAULT_OUTPUTS_COLUMN": [ + 75989 + ], + "ClearConfig": [ + 78728 + ], + "ClearStateChange": [ + 78737 + ], + "DeployerDiscoverableMetaV3": [ + 54788 + ], + "DeployerDiscoverableMetaV3ConstructionConfig": [ + 54743 + ], + "EncodedDispatch": [ + 55875 + ], + "EvaluableV2": [ + 55632 + ], + "FLAG_ROUND_UP": [ + 72386 + ], + "FLAG_SATURATE": [ + 72392 + ], + "HANDLE_IO_ENTRYPOINT": [ + 75949 + ], + "HANDLE_IO_MAX_OUTPUTS": [ + 75965 + ], + "HANDLE_IO_MIN_OUTPUTS": [ + 75961 + ], + "IERC20": [ + 44376 + ], + "IExpressionDeployerV3": [ + 55986 + ], + "IInterpreterStoreV1": [ + 55698 + ], + "IInterpreterV2": [ + 56032 + ], + "IOrderBookV3": [ + 79289 + ], + "IOrderBookV3OrderTaker": [ + 79323 + ], + "Input18Amount": [ + 76045 + ], + "LibBytecode": [ + 56710 + ], + "LibContext": [ + 57009 + ], + "LibEncodedDispatch": [ + 57164 + ], + "LibFixedPointDecimalArithmeticOpenZeppelin": [ + 72453 + ], + "LibFixedPointDecimalScale": [ + 72859 + ], + "LibMeta": [ + 73191 + ], + "LibNamespace": [ + 57900 + ], + "LibOrder": [ + 79345 + ], + "LibUint256Array": [ + 73827 + ], + "Math": [ + 46932 + ], + "MinimumInput": [ + 75905 + ], + "Multicall": [ + 45336 + ], + "NoOrders": [ + 78997 + ], + "NotOrderOwner": [ + 75884 + ], + "ORDER_DEAD": [ + 75933 + ], + "ORDER_LIVE": [ + 75929 + ], + "OrderBook": [ + 78178 + ], + "OrderBookV3FlashLender": [ + 75553 + ], + "OrderConfigV2": [ + 79014 + ], + "OrderIOCalculationV2": [ + 76041 + ], + "OrderV2": [ + 79042 + ], + "Output18Amount": [ + 76043 + ], + "ReentrancyGuard": [ + 43711 + ], + "ReentrancyGuardReentrantCall": [ + 75877 + ], + "SafeERC20": [ + 44813 + ], + "SameOwner": [ + 75910 + ], + "SignedContextV1": [ + 55640 + ], + "SourceIndexV2": [ + 55998 + ], + "StateNamespace": [ + 55877 + ], + "TakeOrderConfigV2": [ + 79026 + ], + "TakeOrdersConfigV2": [ + 79055 + ], + "TokenDecimalsMismatch": [ + 75898 + ], + "TokenMismatch": [ + 75891 + ], + "UnsupportedCalculateInputs": [ + 75915 + ], + "UnsupportedCalculateOutputs": [ + 75920 + ], + "UnsupportedHandleInputs": [ + 75925 + ], + "ZeroMaximumInput": [ + 79000 + ] + }, + "nodeType": "SourceUnit", + "src": "32:47201:172", + "nodes": [ + { + "id": 75814, + "nodeType": "PragmaDirective", + "src": "32:24:172", + "nodes": [], + "literals": [ + "solidity", + "=", + "0.8", + ".19" + ] + }, + { + "id": 75816, + "nodeType": "ImportDirective", + "src": "58:74:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", + "file": "openzeppelin-contracts/contracts/utils/math/Math.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 46933, + "symbolAliases": [ + { + "foreign": { + "id": 75815, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46932, + "src": "66:4:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75818, + "nodeType": "ImportDirective", + "src": "133:79:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", + "file": "openzeppelin-contracts/contracts/utils/Multicall.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 45337, + "symbolAliases": [ + { + "foreign": { + "id": 75817, + "name": "Multicall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45336, + "src": "141:9:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75820, + "nodeType": "ImportDirective", + "src": "213:79:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "file": "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 44377, + "symbolAliases": [ + { + "foreign": { + "id": 75819, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "221:6:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75822, + "nodeType": "ImportDirective", + "src": "293:91:172", + "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": 78179, + "sourceUnit": 44814, + "symbolAliases": [ + { + "foreign": { + "id": 75821, + "name": "SafeERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44813, + "src": "301:9:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75824, + "nodeType": "ImportDirective", + "src": "385:94:172", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "file": "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 43712, + "symbolAliases": [ + { + "foreign": { + "id": 75823, + "name": "ReentrancyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43711, + "src": "393:15:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75827, + "nodeType": "ImportDirective", + "src": "481:101:172", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol", + "file": "rain.math.fixedpoint/lib/FixedPointDecimalConstants.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 72403, + "symbolAliases": [ + { + "foreign": { + "id": 75825, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72392, + "src": "489:13:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75826, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72386, + "src": "504:13:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75829, + "nodeType": "ImportDirective", + "src": "583:135:172", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", + "file": "rain.math.fixedpoint/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 72454, + "symbolAliases": [ + { + "foreign": { + "id": 75828, + "name": "LibFixedPointDecimalArithmeticOpenZeppelin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72453, + "src": "591:42:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75831, + "nodeType": "ImportDirective", + "src": "719:97:172", + "nodes": [], + "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", + "file": "rain.math.fixedpoint/lib/LibFixedPointDecimalScale.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 72860, + "symbolAliases": [ + { + "foreign": { + "id": 75830, + "name": "LibFixedPointDecimalScale", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72859, + "src": "727:25:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75834, + "nodeType": "ImportDirective", + "src": "817:107:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "file": "rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 57165, + "symbolAliases": [ + { + "foreign": { + "id": 75832, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57164, + "src": "825:18:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75833, + "name": "EncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55875, + "src": "845:15:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75836, + "nodeType": "ImportDirective", + "src": "925:74:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", + "file": "rain.interpreter/src/lib/caller/LibContext.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 57010, + "symbolAliases": [ + { + "foreign": { + "id": 75835, + "name": "LibContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57009, + "src": "933:10:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75840, + "nodeType": "ImportDirective", + "src": "1000:173:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV3.sol", + "file": "rain.interpreter/src/abstract/DeployerDiscoverableMetaV3.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 54789, + "symbolAliases": [ + { + "foreign": { + "id": 75837, + "name": "DeployerDiscoverableMetaV3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54788, + "src": "1013:26:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75838, + "name": "DeployerDiscoverableMetaV3ConstructionConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54743, + "src": "1045:44:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75839, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73191, + "src": "1095:7:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75842, + "nodeType": "ImportDirective", + "src": "1174:78:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "file": "rain.interpreter/src/lib/bytecode/LibBytecode.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 56711, + "symbolAliases": [ + { + "foreign": { + "id": 75841, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56710, + "src": "1182:11:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75846, + "nodeType": "ImportDirective", + "src": "1253:127:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol", + "file": "rain.interpreter/src/interface/unstable/IInterpreterV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 56033, + "symbolAliases": [ + { + "foreign": { + "id": 75843, + "name": "SourceIndexV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55998, + "src": "1266:13:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75844, + "name": "StateNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55877, + "src": "1281:14:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75845, + "name": "IInterpreterV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56032, + "src": "1297:14:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75856, + "nodeType": "ImportDirective", + "src": "1381:228:172", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3.sol", + "file": "../interface/unstable/IOrderBookV3.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 79290, + "symbolAliases": [ + { + "foreign": { + "id": 75847, + "name": "IOrderBookV3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79289, + "src": "1394:12:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75848, + "name": "NoOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78997, + "src": "1412:8:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75849, + "name": "OrderV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79042, + "src": "1426:7:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75850, + "name": "OrderConfigV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79014, + "src": "1439:13:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75851, + "name": "TakeOrderConfigV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79026, + "src": "1458:17:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75852, + "name": "TakeOrdersConfigV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79055, + "src": "1481:18:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75853, + "name": "ClearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78728, + "src": "1505:11:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75854, + "name": "ClearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78737, + "src": "1522:16:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 75855, + "name": "ZeroMaximumInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79000, + "src": "1544:16:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75858, + "nodeType": "ImportDirective", + "src": "1610:88:172", + "nodes": [], + "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", + "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 79324, + "symbolAliases": [ + { + "foreign": { + "id": 75857, + "name": "IOrderBookV3OrderTaker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79323, + "src": "1618:22:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75860, + "nodeType": "ImportDirective", + "src": "1699:45:172", + "nodes": [], + "absolutePath": "src/lib/LibOrder.sol", + "file": "../lib/LibOrder.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 79346, + "symbolAliases": [ + { + "foreign": { + "id": 75859, + "name": "LibOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79345, + "src": "1707:8:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75862, + "nodeType": "ImportDirective", + "src": "1745:78:172", + "nodes": [], + "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", + "file": "../abstract/OrderBookV3FlashLender.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 75554, + "symbolAliases": [ + { + "foreign": { + "id": 75861, + "name": "OrderBookV3FlashLender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75553, + "src": "1753:22:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75864, + "nodeType": "ImportDirective", + "src": "1824:68:172", + "nodes": [], + "absolutePath": "lib/rain.solmem/src/lib/LibUint256Array.sol", + "file": "rain.solmem/lib/LibUint256Array.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 73828, + "symbolAliases": [ + { + "foreign": { + "id": 75863, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "1832:15:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75866, + "nodeType": "ImportDirective", + "src": "1893:88:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol", + "file": "rain.interpreter/src/interface/IInterpreterCallerV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 55661, + "symbolAliases": [ + { + "foreign": { + "id": 75865, + "name": "SignedContextV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55640, + "src": "1901:15:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75868, + "nodeType": "ImportDirective", + "src": "1982:77:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol", + "file": "rain.interpreter/src/lib/caller/LibEvaluable.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 57188, + "symbolAliases": [ + { + "foreign": { + "id": 75867, + "name": "EvaluableV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55632, + "src": "1990:11:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75870, + "nodeType": "ImportDirective", + "src": "2060:91:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol", + "file": "rain.interpreter/src/interface/IInterpreterStoreV1.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 55699, + "symbolAliases": [ + { + "foreign": { + "id": 75869, + "name": "IInterpreterStoreV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55698, + "src": "2068:19:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75872, + "nodeType": "ImportDirective", + "src": "2152:104:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol", + "file": "rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 55987, + "symbolAliases": [ + { + "foreign": { + "id": 75871, + "name": "IExpressionDeployerV3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55986, + "src": "2160:21:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75874, + "nodeType": "ImportDirective", + "src": "2257:74:172", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/ns/LibNamespace.sol", + "file": "rain.interpreter/src/lib/ns/LibNamespace.sol", + "nameLocation": "-1:-1:-1", + "scope": 78179, + "sourceUnit": 57901, + "symbolAliases": [ + { + "foreign": { + "id": 75873, + "name": "LibNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57900, + "src": "2265:12:172", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 75877, + "nodeType": "ErrorDefinition", + "src": "2434:37:172", + "nodes": [], + "documentation": { + "id": 75875, + "nodeType": "StructuredDocumentation", + "src": "2333: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": "2440:28:172", + "parameters": { + "id": 75876, + "nodeType": "ParameterList", + "parameters": [], + "src": "2468:2:172" + } + }, + { + "id": 75884, + "nodeType": "ErrorDefinition", + "src": "2647:51:172", + "nodes": [], + "documentation": { + "id": 75878, + "nodeType": "StructuredDocumentation", + "src": "2473: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": "2653:13:172", + "parameters": { + "id": 75883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75880, + "mutability": "mutable", + "name": "sender", + "nameLocation": "2675:6:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "2667:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75879, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2667:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75882, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2691:5:172", + "nodeType": "VariableDeclaration", + "scope": 75884, + "src": "2683:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2683:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2666:31:172" + } + }, + { + "id": 75891, + "nodeType": "ErrorDefinition", + "src": "2915:58:172", + "nodes": [], + "documentation": { + "id": 75885, + "nodeType": "StructuredDocumentation", + "src": "2700: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": "2921:13:172", + "parameters": { + "id": 75890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75887, + "mutability": "mutable", + "name": "aliceToken", + "nameLocation": "2943:10:172", + "nodeType": "VariableDeclaration", + "scope": 75891, + "src": "2935:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75886, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2935:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75889, + "mutability": "mutable", + "name": "bobToken", + "nameLocation": "2963:8:172", + "nodeType": "VariableDeclaration", + "scope": 75891, + "src": "2955:16:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2955:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2934:38:172" + } + }, + { + "id": 75898, + "nodeType": "ErrorDefinition", + "src": "3215:78:172", + "nodes": [], + "documentation": { + "id": 75892, + "nodeType": "StructuredDocumentation", + "src": "2975: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": "3221:21:172", + "parameters": { + "id": 75897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75894, + "mutability": "mutable", + "name": "aliceTokenDecimals", + "nameLocation": "3249:18:172", + "nodeType": "VariableDeclaration", + "scope": 75898, + "src": "3243:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 75893, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3243:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75896, + "mutability": "mutable", + "name": "bobTokenDecimals", + "nameLocation": "3275:16:172", + "nodeType": "VariableDeclaration", + "scope": 75898, + "src": "3269:22:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 75895, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3269:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "3242:50:172" + } + }, + { + "id": 75905, + "nodeType": "ErrorDefinition", + "src": "3439:56:172", + "nodes": [], + "documentation": { + "id": 75899, + "nodeType": "StructuredDocumentation", + "src": "3295: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": "3445:12:172", + "parameters": { + "id": 75904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75901, + "mutability": "mutable", + "name": "minimumInput", + "nameLocation": "3466:12:172", + "nodeType": "VariableDeclaration", + "scope": 75905, + "src": "3458:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3458:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75903, + "mutability": "mutable", + "name": "input", + "nameLocation": "3488:5:172", + "nodeType": "VariableDeclaration", + "scope": 75905, + "src": "3480:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75902, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3480:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3457:37:172" + } + }, + { + "id": 75910, + "nodeType": "ErrorDefinition", + "src": "3601:31:172", + "nodes": [], + "documentation": { + "id": 75906, + "nodeType": "StructuredDocumentation", + "src": "3497: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": "3607:9:172", + "parameters": { + "id": 75909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75908, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3625:5:172", + "nodeType": "VariableDeclaration", + "scope": 75910, + "src": "3617:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 75907, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3617:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3616:15:172" + } + }, + { + "id": 75915, + "nodeType": "ErrorDefinition", + "src": "3742:49:172", + "nodes": [], + "documentation": { + "id": 75911, + "nodeType": "StructuredDocumentation", + "src": "3634:108:172", + "text": "Thrown when calculate order expression wants inputs.\n @param inputs The inputs the expression wants." + }, + "errorSelector": "9a6f079e", + "name": "UnsupportedCalculateInputs", + "nameLocation": "3748:26:172", + "parameters": { + "id": 75914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75913, + "mutability": "mutable", + "name": "inputs", + "nameLocation": "3783:6:172", + "nodeType": "VariableDeclaration", + "scope": 75915, + "src": "3775:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75912, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3775:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3774:16:172" + } + }, + { + "id": 75920, + "nodeType": "ErrorDefinition", + "src": "3914:51:172", + "nodes": [], + "documentation": { + "id": 75916, + "nodeType": "StructuredDocumentation", + "src": "3793:121:172", + "text": "Thrown when calculate order expression offers too few outputs.\n @param outputs The outputs the expression offers." + }, + "errorSelector": "3eee3954", + "name": "UnsupportedCalculateOutputs", + "nameLocation": "3920:27:172", + "parameters": { + "id": 75919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75918, + "mutability": "mutable", + "name": "outputs", + "nameLocation": "3956:7:172", + "nodeType": "VariableDeclaration", + "scope": 75920, + "src": "3948:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3948:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3947:17:172" + } + }, + { + "id": 75925, + "nodeType": "ErrorDefinition", + "src": "4069:46:172", + "nodes": [], + "documentation": { + "id": 75921, + "nodeType": "StructuredDocumentation", + "src": "3967:102:172", + "text": "Thrown when handle IO expression wants inputs.\n @param inputs The inputs the expression wants." + }, + "errorSelector": "9d5f7098", + "name": "UnsupportedHandleInputs", + "nameLocation": "4075:23:172", + "parameters": { + "id": 75924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75923, + "mutability": "mutable", + "name": "inputs", + "nameLocation": "4107:6:172", + "nodeType": "VariableDeclaration", + "scope": 75925, + "src": "4099:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4099:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4098:16:172" + } + }, + { + "id": 75929, + "nodeType": "VariableDeclaration", + "src": "4243:31:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_LIVE", + "nameLocation": "4260:10:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4243:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 75928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4273:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 75933, + "nodeType": "VariableDeclaration", + "src": "4447:31:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "ORDER_DEAD", + "nameLocation": "4464:10:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75931, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4447:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 75932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4477:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 75941, + "nodeType": "VariableDeclaration", + "src": "4550:73:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nameLocation": "4573:26:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + }, + "typeName": { + "id": 75936, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75935, + "name": "SourceIndexV2", + "nameLocations": [ + "4550:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55998, + "src": "4550:13:172" + }, + "referencedDeclaration": 55998, + "src": "4550:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + }, + "value": { + "arguments": [ + { + "hexValue": "30", + "id": 75939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4621: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": 75937, + "name": "SourceIndexV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55998, + "src": "4602:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndexV2_$55998_$", + "typeString": "type(SourceIndexV2)" + } + }, + "id": 75938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4616:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "4602:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_SourceIndexV2_$55998_$", + "typeString": "function (uint256) pure returns (SourceIndexV2)" + } + }, + "id": 75940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4602:21:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + }, + "visibility": "internal" + }, + { + "id": 75949, + "nodeType": "VariableDeclaration", + "src": "4746:67:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_ENTRYPOINT", + "nameLocation": "4769:20:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + }, + "typeName": { + "id": 75944, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 75943, + "name": "SourceIndexV2", + "nameLocations": [ + "4746:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55998, + "src": "4746:13:172" + }, + "referencedDeclaration": 55998, + "src": "4746:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + }, + "value": { + "arguments": [ + { + "hexValue": "31", + "id": 75947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4811: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": 75945, + "name": "SourceIndexV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55998, + "src": "4792:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndexV2_$55998_$", + "typeString": "type(SourceIndexV2)" + } + }, + "id": 75946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4806:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "4792:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_SourceIndexV2_$55998_$", + "typeString": "function (uint256) pure returns (SourceIndexV2)" + } + }, + "id": 75948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4792:21:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + }, + "visibility": "internal" + }, + { + "id": 75953, + "nodeType": "VariableDeclaration", + "src": "4887:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nameLocation": "4904:27:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75951, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4887:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 75952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4934:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 75957, + "nodeType": "VariableDeclaration", + "src": "5008:47:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nameLocation": "5024:27:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 75955, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "5008:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "32", + "id": 75956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5054:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 75961, + "nodeType": "VariableDeclaration", + "src": "5132:42:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MIN_OUTPUTS", + "nameLocation": "5149:21:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75959, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5132:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 75960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5173:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 75965, + "nodeType": "VariableDeclaration", + "src": "5250:41:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HANDLE_IO_MAX_OUTPUTS", + "nameLocation": "5266:21:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 75963, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "5250:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "30", + "id": 75964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5290:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 75969, + "nodeType": "VariableDeclaration", + "src": "5829:44:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLING_CONTEXT_COLUMNS", + "nameLocation": "5846:23:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75967, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5829:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 75968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5872:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 75973, + "nodeType": "VariableDeclaration", + "src": "5914:40:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_BASE_COLUMN", + "nameLocation": "5931:19:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5914:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 75972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5953:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 75977, + "nodeType": "VariableDeclaration", + "src": "6255:51:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nameLocation": "6272:30:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6255:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 75976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6305:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 75981, + "nodeType": "VariableDeclaration", + "src": "6453:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nameLocation": "6470:27:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6453:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 75980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6500:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 75985, + "nodeType": "VariableDeclaration", + "src": "6793:48:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nameLocation": "6810:27:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6793:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 75984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6840:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 75989, + "nodeType": "VariableDeclaration", + "src": "6959:49:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nameLocation": "6976:28:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75987, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6959:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 75988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7007:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 75993, + "nodeType": "VariableDeclaration", + "src": "7083:43:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN", + "nameLocation": "7100:22:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7083:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 75992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7125:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 75997, + "nodeType": "VariableDeclaration", + "src": "7201:52:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", + "nameLocation": "7218:31:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75995, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7201:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 75996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7252:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "id": 76001, + "nodeType": "VariableDeclaration", + "src": "7322:46:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nameLocation": "7339:25:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7322:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 76000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7367:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "id": 76005, + "nodeType": "VariableDeclaration", + "src": "7475:52:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", + "nameLocation": "7492:31:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7475:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "33", + "id": 76004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7526:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "id": 76009, + "nodeType": "VariableDeclaration", + "src": "7775:50:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nameLocation": "7792:29:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7775:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "34", + "id": 76008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7824:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "id": 76013, + "nodeType": "VariableDeclaration", + "src": "7865:42:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONTEXT_VAULT_IO_ROWS", + "nameLocation": "7882:21:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7865:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "35", + "id": 76012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7906:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "visibility": "internal" + }, + { + "id": 76020, + "nodeType": "VariableDeclaration", + "src": "7974:111:172", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CALLER_META_HASH", + "nameLocation": "7991:16:172", + "scope": 78179, + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 76015, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7974:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307834333833646433633561353537663136313033383934303136316638383039363365316434613331653866326461373731343237623839313935366164383331", + "id": 76018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8018:66:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_30537944733617534553462360936136264253483338970165795821887900705454115444785_by_1", + "typeString": "int_const 3053...(69 digits omitted)...4785" + }, + "value": "0x4383dd3c5a557f161038940161f880963e1d4a31e8f2da771427b891956ad831" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_30537944733617534553462360936136264253483338970165795821887900705454115444785_by_1", + "typeString": "int_const 3053...(69 digits omitted)...4785" + } + ], + "id": 76017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8010:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 76016, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8010:7:172", + "typeDescriptions": {} + } + }, + "id": 76019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8010:75:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 76041, + "nodeType": "StructDefinition", + "src": "10212:253:172", + "nodes": [], + "canonicalName": "OrderIOCalculationV2", + "members": [ + { + "constant": false, + "id": 76023, + "mutability": "mutable", + "name": "order", + "nameLocation": "10254:5:172", + "nodeType": "VariableDeclaration", + "scope": 76041, + "src": "10246:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 76022, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76021, + "name": "OrderV2", + "nameLocations": [ + "10246:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "10246:7:172" + }, + "referencedDeclaration": 79042, + "src": "10246:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76025, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "10273:13:172", + "nodeType": "VariableDeclaration", + "scope": 76041, + "src": "10265:21:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76024, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10265:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76028, + "mutability": "mutable", + "name": "outputMax", + "nameLocation": "10307:9:172", + "nodeType": "VariableDeclaration", + "scope": 76041, + "src": "10292:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76027, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76026, + "name": "Output18Amount", + "nameLocations": [ + "10292:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76043, + "src": "10292:14:172" + }, + "referencedDeclaration": 76043, + "src": "10292:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76030, + "mutability": "mutable", + "name": "IORatio", + "nameLocation": "10381:7:172", + "nodeType": "VariableDeclaration", + "scope": 76041, + "src": "10373:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76029, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10373:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76034, + "mutability": "mutable", + "name": "context", + "nameLocation": "10406:7:172", + "nodeType": "VariableDeclaration", + "scope": 76041, + "src": "10394: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": 76031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10394:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76032, + "nodeType": "ArrayTypeName", + "src": "10394:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 76033, + "nodeType": "ArrayTypeName", + "src": "10394:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76037, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "10434:9:172", + "nodeType": "VariableDeclaration", + "scope": 76041, + "src": "10419:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 76036, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76035, + "name": "StateNamespace", + "nameLocations": [ + "10419:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55877, + "src": "10419:14:172" + }, + "referencedDeclaration": 55877, + "src": "10419:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76040, + "mutability": "mutable", + "name": "kvs", + "nameLocation": "10459:3:172", + "nodeType": "VariableDeclaration", + "scope": 76041, + "src": "10449:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 76038, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10449:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76039, + "nodeType": "ArrayTypeName", + "src": "10449:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "name": "OrderIOCalculationV2", + "nameLocation": "10219:20:172", + "scope": 78179, + "visibility": "public" + }, + { + "id": 76043, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "10467:31:172", + "nodes": [], + "canonicalName": "Output18Amount", + "name": "Output18Amount", + "nameLocation": "10472:14:172", + "underlyingType": { + "id": 76042, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10490:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 76045, + "nodeType": "UserDefinedValueTypeDefinition", + "src": "10500:30:172", + "nodes": [], + "canonicalName": "Input18Amount", + "name": "Input18Amount", + "nameLocation": "10505:13:172", + "underlyingType": { + "id": 76044, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10522:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 78178, + "nodeType": "ContractDefinition", + "src": "10600:36632:172", + "nodes": [ + { + "id": 76060, + "nodeType": "UsingForDirective", + "src": "10721:36:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 76057, + "name": "LibUint256Array", + "nameLocations": [ + "10727:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73827, + "src": "10727:15:172" + }, + "typeName": { + "baseType": { + "id": 76058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10747:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76059, + "nodeType": "ArrayTypeName", + "src": "10747:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + { + "id": 76064, + "nodeType": "UsingForDirective", + "src": "10762:27:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 76061, + "name": "SafeERC20", + "nameLocations": [ + "10768:9:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44813, + "src": "10768:9:172" + }, + "typeName": { + "id": 76063, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76062, + "name": "IERC20", + "nameLocations": [ + "10782:6:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44376, + "src": "10782:6:172" + }, + "referencedDeclaration": 44376, + "src": "10782:6:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + } + }, + { + "id": 76068, + "nodeType": "UsingForDirective", + "src": "10794:27:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 76065, + "name": "LibOrder", + "nameLocations": [ + "10800:8:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79345, + "src": "10800:8:172" + }, + "typeName": { + "id": 76067, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76066, + "name": "OrderV2", + "nameLocations": [ + "10813:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "10813:7:172" + }, + "referencedDeclaration": 79042, + "src": "10813:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + } + }, + { + "id": 76071, + "nodeType": "UsingForDirective", + "src": "10826:34:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 76069, + "name": "LibUint256Array", + "nameLocations": [ + "10832:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 73827, + "src": "10832:15:172" + }, + "typeName": { + "id": 76070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10852:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 76074, + "nodeType": "UsingForDirective", + "src": "10865:23:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 76072, + "name": "Math", + "nameLocations": [ + "10871:4:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 46932, + "src": "10871:4:172" + }, + "typeName": { + "id": 76073, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10880:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 76077, + "nodeType": "UsingForDirective", + "src": "10893:44:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 76075, + "name": "LibFixedPointDecimalScale", + "nameLocations": [ + "10899:25:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 72859, + "src": "10899:25:172" + }, + "typeName": { + "id": 76076, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10929:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 76080, + "nodeType": "UsingForDirective", + "src": "10942:61:172", + "nodes": [], + "global": false, + "libraryName": { + "id": 76078, + "name": "LibFixedPointDecimalArithmeticOpenZeppelin", + "nameLocations": [ + "10948:42:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 72453, + "src": "10948:42:172" + }, + "typeName": { + "id": 76079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10995:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 76085, + "nodeType": "VariableDeclaration", + "src": "11602:63:172", + "nodes": [], + "constant": false, + "documentation": { + "id": 76081, + "nodeType": "StructuredDocumentation", + "src": "11009: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": "11658:7:172", + "scope": 78178, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 76084, + "keyName": "orderHash", + "keyNameLocation": "11618:9:172", + "keyType": { + "id": 76082, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11610:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "11602:46:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueName": "liveness", + "valueNameLocation": "11639:8:172", + "valueType": { + "id": 76083, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11631:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "id": 76094, + "nodeType": "VariableDeclaration", + "src": "12013:127:172", + "nodes": [], + "constant": false, + "documentation": { + "id": 76086, + "nodeType": "StructuredDocumentation", + "src": "11672: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": "12126:14:172", + "scope": 78178, + "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": 76093, + "keyName": "owner", + "keyNameLocation": "12029:5:172", + "keyType": { + "id": 76087, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12021:7:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "12013: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": 76092, + "keyName": "token", + "keyNameLocation": "12054:5:172", + "keyType": { + "id": 76088, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12046:7:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "12038: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": 76091, + "keyName": "vaultId", + "keyNameLocation": "12079:7:172", + "keyType": { + "id": 76089, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12071:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "12063:43:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "balance", + "valueNameLocation": "12098:7:172", + "valueType": { + "id": 76090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12090:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + } + }, + "visibility": "internal" + }, + { + "id": 76106, + "nodeType": "FunctionDefinition", + "src": "12442:139:172", + "nodes": [], + "body": { + "id": 76105, + "nodeType": "Block", + "src": "12579:2:172", + "nodes": [], + "statements": [] + }, + "documentation": { + "id": 76095, + "nodeType": "StructuredDocumentation", + "src": "12147: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": 76101, + "name": "CALLER_META_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76020, + "src": "12549:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 76102, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76098, + "src": "12567:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV3ConstructionConfig_$54743_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV3ConstructionConfig memory" + } + } + ], + "id": 76103, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 76100, + "name": "DeployerDiscoverableMetaV3", + "nameLocations": [ + "12522:26:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 54788, + "src": "12522:26:172" + }, + "nodeType": "ModifierInvocation", + "src": "12522:52:172" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 76099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76098, + "mutability": "mutable", + "name": "config", + "nameLocation": "12506:6:172", + "nodeType": "VariableDeclaration", + "scope": 76106, + "src": "12454:58:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV3ConstructionConfig_$54743_memory_ptr", + "typeString": "struct DeployerDiscoverableMetaV3ConstructionConfig" + }, + "typeName": { + "id": 76097, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76096, + "name": "DeployerDiscoverableMetaV3ConstructionConfig", + "nameLocations": [ + "12454:44:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 54743, + "src": "12454:44:172" + }, + "referencedDeclaration": 54743, + "src": "12454:44:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV3ConstructionConfig_$54743_storage_ptr", + "typeString": "struct DeployerDiscoverableMetaV3ConstructionConfig" + } + }, + "visibility": "internal" + } + ], + "src": "12453:60:172" + }, + "returnParameters": { + "id": 76104, + "nodeType": "ParameterList", + "parameters": [], + "src": "12579:0:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 76128, + "nodeType": "FunctionDefinition", + "src": "12620:171:172", + "nodes": [], + "body": { + "id": 76127, + "nodeType": "Block", + "src": "12730:61:172", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76119, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "12747: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": 76121, + "indexExpression": { + "id": 76120, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76109, + "src": "12762:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12747:21:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76123, + "indexExpression": { + "id": 76122, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76111, + "src": "12769:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12747:28:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76125, + "indexExpression": { + "id": 76124, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76113, + "src": "12776:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12747:37:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 76118, + "id": 76126, + "nodeType": "Return", + "src": "12740:44:172" + } + ] + }, + "baseFunctions": [ + 79210 + ], + "documentation": { + "id": 76107, + "nodeType": "StructuredDocumentation", + "src": "12587:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "d97b2e48", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "vaultBalance", + "nameLocation": "12629:12:172", + "overrides": { + "id": 76115, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "12703:8:172" + }, + "parameters": { + "id": 76114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76109, + "mutability": "mutable", + "name": "owner", + "nameLocation": "12650:5:172", + "nodeType": "VariableDeclaration", + "scope": 76128, + "src": "12642:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12642:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76111, + "mutability": "mutable", + "name": "token", + "nameLocation": "12665:5:172", + "nodeType": "VariableDeclaration", + "scope": 76128, + "src": "12657:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76110, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12657:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76113, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "12680:7:172", + "nodeType": "VariableDeclaration", + "scope": 76128, + "src": "12672:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12672:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12641:47:172" + }, + "returnParameters": { + "id": 76118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76117, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 76128, + "src": "12721:7:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12721:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12720:9:172" + }, + "scope": 78178, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 76144, + "nodeType": "FunctionDefinition", + "src": "12830:134:172", + "nodes": [], + "body": { + "id": 76143, + "nodeType": "Block", + "src": "12908:56:172", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76137, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "12925:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76139, + "indexExpression": { + "id": 76138, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76131, + "src": "12933:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12925:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76140, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75929, + "src": "12947:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12925:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 76136, + "id": 76142, + "nodeType": "Return", + "src": "12918:39:172" + } + ] + }, + "baseFunctions": [ + 79247 + ], + "documentation": { + "id": 76129, + "nodeType": "StructuredDocumentation", + "src": "12797:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "2cb77e9f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "orderExists", + "nameLocation": "12839:11:172", + "overrides": { + "id": 76133, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "12884:8:172" + }, + "parameters": { + "id": 76132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76131, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "12859:9:172", + "nodeType": "VariableDeclaration", + "scope": 76144, + "src": "12851:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 76130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12851:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "12850:19:172" + }, + "returnParameters": { + "id": 76136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76135, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 76144, + "src": "12902:4:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 76134, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12902:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12901:6:172" + }, + "scope": 78178, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 76201, + "nodeType": "FunctionDefinition", + "src": "13003:640:172", + "nodes": [], + "body": { + "id": 76200, + "nodeType": "Block", + "src": "13090:553:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76156, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76151, + "src": "13104:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13114:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13104:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76167, + "nodeType": "IfStatement", + "src": "13100:94:172", + "trueBody": { + "id": 76166, + "nodeType": "Block", + "src": "13117:77:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 76160, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13156:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13160:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13156:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76162, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76147, + "src": "13168:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76163, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76149, + "src": "13175: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": 76159, + "name": "ZeroDepositAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79069, + "src": "13138:17:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 76164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13138:45:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76165, + "nodeType": "RevertStatement", + "src": "13131:52:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76169, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13410:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13414:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13410:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76171, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76147, + "src": "13422:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76172, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76149, + "src": "13429:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76173, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76151, + "src": "13438: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": 76168, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79101, + "src": "13402:7:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 76174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13402:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76175, + "nodeType": "EmitStatement", + "src": "13397:48:172" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 76180, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13540:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13544:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13540:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 76184, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "13560:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + ], + "id": 76183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13552:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 76182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13552:7:172", + "typeDescriptions": {} + } + }, + "id": 76185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13552:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76186, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76151, + "src": "13567: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": 76177, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76147, + "src": "13516:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76176, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "13509:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 76178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13509:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 76179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13523:16:172", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44497, + "src": "13509: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": 76187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13509:65:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76188, + "nodeType": "ExpressionStatement", + "src": "13509:65:172" + }, + { + "expression": { + "id": 76198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76189, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "13584: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": 76194, + "indexExpression": { + "expression": { + "id": 76190, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13599:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13603:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13599:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13584:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76195, + "indexExpression": { + "id": 76192, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76147, + "src": "13611:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13584:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76196, + "indexExpression": { + "id": 76193, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76149, + "src": "13618:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13584:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76197, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76151, + "src": "13630:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13584:52:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76199, + "nodeType": "ExpressionStatement", + "src": "13584:52:172" + } + ] + }, + "baseFunctions": [ + 79220 + ], + "documentation": { + "id": 76145, + "nodeType": "StructuredDocumentation", + "src": "12970:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "0efe6a8b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 76154, + "kind": "modifierInvocation", + "modifierName": { + "id": 76153, + "name": "nonReentrant", + "nameLocations": [ + "13077:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "13077:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "13077:12:172" + } + ], + "name": "deposit", + "nameLocation": "13012:7:172", + "parameters": { + "id": 76152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76147, + "mutability": "mutable", + "name": "token", + "nameLocation": "13028:5:172", + "nodeType": "VariableDeclaration", + "scope": 76201, + "src": "13020:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13020:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76149, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "13043:7:172", + "nodeType": "VariableDeclaration", + "scope": 76201, + "src": "13035:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13035:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76151, + "mutability": "mutable", + "name": "amount", + "nameLocation": "13060:6:172", + "nodeType": "VariableDeclaration", + "scope": 76201, + "src": "13052:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76150, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13052:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13019:48:172" + }, + "returnParameters": { + "id": 76155, + "nodeType": "ParameterList", + "parameters": [], + "src": "13090:0:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76280, + "nodeType": "FunctionDefinition", + "src": "13682:940:172", + "nodes": [], + "body": { + "id": 76279, + "nodeType": "Block", + "src": "13776:846:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76213, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76208, + "src": "13790:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13806:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13790:17:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76224, + "nodeType": "IfStatement", + "src": "13786:107:172", + "trueBody": { + "id": 76223, + "nodeType": "Block", + "src": "13809:84:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 76217, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13855:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13859:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13855:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76219, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76204, + "src": "13867:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76220, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76206, + "src": "13874: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": 76216, + "name": "ZeroWithdrawTargetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79078, + "src": "13830:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) pure" + } + }, + "id": 76221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13830:52:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76222, + "nodeType": "RevertStatement", + "src": "13823:59:172" + } + ] + } + }, + { + "assignments": [ + 76226 + ], + "declarations": [ + { + "constant": false, + "id": 76226, + "mutability": "mutable", + "name": "currentVaultBalance", + "nameLocation": "13910:19:172", + "nodeType": "VariableDeclaration", + "scope": 76279, + "src": "13902:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76225, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13902:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76235, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76227, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "13932: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": 76230, + "indexExpression": { + "expression": { + "id": 76228, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13947:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13951:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13947:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13932:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76232, + "indexExpression": { + "id": 76231, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76204, + "src": "13959:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13932:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76234, + "indexExpression": { + "id": 76233, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76206, + "src": "13966:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13932:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13902:72:172" + }, + { + "assignments": [ + 76237 + ], + "declarations": [ + { + "constant": false, + "id": 76237, + "mutability": "mutable", + "name": "withdrawAmount", + "nameLocation": "14064:14:172", + "nodeType": "VariableDeclaration", + "scope": 76279, + "src": "14056:22:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14056:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76242, + "initialValue": { + "arguments": [ + { + "id": 76240, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76226, + "src": "14098:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76238, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76208, + "src": "14081:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14094:3:172", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 46109, + "src": "14081: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": 76241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14081:37:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14056:62:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76243, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76237, + "src": "14132:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14149:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14132:18:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76278, + "nodeType": "IfStatement", + "src": "14128:488:172", + "trueBody": { + "id": 76277, + "nodeType": "Block", + "src": "14152:464:172", + "statements": [ + { + "expression": { + "id": 76257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 76246, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "14371: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": 76251, + "indexExpression": { + "expression": { + "id": 76247, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14386:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14390:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14386:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14371:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 76252, + "indexExpression": { + "id": 76249, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76204, + "src": "14398:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14371:33:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 76253, + "indexExpression": { + "id": 76250, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76206, + "src": "14405:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14371:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76254, + "name": "currentVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76226, + "src": "14416:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 76255, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76237, + "src": "14438:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14416:36:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14371:81:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76258, + "nodeType": "ExpressionStatement", + "src": "14371:81:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76260, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14480:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14484:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14480:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76262, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76204, + "src": "14492:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76263, + "name": "vaultId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76206, + "src": "14499:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76264, + "name": "targetAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76208, + "src": "14508:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76265, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76237, + "src": "14522: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": 76259, + "name": "Withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79114, + "src": "14471: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": 76266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14471:66:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76267, + "nodeType": "EmitStatement", + "src": "14466:71:172" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 76272, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14578:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14582:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14578:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76274, + "name": "withdrawAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76237, + "src": "14590:14:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 76269, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76204, + "src": "14558:5:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76268, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "14551:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 76270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14551:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 76271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14565:12:172", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 44470, + "src": "14551:26:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", + "typeString": "function (contract IERC20,address,uint256)" + } + }, + "id": 76275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14551:54:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76276, + "nodeType": "ExpressionStatement", + "src": "14551:54:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 79230 + ], + "documentation": { + "id": 76202, + "nodeType": "StructuredDocumentation", + "src": "13649:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "b5c5f672", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 76211, + "kind": "modifierInvocation", + "modifierName": { + "id": 76210, + "name": "nonReentrant", + "nameLocations": [ + "13763:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "13763:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "13763:12:172" + } + ], + "name": "withdraw", + "nameLocation": "13691:8:172", + "parameters": { + "id": 76209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76204, + "mutability": "mutable", + "name": "token", + "nameLocation": "13708:5:172", + "nodeType": "VariableDeclaration", + "scope": 76280, + "src": "13700:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13700:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76206, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "13723:7:172", + "nodeType": "VariableDeclaration", + "scope": 76280, + "src": "13715:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76205, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13715:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76208, + "mutability": "mutable", + "name": "targetAmount", + "nameLocation": "13740:12:172", + "nodeType": "VariableDeclaration", + "scope": 76280, + "src": "13732:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13732:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13699:54:172" + }, + "returnParameters": { + "id": 76212, + "nodeType": "ParameterList", + "parameters": [], + "src": "13776:0:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76484, + "nodeType": "FunctionDefinition", + "src": "14661:2996:172", + "nodes": [], + "body": { + "id": 76483, + "nodeType": "Block", + "src": "14760:2897:172", + "nodes": [], + "statements": [ + { + "assignments": [ + 76292 + ], + "declarations": [ + { + "constant": false, + "id": 76292, + "mutability": "mutable", + "name": "sourceCount", + "nameLocation": "14778:11:172", + "nodeType": "VariableDeclaration", + "scope": 76483, + "src": "14770:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76291, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14770:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76299, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 76295, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "14816:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14823:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 79011, + "src": "14816:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", + "typeString": "struct EvaluableConfigV3 calldata" + } + }, + "id": 76297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14839:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 55619, + "src": "14816:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 76293, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56710, + "src": "14792:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56710_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 76294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14804:11:172", + "memberName": "sourceCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 56349, + "src": "14792:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 76298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14792:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14770:78:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76300, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76292, + "src": "14862:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14877:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14862:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76307, + "nodeType": "IfStatement", + "src": "14858:70:172", + "trueBody": { + "id": 76306, + "nodeType": "Block", + "src": "14880:48:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 76303, + "name": "OrderNoSources", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79081, + "src": "14901:14:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 76304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14901:16:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76305, + "nodeType": "RevertStatement", + "src": "14894:23:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76308, + "name": "sourceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76292, + "src": "14941:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 76309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14956:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "14941:16:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76315, + "nodeType": "IfStatement", + "src": "14937:71:172", + "trueBody": { + "id": 76314, + "nodeType": "Block", + "src": "14959:49:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 76311, + "name": "OrderNoHandleIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79084, + "src": "14980:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 76312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14980:17:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76313, + "nodeType": "RevertStatement", + "src": "14973:24:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 76316, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "15021:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15028:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79004, + "src": "15021:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15040:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15021:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15050:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15021:30:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76325, + "nodeType": "IfStatement", + "src": "15017:83:172", + "trueBody": { + "id": 76324, + "nodeType": "Block", + "src": "15053:47:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 76321, + "name": "OrderNoInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79087, + "src": "15074:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 76322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15074:15:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76323, + "nodeType": "RevertStatement", + "src": "15067:22:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 76326, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "15113:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15120:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79008, + "src": "15113:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15133:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15113:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15143:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15113:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76335, + "nodeType": "IfStatement", + "src": "15109:85:172", + "trueBody": { + "id": 76334, + "nodeType": "Block", + "src": "15146:48:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 76331, + "name": "OrderNoOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79090, + "src": "15167:14:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 76332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15167:16:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76333, + "nodeType": "RevertStatement", + "src": "15160:23:172" + } + ] + } + }, + { + "assignments": [ + 76338, + 76341, + 76343, + 76345 + ], + "declarations": [ + { + "constant": false, + "id": 76338, + "mutability": "mutable", + "name": "interpreter", + "nameLocation": "15219:11:172", + "nodeType": "VariableDeclaration", + "scope": 76483, + "src": "15204:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV2_$56032", + "typeString": "contract IInterpreterV2" + }, + "typeName": { + "id": 76337, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76336, + "name": "IInterpreterV2", + "nameLocations": [ + "15204:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 56032, + "src": "15204:14:172" + }, + "referencedDeclaration": 56032, + "src": "15204:14:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV2_$56032", + "typeString": "contract IInterpreterV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76341, + "mutability": "mutable", + "name": "store", + "nameLocation": "15252:5:172", + "nodeType": "VariableDeclaration", + "scope": 76483, + "src": "15232:25:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + }, + "typeName": { + "id": 76340, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76339, + "name": "IInterpreterStoreV1", + "nameLocations": [ + "15232:19:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55698, + "src": "15232:19:172" + }, + "referencedDeclaration": 55698, + "src": "15232:19:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76343, + "mutability": "mutable", + "name": "expression", + "nameLocation": "15267:10:172", + "nodeType": "VariableDeclaration", + "scope": 76483, + "src": "15259:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 76342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15259:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76345, + "mutability": "mutable", + "name": "io", + "nameLocation": "15292:2:172", + "nodeType": "VariableDeclaration", + "scope": 76483, + "src": "15279:15:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 76344, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15279:5:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 76357, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 76350, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "15387:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15394:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 79011, + "src": "15387:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", + "typeString": "struct EvaluableConfigV3 calldata" + } + }, + "id": 76352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15410:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 55619, + "src": "15387:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "expression": { + "expression": { + "id": 76353, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "15420:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15427:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 79011, + "src": "15420:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", + "typeString": "struct EvaluableConfigV3 calldata" + } + }, + "id": 76355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15443:9:172", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 55622, + "src": "15420:32:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + ], + "expression": { + "expression": { + "expression": { + "id": 76346, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "15298:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15318:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 79011, + "src": "15298:35:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", + "typeString": "struct EvaluableConfigV3 calldata" + } + }, + "id": 76348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15347:8:172", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 55617, + "src": "15298:57:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", + "typeString": "contract IExpressionDeployerV3" + } + }, + "id": 76349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15369:17:172", + "memberName": "deployExpression2", + "nodeType": "MemberAccess", + "referencedDeclaration": 55985, + "src": "15298:88:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV2_$56032_$_t_contract$_IInterpreterStoreV1_$55698_$_t_address_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256[] memory) external returns (contract IInterpreterV2,contract IInterpreterStoreV1,address,bytes memory)" + } + }, + "id": 76356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15298:155:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV2_$56032_$_t_contract$_IInterpreterStoreV1_$55698_$_t_address_$_t_bytes_memory_ptr_$", + "typeString": "tuple(contract IInterpreterV2,contract IInterpreterStoreV1,address,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15203:250:172" + }, + { + "id": 76395, + "nodeType": "Block", + "src": "15463:763:172", + "statements": [ + { + "assignments": [ + 76359 + ], + "declarations": [ + { + "constant": false, + "id": 76359, + "mutability": "mutable", + "name": "calculateInputs", + "nameLocation": "15485:15:172", + "nodeType": "VariableDeclaration", + "scope": 76395, + "src": "15477:23:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76358, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15477:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76360, + "nodeType": "VariableDeclarationStatement", + "src": "15477:23:172" + }, + { + "assignments": [ + 76362 + ], + "declarations": [ + { + "constant": false, + "id": 76362, + "mutability": "mutable", + "name": "calculateOutputs", + "nameLocation": "15522:16:172", + "nodeType": "VariableDeclaration", + "scope": 76395, + "src": "15514:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15514:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76363, + "nodeType": "VariableDeclarationStatement", + "src": "15514:24:172" + }, + { + "assignments": [ + 76365 + ], + "declarations": [ + { + "constant": false, + "id": 76365, + "mutability": "mutable", + "name": "handleInputs", + "nameLocation": "15560:12:172", + "nodeType": "VariableDeclaration", + "scope": 76395, + "src": "15552:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15552:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76366, + "nodeType": "VariableDeclarationStatement", + "src": "15552:20:172" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "15611:217:172", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15629:34:172", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "io", + "nodeType": "YulIdentifier", + "src": "15653:2:172" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15657:4:172", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15649:3:172" + }, + "nodeType": "YulFunctionCall", + "src": "15649:13:172" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15643:5:172" + }, + "nodeType": "YulFunctionCall", + "src": "15643:20:172" + }, + "variables": [ + { + "name": "ioWord", + "nodeType": "YulTypedName", + "src": "15633:6:172", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15680:34:172", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15704:1:172", + "type": "", + "value": "0" + }, + { + "name": "ioWord", + "nodeType": "YulIdentifier", + "src": "15707:6:172" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "15699:4:172" + }, + "nodeType": "YulFunctionCall", + "src": "15699:15:172" + }, + "variableNames": [ + { + "name": "calculateInputs", + "nodeType": "YulIdentifier", + "src": "15680:15:172" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15731:35:172", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15756:1:172", + "type": "", + "value": "1" + }, + { + "name": "ioWord", + "nodeType": "YulIdentifier", + "src": "15759:6:172" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "15751:4:172" + }, + "nodeType": "YulFunctionCall", + "src": "15751:15:172" + }, + "variableNames": [ + { + "name": "calculateOutputs", + "nodeType": "YulIdentifier", + "src": "15731:16:172" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15783:31:172", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15804:1:172", + "type": "", + "value": "2" + }, + { + "name": "ioWord", + "nodeType": "YulIdentifier", + "src": "15807:6:172" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "15799:4:172" + }, + "nodeType": "YulFunctionCall", + "src": "15799:15:172" + }, + "variableNames": [ + { + "name": "handleInputs", + "nodeType": "YulIdentifier", + "src": "15783:12:172" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 76359, + "isOffset": false, + "isSlot": false, + "src": "15680:15:172", + "valueSize": 1 + }, + { + "declaration": 76362, + "isOffset": false, + "isSlot": false, + "src": "15731:16:172", + "valueSize": 1 + }, + { + "declaration": 76365, + "isOffset": false, + "isSlot": false, + "src": "15783:12:172", + "valueSize": 1 + }, + { + "declaration": 76345, + "isOffset": false, + "isSlot": false, + "src": "15653:2:172", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 76367, + "nodeType": "InlineAssembly", + "src": "15586:242:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76368, + "name": "calculateInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76359, + "src": "15846:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 76369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15865:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15846:20:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76376, + "nodeType": "IfStatement", + "src": "15842:109:172", + "trueBody": { + "id": 76375, + "nodeType": "Block", + "src": "15868:83:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 76372, + "name": "calculateInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76359, + "src": "15920:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76371, + "name": "UnsupportedCalculateInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75915, + "src": "15893:26:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 76373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15893:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76374, + "nodeType": "RevertStatement", + "src": "15886:50:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76377, + "name": "calculateOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76362, + "src": "15969:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 76378, + "name": "CALCULATE_ORDER_MIN_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75953, + "src": "15988:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15969:46:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76385, + "nodeType": "IfStatement", + "src": "15965:137:172", + "trueBody": { + "id": 76384, + "nodeType": "Block", + "src": "16017:85:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 76381, + "name": "calculateOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76362, + "src": "16070:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76380, + "name": "UnsupportedCalculateOutputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75920, + "src": "16042:27:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 76382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16042:45:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76383, + "nodeType": "RevertStatement", + "src": "16035:52:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76386, + "name": "handleInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76365, + "src": "16120:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 76387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16136:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16120:17:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76394, + "nodeType": "IfStatement", + "src": "16116:100:172", + "trueBody": { + "id": 76393, + "nodeType": "Block", + "src": "16139:77:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 76390, + "name": "handleInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76365, + "src": "16188:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76389, + "name": "UnsupportedHandleInputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75925, + "src": "16164:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 76391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16164:37:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76392, + "nodeType": "RevertStatement", + "src": "16157:44:172" + } + ] + } + } + ] + }, + { + "assignments": [ + 76398 + ], + "declarations": [ + { + "constant": false, + "id": 76398, + "mutability": "mutable", + "name": "order", + "nameLocation": "16428:5:172", + "nodeType": "VariableDeclaration", + "scope": 76483, + "src": "16413:20:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 76397, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76396, + "name": "OrderV2", + "nameLocations": [ + "16413:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "16413:7:172" + }, + "referencedDeclaration": 79042, + "src": "16413:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + } + ], + "id": 76424, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 76400, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16457:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16461:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16457:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "expression": { + "id": 76404, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "16508:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16515:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 79011, + "src": "16508:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", + "typeString": "struct EvaluableConfigV3 calldata" + } + }, + "id": 76406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16531:8:172", + "memberName": "bytecode", + "nodeType": "MemberAccess", + "referencedDeclaration": 55619, + "src": "16508:31:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "arguments": [ + { + "id": 76409, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75949, + "src": "16562:20:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + ], + "expression": { + "id": 76407, + "name": "SourceIndexV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55998, + "src": "16541:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndexV2_$55998_$", + "typeString": "type(SourceIndexV2)" + } + }, + "id": 76408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16555:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "16541:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndexV2_$55998_$returns$_t_uint256_$", + "typeString": "function (SourceIndexV2) pure returns (uint256)" + } + }, + "id": 76410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16541:42:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76402, + "name": "LibBytecode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56710, + "src": "16481:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56710_$", + "typeString": "type(library LibBytecode)" + } + }, + "id": 76403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16493:14:172", + "memberName": "sourceOpsCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 56580, + "src": "16481:26: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": 76411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16481:103:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16587:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16481:107:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "id": 76415, + "name": "interpreter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76338, + "src": "16614:11:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV2_$56032", + "typeString": "contract IInterpreterV2" + } + }, + { + "id": 76416, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76341, + "src": "16627:5:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "id": 76417, + "name": "expression", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76343, + "src": "16634:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterV2_$56032", + "typeString": "contract IInterpreterV2" + }, + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76414, + "name": "EvaluableV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55632, + "src": "16602:11:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_EvaluableV2_$55632_storage_ptr_$", + "typeString": "type(struct EvaluableV2 storage pointer)" + } + }, + "id": 76418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16602:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + { + "expression": { + "id": 76419, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "16659:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16666:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79004, + "src": "16659:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + { + "expression": { + "id": 76421, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "16691:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16698:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79008, + "src": "16691:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_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$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + }, + { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + ], + "id": 76399, + "name": "OrderV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79042, + "src": "16436:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_OrderV2_$79042_storage_ptr_$", + "typeString": "type(struct OrderV2 storage pointer)" + } + }, + "id": 76423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16436:284:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16413:307:172" + }, + { + "assignments": [ + 76426 + ], + "declarations": [ + { + "constant": false, + "id": 76426, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "16738:9:172", + "nodeType": "VariableDeclaration", + "scope": 76483, + "src": "16730:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 76425, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16730:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 76430, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76427, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76398, + "src": "16750:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16756:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "16750:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 76429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16750:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16730:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76431, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "16852:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76433, + "indexExpression": { + "id": 76432, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76426, + "src": "16860:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16852:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76434, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75933, + "src": "16874:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16852:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76482, + "nodeType": "IfStatement", + "src": "16848:803:172", + "trueBody": { + "id": 76481, + "nodeType": "Block", + "src": "16886:765:172", + "statements": [ + { + "expression": { + "id": 76438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76436, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76289, + "src": "16900:12:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 76437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16915:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16900:19:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76439, + "nodeType": "ExpressionStatement", + "src": "16900:19:172" + }, + { + "expression": { + "id": 76444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76440, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "17180:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76442, + "indexExpression": { + "id": 76441, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76426, + "src": "17188:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17180:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76443, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75929, + "src": "17201:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17180:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76445, + "nodeType": "ExpressionStatement", + "src": "17180:31:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76447, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17239:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17243:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17239:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "expression": { + "id": 76449, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "17251:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17258:15:172", + "memberName": "evaluableConfig", + "nodeType": "MemberAccess", + "referencedDeclaration": 79011, + "src": "17251:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", + "typeString": "struct EvaluableConfigV3 calldata" + } + }, + "id": 76451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17274:8:172", + "memberName": "deployer", + "nodeType": "MemberAccess", + "referencedDeclaration": 55617, + "src": "17251:31:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", + "typeString": "contract IExpressionDeployerV3" + } + }, + { + "id": 76452, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76398, + "src": "17284:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + { + "id": 76453, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76426, + "src": "17291:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", + "typeString": "contract IExpressionDeployerV3" + }, + { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76446, + "name": "AddOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79127, + "src": "17230:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV3_$55986_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,contract IExpressionDeployerV3,struct OrderV2 memory,bytes32)" + } + }, + "id": 76454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17230:71:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76455, + "nodeType": "EmitStatement", + "src": "17225:76:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 76456, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "17472:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17479:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 79013, + "src": "17472:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 76458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17484:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17472:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17493:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17472:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76480, + "nodeType": "IfStatement", + "src": "17468:173:172", + "trueBody": { + "id": 76479, + "nodeType": "Block", + "src": "17496:145:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 76464, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "17540:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17547:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 79013, + "src": "17540:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 76461, + "name": "LibMeta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73191, + "src": "17514:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibMeta_$73191_$", + "typeString": "type(library LibMeta)" + } + }, + "id": 76463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17522:17:172", + "memberName": "checkMetaUnhashed", + "nodeType": "MemberAccess", + "referencedDeclaration": 73161, + "src": "17514:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 76466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17514:38:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76467, + "nodeType": "ExpressionStatement", + "src": "17514:38:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76469, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17582:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17586:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17582:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 76473, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76426, + "src": "17602:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17594:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 76471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17594:7:172", + "typeDescriptions": {} + } + }, + "id": 76474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17594:18:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76475, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76284, + "src": "17614:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2 calldata" + } + }, + "id": 76476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17621:4:172", + "memberName": "meta", + "nodeType": "MemberAccess", + "referencedDeclaration": 79013, + "src": "17614: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": 76468, + "name": "MetaV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73106, + "src": "17575:6:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 76477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17575:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76478, + "nodeType": "EmitStatement", + "src": "17570:56:172" + } + ] + } + } + ] + } + } + ] + }, + "baseFunctions": [ + 79239 + ], + "documentation": { + "id": 76281, + "nodeType": "StructuredDocumentation", + "src": "14628:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "847a1bc9", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 76287, + "kind": "modifierInvocation", + "modifierName": { + "id": 76286, + "name": "nonReentrant", + "nameLocations": [ + "14719:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "14719:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "14719:12:172" + } + ], + "name": "addOrder", + "nameLocation": "14670:8:172", + "parameters": { + "id": 76285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76284, + "mutability": "mutable", + "name": "config", + "nameLocation": "14702:6:172", + "nodeType": "VariableDeclaration", + "scope": 76484, + "src": "14679:29:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2" + }, + "typeName": { + "id": 76283, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76282, + "name": "OrderConfigV2", + "nameLocations": [ + "14679:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79014, + "src": "14679:13:172" + }, + "referencedDeclaration": 79014, + "src": "14679:13:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_storage_ptr", + "typeString": "struct OrderConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "14678:31:172" + }, + "returnParameters": { + "id": 76290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76289, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "14746:12:172", + "nodeType": "VariableDeclaration", + "scope": 76484, + "src": "14741:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 76288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14741:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "14740:19:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 76540, + "nodeType": "FunctionDefinition", + "src": "17696:450:172", + "nodes": [], + "body": { + "id": 76539, + "nodeType": "Block", + "src": "17791:355:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76495, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17805:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17809:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17805:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 76497, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76488, + "src": "17819:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17825:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "17819:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17805:25:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76508, + "nodeType": "IfStatement", + "src": "17801:101:172", + "trueBody": { + "id": 76507, + "nodeType": "Block", + "src": "17832:70:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 76501, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17867:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17871:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17867:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76503, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76488, + "src": "17879:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17885:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "17879:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76500, + "name": "NotOrderOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75884, + "src": "17853:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 76505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17853:38:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76506, + "nodeType": "RevertStatement", + "src": "17846:45:172" + } + ] + } + }, + { + "assignments": [ + 76510 + ], + "declarations": [ + { + "constant": false, + "id": 76510, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "17919:9:172", + "nodeType": "VariableDeclaration", + "scope": 76539, + "src": "17911:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 76509, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17911:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 76514, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76511, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76488, + "src": "17931:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17937:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "17931:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 76513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17931:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17911:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76515, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "17957:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76517, + "indexExpression": { + "id": 76516, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76510, + "src": "17965:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17957:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76518, + "name": "ORDER_LIVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75929, + "src": "17979:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17957:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76538, + "nodeType": "IfStatement", + "src": "17953:187:172", + "trueBody": { + "id": 76537, + "nodeType": "Block", + "src": "17991:149:172", + "statements": [ + { + "expression": { + "id": 76522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76520, + "name": "stateChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76493, + "src": "18005:12:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 76521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18020:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "18005:19:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76523, + "nodeType": "ExpressionStatement", + "src": "18005:19:172" + }, + { + "expression": { + "id": 76528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 76524, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "18038:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76526, + "indexExpression": { + "id": 76525, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76510, + "src": "18046:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18038:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76527, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75933, + "src": "18059:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18038:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76529, + "nodeType": "ExpressionStatement", + "src": "18038:31:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76531, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "18100:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18104:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18100:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76533, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76488, + "src": "18112:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + { + "id": 76534, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76510, + "src": "18119:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 76530, + "name": "RemoveOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79137, + "src": "18088:11:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,struct OrderV2 memory,bytes32)" + } + }, + "id": 76535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18088:41:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76536, + "nodeType": "EmitStatement", + "src": "18083:46:172" + } + ] + } + } + ] + }, + "baseFunctions": [ + 79256 + ], + "documentation": { + "id": 76485, + "nodeType": "StructuredDocumentation", + "src": "17663:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "e23746a3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 76491, + "kind": "modifierInvocation", + "modifierName": { + "id": 76490, + "name": "nonReentrant", + "nameLocations": [ + "17750:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "17750:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "17750:12:172" + } + ], + "name": "removeOrder", + "nameLocation": "17705:11:172", + "parameters": { + "id": 76489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76488, + "mutability": "mutable", + "name": "order", + "nameLocation": "17734:5:172", + "nodeType": "VariableDeclaration", + "scope": 76540, + "src": "17717:22:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 76487, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76486, + "name": "OrderV2", + "nameLocations": [ + "17717:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "17717:7:172" + }, + "referencedDeclaration": 79042, + "src": "17717:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + } + ], + "src": "17716:24:172" + }, + "returnParameters": { + "id": 76494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76493, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "17777:12:172", + "nodeType": "VariableDeclaration", + "scope": 76540, + "src": "17772:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 76492, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17772:4:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "17771:19:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 77137, + "nodeType": "FunctionDefinition", + "src": "18373:10265:172", + "nodes": [], + "body": { + "id": 77136, + "nodeType": "Block", + "src": "18539:10099:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 76553, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "18553:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18560:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "18553:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18567:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18553:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18577:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18553:25:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76562, + "nodeType": "IfStatement", + "src": "18549:73:172", + "trueBody": { + "id": 76561, + "nodeType": "Block", + "src": "18580:42:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 76558, + "name": "NoOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78997, + "src": "18601:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 76559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18601:10:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76560, + "nodeType": "RevertStatement", + "src": "18594:17:172" + } + ] + } + }, + { + "assignments": [ + 76565 + ], + "declarations": [ + { + "constant": false, + "id": 76565, + "mutability": "mutable", + "name": "takeOrderConfig", + "nameLocation": "18657:15:172", + "nodeType": "VariableDeclaration", + "scope": 77136, + "src": "18632:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2" + }, + "typeName": { + "id": 76564, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76563, + "name": "TakeOrderConfigV2", + "nameLocations": [ + "18632:17:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79026, + "src": "18632:17:172" + }, + "referencedDeclaration": 79026, + "src": "18632:17:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_storage_ptr", + "typeString": "struct TakeOrderConfigV2" + } + }, + "visibility": "internal" + } + ], + "id": 76566, + "nodeType": "VariableDeclarationStatement", + "src": "18632:40:172" + }, + { + "assignments": [ + 76569 + ], + "declarations": [ + { + "constant": false, + "id": 76569, + "mutability": "mutable", + "name": "order", + "nameLocation": "18697:5:172", + "nodeType": "VariableDeclaration", + "scope": 77136, + "src": "18682:20:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 76568, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76567, + "name": "OrderV2", + "nameLocations": [ + "18682:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "18682:7:172" + }, + "referencedDeclaration": 79042, + "src": "18682:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + } + ], + "id": 76570, + "nodeType": "VariableDeclarationStatement", + "src": "18682:20:172" + }, + { + "assignments": [ + 76575 + ], + "declarations": [ + { + "constant": false, + "id": 76575, + "mutability": "mutable", + "name": "orderIOCalculationsToHandle", + "nameLocation": "19160:27:172", + "nodeType": "VariableDeclaration", + "scope": 77136, + "src": "19130:57:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$dyn_memory_ptr", + "typeString": "struct OrderIOCalculationV2[]" + }, + "typeName": { + "baseType": { + "id": 76573, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76572, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "19130:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "19130:20:172" + }, + "referencedDeclaration": 76041, + "src": "19130:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "id": 76574, + "nodeType": "ArrayTypeName", + "src": "19130:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_storage_$dyn_storage_ptr", + "typeString": "struct OrderIOCalculationV2[]" + } + }, + "visibility": "internal" + } + ], + "id": 76576, + "nodeType": "VariableDeclarationStatement", + "src": "19130:57:172" + }, + { + "id": 76584, + "nodeType": "Block", + "src": "19197:271:172", + "statements": [ + { + "assignments": [ + 76578 + ], + "declarations": [ + { + "constant": false, + "id": 76578, + "mutability": "mutable", + "name": "length", + "nameLocation": "19219:6:172", + "nodeType": "VariableDeclaration", + "scope": 76584, + "src": "19211:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76577, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19211:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76582, + "initialValue": { + "expression": { + "expression": { + "id": 76579, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "19228:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19235:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "19228:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19242:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "19228:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19211:37:172" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "19287:171:172", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19305:22:172", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19322:4:172", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19316:5:172" + }, + "nodeType": "YulFunctionCall", + "src": "19316:11:172" + }, + "variables": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "19309:3:172", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19344:34:172", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "19375:3:172" + }, + "variableNames": [ + { + "name": "orderIOCalculationsToHandle", + "nodeType": "YulIdentifier", + "src": "19344:27:172" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19402:4:172", + "type": "", + "value": "0x40" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "19412:3:172" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19425:6:172" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19433:1:172", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19421:3:172" + }, + "nodeType": "YulFunctionCall", + "src": "19421:14:172" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19437:4:172", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "19417:3:172" + }, + "nodeType": "YulFunctionCall", + "src": "19417:25:172" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19408:3:172" + }, + "nodeType": "YulFunctionCall", + "src": "19408:35:172" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19395:6:172" + }, + "nodeType": "YulFunctionCall", + "src": "19395:49:172" + }, + "nodeType": "YulExpressionStatement", + "src": "19395:49:172" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 76578, + "isOffset": false, + "isSlot": false, + "src": "19425:6:172", + "valueSize": 1 + }, + { + "declaration": 76575, + "isOffset": false, + "isSlot": false, + "src": "19344:27:172", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 76583, + "nodeType": "InlineAssembly", + "src": "19262:196:172" + } + ] + }, + { + "id": 77003, + "nodeType": "Block", + "src": "19478:7319:172", + "statements": [ + { + "assignments": [ + 76586 + ], + "declarations": [ + { + "constant": false, + "id": 76586, + "mutability": "mutable", + "name": "remainingTakerInput", + "nameLocation": "19500:19:172", + "nodeType": "VariableDeclaration", + "scope": 77003, + "src": "19492:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76585, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19492:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76589, + "initialValue": { + "expression": { + "id": 76587, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "19522:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19529:12:172", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 79046, + "src": "19522:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19492:49:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76590, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76586, + "src": "19559:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19582:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19559:24:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76597, + "nodeType": "IfStatement", + "src": "19555:88:172", + "trueBody": { + "id": 76596, + "nodeType": "Block", + "src": "19585:58:172", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 76593, + "name": "ZeroMaximumInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79000, + "src": "19610:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 76594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19610:18:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76595, + "nodeType": "RevertStatement", + "src": "19603:25:172" + } + ] + } + }, + { + "assignments": [ + 76599 + ], + "declarations": [ + { + "constant": false, + "id": 76599, + "mutability": "mutable", + "name": "i", + "nameLocation": "19664:1:172", + "nodeType": "VariableDeclaration", + "scope": 77003, + "src": "19656:9:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19656:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76601, + "initialValue": { + "hexValue": "30", + "id": 76600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19668:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "19656:13:172" + }, + { + "body": { + "id": 76994, + "nodeType": "Block", + "src": "19743:6971:172", + "statements": [ + { + "expression": { + "id": 76616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76611, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "19761:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "id": 76612, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "19779:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19786:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "19779:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76615, + "indexExpression": { + "id": 76614, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76599, + "src": "19793:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19779:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "src": "19761:34:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76617, + "nodeType": "ExpressionStatement", + "src": "19761:34:172" + }, + { + "expression": { + "id": 76621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76618, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "19813:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 76619, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "19821:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76620, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19837:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "19821:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "src": "19813:29:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76622, + "nodeType": "ExpressionStatement", + "src": "19813:29:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76623, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "19944:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76624, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19950:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "19944:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76627, + "indexExpression": { + "expression": { + "id": 76625, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "19962:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76626, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19978:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "19962:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19944:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76628, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19992:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "19944:53:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76629, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20025:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20032:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20025:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76632, + "indexExpression": { + "hexValue": "30", + "id": 76631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20039: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": "20025:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20042:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "20025:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20048:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "20025:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76640, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76635, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20060:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20067:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20060:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76638, + "indexExpression": { + "hexValue": "30", + "id": 76637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20074: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": "20060:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20077:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "20060:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20025:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20091:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "20025:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "19944:152:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76666, + "nodeType": "IfStatement", + "src": "19919:455:172", + "trueBody": { + "id": 76665, + "nodeType": "Block", + "src": "20115:259:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76644, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "20183:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76645, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20189:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "20183:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76648, + "indexExpression": { + "expression": { + "id": 76646, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "20201:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20217:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "20201:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20183:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20231:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "20183:53:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76650, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20262:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20269:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20262:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76653, + "indexExpression": { + "hexValue": "30", + "id": 76652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20276: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": "20262:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20279:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "20262:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20285:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "20262:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76661, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76656, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20297:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20304:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20297:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76659, + "indexExpression": { + "hexValue": "30", + "id": 76658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20311: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": "20297:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20314:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "20297:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20262:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20328:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "20262:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76643, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75891, + "src": "20144:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 76663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20144:211:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76664, + "nodeType": "RevertStatement", + "src": "20137:218:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 76686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76667, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "20476:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20482:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "20476:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76671, + "indexExpression": { + "expression": { + "id": 76669, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "20495:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20511:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "20495:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20476:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20526:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "20476:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76673, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20559:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20566:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20559:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76676, + "indexExpression": { + "hexValue": "30", + "id": 76675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20573: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": "20559:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20576:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "20559:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20582:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "20559:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76684, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76679, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20595:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20602:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20595:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76682, + "indexExpression": { + "hexValue": "30", + "id": 76681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20609: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": "20595:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20612:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "20595:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20559:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20627:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "20559:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "20476:156:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76710, + "nodeType": "IfStatement", + "src": "20451:463:172", + "trueBody": { + "id": 76709, + "nodeType": "Block", + "src": "20651:263:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76688, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "20719:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20725:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "20719:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76692, + "indexExpression": { + "expression": { + "id": 76690, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "20738:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20754:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "20738:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20719:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20769:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "20719:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76694, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20800:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20807:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20800:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76697, + "indexExpression": { + "hexValue": "30", + "id": 76696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20814: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": "20800:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20817:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "20800:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20823:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "20800:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76705, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76700, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "20836:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20843:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "20836:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76703, + "indexExpression": { + "hexValue": "30", + "id": 76702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20850: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": "20836:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20853:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "20836:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20800:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20868:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "20800:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76687, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75891, + "src": "20680:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 76707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20680:215:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76708, + "nodeType": "RevertStatement", + "src": "20673:222:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 76730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76711, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "21024:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76712, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21030:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "21024:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76715, + "indexExpression": { + "expression": { + "id": 76713, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "21042:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76714, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21058:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "21042:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21024:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76716, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21072:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21024:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76717, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21108:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21115:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21108:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76720, + "indexExpression": { + "hexValue": "30", + "id": 76719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21122: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": "21108:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21125:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "21108:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21131:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "21108:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76728, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76723, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21143:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21150:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21143:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76726, + "indexExpression": { + "hexValue": "30", + "id": 76725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21157: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": "21143:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21160:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "21143:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21108:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21174:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21108:74:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "21024:158:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76754, + "nodeType": "IfStatement", + "src": "20999:475:172", + "trueBody": { + "id": 76753, + "nodeType": "Block", + "src": "21201:273:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76732, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "21277:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76733, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21283:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "21277:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76736, + "indexExpression": { + "expression": { + "id": 76734, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "21295:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76735, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21311:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "21295:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21277:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21325:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21277:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76738, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21359:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21366:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21359:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76741, + "indexExpression": { + "hexValue": "30", + "id": 76740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21373: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": "21359:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21376:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "21359:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21382:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "21359:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76749, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76744, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21394:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21401:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21394:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76747, + "indexExpression": { + "hexValue": "30", + "id": 76746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21408: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": "21394:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21411:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "21394:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21359:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21425:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21359:74:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 76731, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75898, + "src": "21230:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 76751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21230:225:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76752, + "nodeType": "RevertStatement", + "src": "21223:232:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 76774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76755, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "21585:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76756, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21591:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "21585:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76759, + "indexExpression": { + "expression": { + "id": 76757, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "21604:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76758, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21620:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "21604:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21585:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76760, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21635:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21585:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76761, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21671:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21678:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21671:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76764, + "indexExpression": { + "hexValue": "30", + "id": 76763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21685: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": "21671:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21688:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "21671:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21694:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "21671:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76772, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76767, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21707:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21714:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21707:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76770, + "indexExpression": { + "hexValue": "30", + "id": 76769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21721: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": "21707:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21724:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "21707:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21671:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21739:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21671:76:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "21585:162:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76798, + "nodeType": "IfStatement", + "src": "21560:483:172", + "trueBody": { + "id": 76797, + "nodeType": "Block", + "src": "21766:277:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76776, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "21842:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21848:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "21842:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76780, + "indexExpression": { + "expression": { + "id": 76778, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "21861:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21877:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "21861:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21842:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21892:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21842:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76782, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21926:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21933:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21926:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76785, + "indexExpression": { + "hexValue": "30", + "id": 76784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21940: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": "21926:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21943:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "21926:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 76787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21949:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "21926:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 76793, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 76788, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "21962:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21969:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "21962:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76791, + "indexExpression": { + "hexValue": "30", + "id": 76790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21976: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": "21962:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 76792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21979:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "21962:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21926:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 76794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21994:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "21926:76:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 76775, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75898, + "src": "21795:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 76795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21795:229:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76796, + "nodeType": "RevertStatement", + "src": "21788:236:172" + } + ] + } + }, + { + "assignments": [ + 76800 + ], + "declarations": [ + { + "constant": false, + "id": 76800, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "22069:9:172", + "nodeType": "VariableDeclaration", + "scope": 76994, + "src": "22061:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 76799, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22061:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 76804, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 76801, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "22081:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76802, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22087:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "22081:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 76803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22081:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22061:32:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 76805, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "22115:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 76807, + "indexExpression": { + "id": 76806, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76800, + "src": "22123:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22115:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 76808, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75933, + "src": "22137:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22115:32:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 76988, + "nodeType": "Block", + "src": "22250:4378:172", + "statements": [ + { + "assignments": [ + 76821 + ], + "declarations": [ + { + "constant": false, + "id": 76821, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "22300:18:172", + "nodeType": "VariableDeclaration", + "scope": 76988, + "src": "22272:46:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 76820, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76819, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "22272:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "22272:20:172" + }, + "referencedDeclaration": 76041, + "src": "22272:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "id": 76833, + "initialValue": { + "arguments": [ + { + "id": 76823, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "22363:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + { + "expression": { + "id": 76824, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "22394:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76825, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22410:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "22394:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76826, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "22448:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76827, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22464:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "22448:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 76828, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "22503:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22507:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "22503:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76830, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "22539:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76831, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22555:13:172", + "memberName": "signedContext", + "nodeType": "MemberAccess", + "referencedDeclaration": 79025, + "src": "22539:29:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 76822, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77792, + "src": "22321:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_OrderV2_$79042_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$", + "typeString": "function (struct OrderV2 memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculationV2 memory)" + } + }, + "id": 76832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22321:269:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22272:318:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76834, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76821, + "src": "22960:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 76835, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22979:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 76030, + "src": "22960:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 76836, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "22989:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22996:14:172", + "memberName": "maximumIORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 79048, + "src": "22989:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22960:50:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 76850, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76821, + "src": "23154:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 76851, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23173:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 76028, + "src": "23154:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76848, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "23132:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23147:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "23132:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23132:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 76853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23187:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23132:56:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 76985, + "nodeType": "Block", + "src": "23301:3309:172", + "statements": [ + { + "assignments": [ + 76865 + ], + "declarations": [ + { + "constant": false, + "id": 76865, + "mutability": "mutable", + "name": "takerInputDecimals", + "nameLocation": "23333:18:172", + "nodeType": "VariableDeclaration", + "scope": 76985, + "src": "23327:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 76864, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "23327:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 76872, + "initialValue": { + "expression": { + "baseExpression": { + "expression": { + "id": 76866, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "23354:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76867, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23360:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "23354:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76870, + "indexExpression": { + "expression": { + "id": 76868, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "23373:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23389:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "23373:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23354:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76871, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23404:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "23354:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23327:85:172" + }, + { + "assignments": [ + 76875 + ], + "declarations": [ + { + "constant": false, + "id": 76875, + "mutability": "mutable", + "name": "takerInput18", + "nameLocation": "23531:12:172", + "nodeType": "VariableDeclaration", + "scope": 76985, + "src": "23517:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 76874, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76873, + "name": "Input18Amount", + "nameLocations": [ + "23517:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76045, + "src": "23517:13:172" + }, + "referencedDeclaration": 76045, + "src": "23517:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76884, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76880, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76821, + "src": "23615:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 76881, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23634:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 76028, + "src": "23615:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76878, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "23593:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23608:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "23593:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23593:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76876, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "23574:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23588:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "23574:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 76883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23574:71:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23517:128:172" + }, + { + "id": 76912, + "nodeType": "Block", + "src": "23966:534:172", + "statements": [ + { + "assignments": [ + 76887 + ], + "declarations": [ + { + "constant": false, + "id": 76887, + "mutability": "mutable", + "name": "remainingTakerInput18", + "nameLocation": "24119:21:172", + "nodeType": "VariableDeclaration", + "scope": 76912, + "src": "24105:35:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 76886, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76885, + "name": "Input18Amount", + "nameLocations": [ + "24105:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76045, + "src": "24105:13:172" + }, + "referencedDeclaration": 76045, + "src": "24105:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76896, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 76892, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "24222:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 76893, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72392, + "src": "24242:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76890, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76586, + "src": "24194:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24214:7:172", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 72704, + "src": "24194: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": 76894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24194:62:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76888, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "24175:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24189:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "24175:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 76895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24175:82:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24105:152:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 76899, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76875, + "src": "24312:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76897, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "24291:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24305:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "24291:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$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": "24291:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 76903, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76887, + "src": "24349:21:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76901, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "24328:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24342:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "24328:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24328:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24291:80:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76911, + "nodeType": "IfStatement", + "src": "24287:187:172", + "trueBody": { + "id": 76910, + "nodeType": "Block", + "src": "24373:101:172", + "statements": [ + { + "expression": { + "id": 76908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76906, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76875, + "src": "24407:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 76907, + "name": "remainingTakerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76887, + "src": "24422:21:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "src": "24407:36:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "id": 76909, + "nodeType": "ExpressionStatement", + "src": "24407:36:172" + } + ] + } + } + ] + }, + { + "assignments": [ + 76914 + ], + "declarations": [ + { + "constant": false, + "id": 76914, + "mutability": "mutable", + "name": "takerOutput", + "nameLocation": "24534:11:172", + "nodeType": "VariableDeclaration", + "scope": 76985, + "src": "24526:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24526:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76915, + "nodeType": "VariableDeclarationStatement", + "src": "24526:19:172" + }, + { + "id": 76950, + "nodeType": "Block", + "src": "24571:772:172", + "statements": [ + { + "assignments": [ + 76918 + ], + "declarations": [ + { + "constant": false, + "id": 76918, + "mutability": "mutable", + "name": "takerOutput18", + "nameLocation": "24703:13:172", + "nodeType": "VariableDeclaration", + "scope": 76950, + "src": "24688:28:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 76917, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76916, + "name": "Output18Amount", + "nameLocations": [ + "24688:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76043, + "src": "24688:14:172" + }, + "referencedDeclaration": 76043, + "src": "24688:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 76933, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 76926, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76821, + "src": "24986:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 76927, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25005:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 76030, + "src": "24986:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 76928, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46932, + "src": "25014:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46932_$", + "typeString": "type(library Math)" + } + }, + "id": 76929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25019:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 46073, + "src": "25014:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$46073_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 76930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25028:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 46071, + "src": "25014:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$46073", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$46073", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 76923, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76875, + "src": "24921:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76921, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "24900:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24914:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "24900:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24900:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24935:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 72431, + "src": "24900:48:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$46073_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 76931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24900:164:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 76919, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "24719:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24734:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "24719:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 76932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24719:375:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24688:406:172" + }, + { + "expression": { + "id": 76948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76934, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76914, + "src": "25124:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 76940, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "25215:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76941, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25221:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "25215:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 76944, + "indexExpression": { + "expression": { + "id": 76942, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "25233:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + "id": 76943, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25249:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "25233:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25215:47:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 76945, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25263:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "25215:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 76946, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72386, + "src": "25273:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 76937, + "name": "takerOutput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76918, + "src": "25160:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 76935, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "25138:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 76936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25153:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "25138:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 76938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25138:36:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25175:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 72779, + "src": "25138: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": 76947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25138:178:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25124:192:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76949, + "nodeType": "ExpressionStatement", + "src": "25124:192:172" + } + ] + }, + { + "assignments": [ + 76952 + ], + "declarations": [ + { + "constant": false, + "id": 76952, + "mutability": "mutable", + "name": "takerInput", + "nameLocation": "25377:10:172", + "nodeType": "VariableDeclaration", + "scope": 76985, + "src": "25369:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76951, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25369:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 76961, + "initialValue": { + "arguments": [ + { + "id": 76958, + "name": "takerInputDecimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76865, + "src": "25460:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 76959, + "name": "FLAG_SATURATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72392, + "src": "25480:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 76955, + "name": "takerInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76875, + "src": "25439:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 76953, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "25418:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 76954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25432:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "25418:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 76956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25418:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25453:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 72779, + "src": "25418: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": 76960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25418:76:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25369:125:172" + }, + { + "expression": { + "id": 76964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76962, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76586, + "src": "25521:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 76963, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76952, + "src": "25544:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25521:33:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76965, + "nodeType": "ExpressionStatement", + "src": "25521:33:172" + }, + { + "expression": { + "id": 76968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76966, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76551, + "src": "25580:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 76967, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76914, + "src": "25600:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25580:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76969, + "nodeType": "ExpressionStatement", + "src": "25580:31:172" + }, + { + "expression": { + "arguments": [ + { + "id": 76971, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76914, + "src": "25652:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76972, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76952, + "src": "25665:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76973, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76821, + "src": "25677:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 76970, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77897, + "src": "25638:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,struct OrderIOCalculationV2 memory)" + } + }, + "id": 76974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25638:58:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76975, + "nodeType": "ExpressionStatement", + "src": "25638:58:172" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76977, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "25737:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25741:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25737:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76979, + "name": "takeOrderConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76565, + "src": "25749:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + } + }, + { + "id": 76980, + "name": "takerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76952, + "src": "25766:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 76981, + "name": "takerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76914, + "src": "25778:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2 memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 76976, + "name": "TakeOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79149, + "src": "25727:9:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfigV2_$79026_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,struct TakeOrderConfigV2 memory,uint256,uint256)" + } + }, + "id": 76982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25727:63:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76983, + "nodeType": "EmitStatement", + "src": "25722:68:172" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "26157:431:172", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "26239:59:172", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "orderIOCalculationsToHandle", + "nodeType": "YulIdentifier", + "src": "26266:27:172" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "26260:5:172" + }, + "nodeType": "YulFunctionCall", + "src": "26260:34:172" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26296:1:172", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26256:3:172" + }, + "nodeType": "YulFunctionCall", + "src": "26256:42:172" + }, + "variables": [ + { + "name": "newLength", + "nodeType": "YulTypedName", + "src": "26243:9:172", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "orderIOCalculationsToHandle", + "nodeType": "YulIdentifier", + "src": "26334:27:172" + }, + { + "name": "newLength", + "nodeType": "YulIdentifier", + "src": "26363:9:172" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26327:6:172" + }, + "nodeType": "YulFunctionCall", + "src": "26327:46:172" + }, + "nodeType": "YulExpressionStatement", + "src": "26327:46:172" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "orderIOCalculationsToHandle", + "nodeType": "YulIdentifier", + "src": "26491:27:172" + }, + { + "arguments": [ + { + "name": "newLength", + "nodeType": "YulIdentifier", + "src": "26524:9:172" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26535:4:172", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "26520:3:172" + }, + "nodeType": "YulFunctionCall", + "src": "26520:20:172" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26487:3:172" + }, + "nodeType": "YulFunctionCall", + "src": "26487:54:172" + }, + { + "name": "orderIOCalculation", + "nodeType": "YulIdentifier", + "src": "26543:18:172" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26480:6:172" + }, + "nodeType": "YulFunctionCall", + "src": "26480:82:172" + }, + "nodeType": "YulExpressionStatement", + "src": "26480:82:172" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 76821, + "isOffset": false, + "isSlot": false, + "src": "26543:18:172", + "valueSize": 1 + }, + { + "declaration": 76575, + "isOffset": false, + "isSlot": false, + "src": "26266:27:172", + "valueSize": 1 + }, + { + "declaration": 76575, + "isOffset": false, + "isSlot": false, + "src": "26334:27:172", + "valueSize": 1 + }, + { + "declaration": 76575, + "isOffset": false, + "isSlot": false, + "src": "26491:27:172", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 76984, + "nodeType": "InlineAssembly", + "src": "26132:456:172" + } + ] + }, + "id": 76986, + "nodeType": "IfStatement", + "src": "23128:3482:172", + "trueBody": { + "id": 76863, + "nodeType": "Block", + "src": "23190:105:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76856, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23237:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23241:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23237:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76858, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "23249:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23255:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "23249:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76860, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76800, + "src": "23262: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": 76855, + "name": "OrderZeroAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79167, + "src": "23221:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 76861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23221:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76862, + "nodeType": "EmitStatement", + "src": "23216:56:172" + } + ] + } + }, + "id": 76987, + "nodeType": "IfStatement", + "src": "22956:3654:172", + "trueBody": { + "id": 76847, + "nodeType": "Block", + "src": "23012:110:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76840, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "23064:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23068:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23064:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76842, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "23076:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23082:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "23076:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76844, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76800, + "src": "23089: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": 76839, + "name": "OrderExceedsMaxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79176, + "src": "23043:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 76845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23043:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76846, + "nodeType": "EmitStatement", + "src": "23038:61:172" + } + ] + } + } + ] + }, + "id": 76989, + "nodeType": "IfStatement", + "src": "22111:4517:172", + "trueBody": { + "id": 76818, + "nodeType": "Block", + "src": "22149:95:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 76811, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "22190:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 76812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22194:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "22190:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 76813, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76569, + "src": "22202:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 76814, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22208:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "22202:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 76815, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76800, + "src": "22215: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": 76810, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79158, + "src": "22176:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 76816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22176:49:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76817, + "nodeType": "EmitStatement", + "src": "22171:54:172" + } + ] + } + }, + { + "id": 76993, + "nodeType": "UncheckedBlock", + "src": "26646:54:172", + "statements": [ + { + "expression": { + "id": 76991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "26678:3:172", + "subExpression": { + "id": 76990, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76599, + "src": "26678:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 76992, + "nodeType": "ExpressionStatement", + "src": "26678:3:172" + } + ] + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 76610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76602, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76599, + "src": "19690:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "expression": { + "id": 76603, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "19694:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19701:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "19694:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 76605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19708:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "19694:20:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19690:24:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 76609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 76607, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76586, + "src": "19718:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 76608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19740:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19718:23:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19690:51:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 76995, + "nodeType": "WhileStatement", + "src": "19683:7031:172" + }, + { + "expression": { + "id": 77001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 76996, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76549, + "src": "26727:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 76997, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "26745:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 76998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26752:12:172", + "memberName": "maximumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 79046, + "src": "26745:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 76999, + "name": "remainingTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76586, + "src": "26767:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26745:41:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26727:59:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77002, + "nodeType": "ExpressionStatement", + "src": "26727:59:172" + } + ] + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77004, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76549, + "src": "26811:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 77005, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "26829:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26836:12:172", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 79044, + "src": "26829:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26811:37:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77015, + "nodeType": "IfStatement", + "src": "26807:125:172", + "trueBody": { + "id": 77014, + "nodeType": "Block", + "src": "26850:82:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 77009, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "26884:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26891:12:172", + "memberName": "minimumInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 79044, + "src": "26884:19:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 77011, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76549, + "src": "26905:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 77008, + "name": "MinimumInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75905, + "src": "26871:12:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 77012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26871:50:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77013, + "nodeType": "RevertStatement", + "src": "26864:57:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77016, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76549, + "src": "27619:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27637:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "27619:19:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77041, + "nodeType": "IfStatement", + "src": "27615:203:172", + "trueBody": { + "id": 77040, + "nodeType": "Block", + "src": "27640:178:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 77035, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27766:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27770:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27766:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77037, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76549, + "src": "27778:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77020, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "27661:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27668:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "27661:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77023, + "indexExpression": { + "hexValue": "30", + "id": 77022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27675: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": "27661:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27678:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "27661:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 77025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27684:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "27661:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 77031, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77026, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "27697:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27704:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "27697:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77029, + "indexExpression": { + "hexValue": "30", + "id": 77028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27711: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": "27697:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27714:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "27697:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27661:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 77032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27729:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "27661:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77019, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "27654:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 77033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27654:81:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 77034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27736:12:172", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 44470, + "src": "27654:94:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", + "typeString": "function (contract IERC20,address,uint256)" + } + }, + "id": 77038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27654:153:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77039, + "nodeType": "ExpressionStatement", + "src": "27654:153:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 77042, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "27832:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27839:4:172", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 79054, + "src": "27832:11:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 77044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27844:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "27832:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27853:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "27832:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77085, + "nodeType": "IfStatement", + "src": "27828:390:172", + "trueBody": { + "id": 77084, + "nodeType": "Block", + "src": "27856:362:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77052, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "27935:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27942:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "27935:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77055, + "indexExpression": { + "hexValue": "30", + "id": 77054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27949: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": "27935:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27952:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "27935:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 77057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27958:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "27935:35:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 77063, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77058, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "27971:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27978:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "27971:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77061, + "indexExpression": { + "hexValue": "30", + "id": 77060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27985: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": "27971:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27988:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79021, + "src": "27971:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27935:67:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 77064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28003:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "27935:73:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77065, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "28026:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28033:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "28026:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77068, + "indexExpression": { + "hexValue": "30", + "id": 77067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28040: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": "28026:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28043:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "28026:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 77070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28049:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "28026:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 77076, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77071, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "28061:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28068:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "28061:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77074, + "indexExpression": { + "hexValue": "30", + "id": 77073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28075: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": "28061:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28078:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "28061:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28026:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 77077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28092:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "28026:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77078, + "name": "totalTakerInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76549, + "src": "28115:15:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 77079, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76551, + "src": "28148:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 77080, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "28182:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28189:4:172", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 79054, + "src": "28182: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": 77048, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "27893:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27897:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27893:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77047, + "name": "IOrderBookV3OrderTaker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79323, + "src": "27870:22:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$79323_$", + "typeString": "type(contract IOrderBookV3OrderTaker)" + } + }, + "id": 77050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27870:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$79323", + "typeString": "contract IOrderBookV3OrderTaker" + } + }, + "id": 77051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27905:12:172", + "memberName": "onTakeOrders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79322, + "src": "27870: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": 77082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27870:337:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77083, + "nodeType": "ExpressionStatement", + "src": "27870:337:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77086, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76551, + "src": "28232:16:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28251:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28232:20:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77115, + "nodeType": "IfStatement", + "src": "28228:222:172", + "trueBody": { + "id": 77114, + "nodeType": "Block", + "src": "28254:196:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 77105, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "28382:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28386:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28382:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 77109, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "28402:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + ], + "id": 77108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28394:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 77107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28394:7:172", + "typeDescriptions": {} + } + }, + "id": 77110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28394:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77111, + "name": "totalTakerOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76551, + "src": "28409: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": 77090, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "28275:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28282:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "28275:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77093, + "indexExpression": { + "hexValue": "30", + "id": 77092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28289: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": "28275:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28292:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 79017, + "src": "28275:22:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2 calldata" + } + }, + "id": 77095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28298:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "28275:34:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IO calldata[] calldata" + } + }, + "id": 77101, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77096, + "name": "config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76544, + "src": "28310:6:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2 calldata" + } + }, + "id": 77097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28317:6:172", + "memberName": "orders", + "nodeType": "MemberAccess", + "referencedDeclaration": 79052, + "src": "28310:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata[] calldata" + } + }, + "id": 77099, + "indexExpression": { + "hexValue": "30", + "id": 77098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28324: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": "28310:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", + "typeString": "struct TakeOrderConfigV2 calldata" + } + }, + "id": 77100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28327:12:172", + "memberName": "inputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 79019, + "src": "28310:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28275:65:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", + "typeString": "struct IO calldata" + } + }, + "id": 77102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28341:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "28275:71:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77089, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44376, + "src": "28268:6:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 77103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28268:79:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44376", + "typeString": "contract IERC20" + } + }, + "id": 77104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28348:16:172", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 44497, + "src": "28268: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": 77112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28268:171:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77113, + "nodeType": "ExpressionStatement", + "src": "28268:171:172" + } + ] + } + }, + { + "id": 77135, + "nodeType": "UncheckedBlock", + "src": "28460:172:172", + "statements": [ + { + "body": { + "id": 77133, + "nodeType": "Block", + "src": "28549:73:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 77128, + "name": "orderIOCalculationsToHandle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76575, + "src": "28576:27:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$dyn_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory[] memory" + } + }, + "id": 77130, + "indexExpression": { + "id": 77129, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77117, + "src": "28604:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28576:30:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 77127, + "name": "handleIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77995, + "src": "28567:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", + "typeString": "function (struct OrderIOCalculationV2 memory)" + } + }, + "id": 77131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28567:40:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77132, + "nodeType": "ExpressionStatement", + "src": "28567:40:172" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77120, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77117, + "src": "28504:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 77121, + "name": "orderIOCalculationsToHandle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76575, + "src": "28508:27:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$dyn_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory[] memory" + } + }, + "id": 77122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28536:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "28508:34:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28504:38:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77134, + "initializationExpression": { + "assignments": [ + 77117 + ], + "declarations": [ + { + "constant": false, + "id": 77117, + "mutability": "mutable", + "name": "i", + "nameLocation": "28497:1:172", + "nodeType": "VariableDeclaration", + "scope": 77134, + "src": "28489:9:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28489:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 77119, + "initialValue": { + "hexValue": "30", + "id": 77118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28501:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "28489:13:172" + }, + "loopExpression": { + "expression": { + "id": 77125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "28544:3:172", + "subExpression": { + "id": 77124, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77117, + "src": "28544:1:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77126, + "nodeType": "ExpressionStatement", + "src": "28544:3:172" + }, + "nodeType": "ForStatement", + "src": "28484:138:172" + } + ] + } + ] + }, + "baseFunctions": [ + 79267 + ], + "documentation": { + "id": 76541, + "nodeType": "StructuredDocumentation", + "src": "18152:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "8a44689c", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 76547, + "kind": "modifierInvocation", + "modifierName": { + "id": 76546, + "name": "nonReentrant", + "nameLocations": [ + "18454:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "18454:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "18454:12:172" + } + ], + "name": "takeOrders", + "nameLocation": "18382:10:172", + "parameters": { + "id": 76545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76544, + "mutability": "mutable", + "name": "config", + "nameLocation": "18421:6:172", + "nodeType": "VariableDeclaration", + "scope": 77137, + "src": "18393:34:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2" + }, + "typeName": { + "id": 76543, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 76542, + "name": "TakeOrdersConfigV2", + "nameLocations": [ + "18393:18:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79055, + "src": "18393:18:172" + }, + "referencedDeclaration": 79055, + "src": "18393:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_storage_ptr", + "typeString": "struct TakeOrdersConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "18392:36:172" + }, + "returnParameters": { + "id": 76552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76549, + "mutability": "mutable", + "name": "totalTakerInput", + "nameLocation": "18492:15:172", + "nodeType": "VariableDeclaration", + "scope": 77137, + "src": "18484:23:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76548, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18484:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 76551, + "mutability": "mutable", + "name": "totalTakerOutput", + "nameLocation": "18517:16:172", + "nodeType": "VariableDeclaration", + "scope": 77137, + "src": "18509:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18509:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18483:51:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 77469, + "nodeType": "FunctionDefinition", + "src": "28677:4498:172", + "nodes": [], + "body": { + "id": 77468, + "nodeType": "Block", + "src": "28934:4241:172", + "nodes": [], + "statements": [ + { + "id": 77340, + "nodeType": "Block", + "src": "28944:2546:172", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 77164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 77160, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "28962:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77161, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28973:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "28962:16:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 77162, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "28982:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28991:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "28982:14:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "28962:34:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77171, + "nodeType": "IfStatement", + "src": "28958:107:172", + "trueBody": { + "id": 77170, + "nodeType": "Block", + "src": "28998:67:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 77166, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "29033:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29044:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "29033:16:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77165, + "name": "SameOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75910, + "src": "29023:9:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 77168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29023:27:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77169, + "nodeType": "RevertStatement", + "src": "29016:34:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 77184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77172, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "29099:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29110:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "29099:23:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77176, + "indexExpression": { + "expression": { + "id": 77174, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29123:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29135:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78719, + "src": "29123:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29099:55:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29155:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "29099:61:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77178, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "29184:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29193:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "29184:20:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77182, + "indexExpression": { + "expression": { + "id": 77180, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29205:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29217:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78721, + "src": "29205:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29184:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29234:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "29184:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "29099:140:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77201, + "nodeType": "IfStatement", + "src": "29078:407:172", + "trueBody": { + "id": 77200, + "nodeType": "Block", + "src": "29254:231:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 77186, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "29314:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29325:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "29314:23:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77190, + "indexExpression": { + "expression": { + "id": 77188, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29338:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29350:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78719, + "src": "29338:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29314:55:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29370:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "29314:61:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77192, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "29397:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29406:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "29397:20:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77196, + "indexExpression": { + "expression": { + "id": 77194, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29418:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29430:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78721, + "src": "29418:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29397:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29447:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "29397:55:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77185, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75891, + "src": "29279:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 77198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29279:191:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77199, + "nodeType": "RevertStatement", + "src": "29272:198:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 77214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77202, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "29520:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77203, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29531:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "29520:23:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77206, + "indexExpression": { + "expression": { + "id": 77204, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29544:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29556:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78719, + "src": "29544:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29520:55:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77207, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29576:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "29520:64:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77208, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "29608:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77209, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29617:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "29608:20:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77212, + "indexExpression": { + "expression": { + "id": 77210, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29629:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29641:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78721, + "src": "29629:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29608:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29658:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "29608:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "29520:146:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77231, + "nodeType": "IfStatement", + "src": "29499:427:172", + "trueBody": { + "id": 77230, + "nodeType": "Block", + "src": "29681:245:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 77216, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "29749:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77217, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29760:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "29749:23:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77220, + "indexExpression": { + "expression": { + "id": 77218, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29773:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29785:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78719, + "src": "29773:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29749:55:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77221, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29805:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "29749:64:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77222, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "29835:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77223, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29844:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "29835:20:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77226, + "indexExpression": { + "expression": { + "id": 77224, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29856:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29868:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78721, + "src": "29856:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29835:49:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77227, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29885:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "29835:58:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 77215, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75898, + "src": "29706:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 77228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29706:205:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77229, + "nodeType": "RevertStatement", + "src": "29699:212:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 77244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77232, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "29961:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29970:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "29961:21:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77236, + "indexExpression": { + "expression": { + "id": 77234, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "29983:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29995:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78723, + "src": "29983:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29961:51:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30013:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "29961:57:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77238, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "30042:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77239, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30053:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "30042:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77242, + "indexExpression": { + "expression": { + "id": 77240, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "30065:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30077:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78717, + "src": "30065:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30042:53:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30096:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "30042:59:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "29961:140:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77261, + "nodeType": "IfStatement", + "src": "29940:407:172", + "trueBody": { + "id": 77260, + "nodeType": "Block", + "src": "30116:231:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 77246, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "30176:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77247, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30187:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "30176:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77250, + "indexExpression": { + "expression": { + "id": 77248, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "30199:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30211:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78717, + "src": "30199:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30176:53:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77251, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30230:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "30176:59:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77252, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "30257:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30266:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "30257:21:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77256, + "indexExpression": { + "expression": { + "id": 77254, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "30279:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30291:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78723, + "src": "30279:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30257:51:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77257, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30309:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "30257:57:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77245, + "name": "TokenMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75891, + "src": "30141:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) pure" + } + }, + "id": 77258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30141:191:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77259, + "nodeType": "RevertStatement", + "src": "30134:198:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 77274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77262, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "30382:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77263, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30391:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "30382:21:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77266, + "indexExpression": { + "expression": { + "id": 77264, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "30404:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30416:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78723, + "src": "30404:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30382:51:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30434:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "30382:60:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77268, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "30466:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77269, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30477:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "30466:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77272, + "indexExpression": { + "expression": { + "id": 77270, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "30489:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30501:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78717, + "src": "30489:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30466:53:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30520:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "30466:62:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "30382:146:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77291, + "nodeType": "IfStatement", + "src": "30361:427:172", + "trueBody": { + "id": 77290, + "nodeType": "Block", + "src": "30543:245:172", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 77276, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "30611:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30622:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "30611:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77280, + "indexExpression": { + "expression": { + "id": 77278, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "30634:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30646:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78717, + "src": "30634:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30611:53:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30665:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "30611:62:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77282, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "30695:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30704:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "30695:21:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77286, + "indexExpression": { + "expression": { + "id": 77284, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "30717:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30729:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78723, + "src": "30717:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30695:51:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77287, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30747:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "30695:60:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 77275, + "name": "TokenDecimalsMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75898, + "src": "30568:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", + "typeString": "function (uint8,uint8) pure" + } + }, + "id": 77288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30568:205:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77289, + "nodeType": "RevertStatement", + "src": "30561:212:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 77292, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "31013:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 77296, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 77293, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "31021:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31032:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "31021:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 77295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31021:17:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31013:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 77297, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75933, + "src": "31043:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "31013:40:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77311, + "nodeType": "IfStatement", + "src": "31009:170:172", + "trueBody": { + "id": 77310, + "nodeType": "Block", + "src": "31055:124:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 77300, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "31092:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31096:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "31092:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 77302, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "31104:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77303, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31115:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "31104:16:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 77304, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "31122:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31133:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "31122:15:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 77306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31122:17: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": 77299, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79158, + "src": "31078:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 77307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31078:62:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77308, + "nodeType": "EmitStatement", + "src": "31073:67:172" + }, + { + "functionReturnParameters": 77159, + "id": 77309, + "nodeType": "Return", + "src": "31158:7:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 77312, + "name": "sOrders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76085, + "src": "31196:7:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 77316, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 77313, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "31204:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31213:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "31204:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 77315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31204:15:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31196:24:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 77317, + "name": "ORDER_DEAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75933, + "src": "31224:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "31196:38:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77331, + "nodeType": "IfStatement", + "src": "31192:164:172", + "trueBody": { + "id": 77330, + "nodeType": "Block", + "src": "31236:120:172", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 77320, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "31273:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31277:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "31273:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 77322, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "31285:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31294:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "31285:14:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 77324, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "31301:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31310:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "31301:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 77326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31301:15: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": 77319, + "name": "OrderNotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79158, + "src": "31259:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 77327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31259:58:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77328, + "nodeType": "EmitStatement", + "src": "31254:63:172" + }, + { + "functionReturnParameters": 77159, + "id": 77329, + "nodeType": "Return", + "src": "31335:7:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 77333, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "31433:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31437:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "31433:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77335, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "31445:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + { + "id": 77336, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "31457:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + { + "id": 77337, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "31467:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + }, + { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + }, + { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + ], + "id": 77332, + "name": "Clear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79190, + "src": "31427:5:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_struct$_ClearConfig_$78728_memory_ptr_$returns$__$", + "typeString": "function (address,struct OrderV2 memory,struct OrderV2 memory,struct ClearConfig memory)" + } + }, + "id": 77338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31427:52:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77339, + "nodeType": "EmitStatement", + "src": "31422:57:172" + } + ] + }, + { + "assignments": [ + 77343 + ], + "declarations": [ + { + "constant": false, + "id": 77343, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "31527:23:172", + "nodeType": "VariableDeclaration", + "scope": 77468, + "src": "31499:51:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 77342, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77341, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "31499:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "31499:20:172" + }, + "referencedDeclaration": 76041, + "src": "31499:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "id": 77354, + "initialValue": { + "arguments": [ + { + "id": 77345, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "31583:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + { + "expression": { + "id": 77346, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "31595:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31607:17:172", + "memberName": "aliceInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78717, + "src": "31595:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 77348, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "31626:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31638:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78719, + "src": "31626:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 77350, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "31658:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31667:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "31658:14:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77352, + "name": "bobSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77155, + "src": "31674:16:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 77344, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77792, + "src": "31553:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_OrderV2_$79042_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$", + "typeString": "function (struct OrderV2 memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculationV2 memory)" + } + }, + "id": 77353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31553:147:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "31499:201:172" + }, + { + "assignments": [ + 77357 + ], + "declarations": [ + { + "constant": false, + "id": 77357, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "31738:21:172", + "nodeType": "VariableDeclaration", + "scope": 77468, + "src": "31710:49:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 77356, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77355, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "31710:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "31710:20:172" + }, + "referencedDeclaration": 76041, + "src": "31710:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "id": 77368, + "initialValue": { + "arguments": [ + { + "id": 77359, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "31792:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + { + "expression": { + "id": 77360, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "31802:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31814:15:172", + "memberName": "bobInputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78721, + "src": "31802:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 77362, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "31831:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31843:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78723, + "src": "31831:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 77364, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "31861:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31872:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "31861:16:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77366, + "name": "aliceSignedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77151, + "src": "31879:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "id": 77358, + "name": "calculateOrderIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77792, + "src": "31762:16:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_OrderV2_$79042_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$", + "typeString": "function (struct OrderV2 memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculationV2 memory)" + } + }, + "id": 77367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31762:145:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "31710:197:172" + }, + { + "assignments": [ + 77371 + ], + "declarations": [ + { + "constant": false, + "id": 77371, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "31941:16:172", + "nodeType": "VariableDeclaration", + "scope": 77468, + "src": "31917:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 77370, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77369, + "name": "ClearStateChange", + "nameLocations": [ + "31917:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78737, + "src": "31917:16:172" + }, + "referencedDeclaration": 78737, + "src": "31917:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "id": 77376, + "initialValue": { + "arguments": [ + { + "id": 77373, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77343, + "src": "31998:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + { + "id": 77374, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77357, + "src": "32023:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 77372, + "name": "calculateClearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78033, + "src": "31972:25:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$_t_struct$_ClearStateChange_$78737_memory_ptr_$", + "typeString": "function (struct OrderIOCalculationV2 memory,struct OrderIOCalculationV2 memory) pure returns (struct ClearStateChange memory)" + } + }, + "id": 77375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31972:73:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "31917:128:172" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 77378, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32070:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77379, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32087:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78734, + "src": "32070:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 77380, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32099:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77381, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32116:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78730, + "src": "32099:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 77382, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77343, + "src": "32129:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 77377, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77897, + "src": "32056:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,struct OrderIOCalculationV2 memory)" + } + }, + "id": 77383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32056:97:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77384, + "nodeType": "ExpressionStatement", + "src": "32056:97:172" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 77386, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32177:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77387, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32194:8:172", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78736, + "src": "32177:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 77388, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32204:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77389, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32221:9:172", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78732, + "src": "32204:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 77390, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77357, + "src": "32232:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 77385, + "name": "recordVaultIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77897, + "src": "32163:13:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,struct OrderIOCalculationV2 memory)" + } + }, + "id": 77391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32163:91:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77392, + "nodeType": "ExpressionStatement", + "src": "32163:91:172" + }, + { + "id": 77453, + "nodeType": "Block", + "src": "32265:763:172", + "statements": [ + { + "assignments": [ + 77394 + ], + "declarations": [ + { + "constant": false, + "id": 77394, + "mutability": "mutable", + "name": "aliceBounty", + "nameLocation": "32419:11:172", + "nodeType": "VariableDeclaration", + "scope": 77453, + "src": "32411:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77393, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32411:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 77400, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 77395, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32433:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32450:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78730, + "src": "32433:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 77397, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32464:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32481:8:172", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78736, + "src": "32464:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "32433:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32411:78:172" + }, + { + "assignments": [ + 77402 + ], + "declarations": [ + { + "constant": false, + "id": 77402, + "mutability": "mutable", + "name": "bobBounty", + "nameLocation": "32511:9:172", + "nodeType": "VariableDeclaration", + "scope": 77453, + "src": "32503:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32503:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 77408, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 77403, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32523:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77404, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32540:9:172", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78732, + "src": "32523:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 77405, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "32552:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 77406, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32569:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78734, + "src": "32552:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "32523:56:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32503:76:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77409, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77394, + "src": "32597:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32611:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "32597:15:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77430, + "nodeType": "IfStatement", + "src": "32593:211:172", + "trueBody": { + "id": 77429, + "nodeType": "Block", + "src": "32614:190:172", + "statements": [ + { + "expression": { + "id": 77427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 77412, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "32632: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": 77423, + "indexExpression": { + "expression": { + "id": 77413, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "32647:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32651:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "32647:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32632:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 77424, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77415, + "name": "aliceOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77141, + "src": "32659:10:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32670:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "32659:23:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77419, + "indexExpression": { + "expression": { + "id": 77417, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "32683:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32695:18:172", + "memberName": "aliceOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78719, + "src": "32683:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32659:55:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77420, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32715:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "32659:61:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32632:89:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 77425, + "indexExpression": { + "expression": { + "id": 77421, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "32722:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32755:18:172", + "memberName": "aliceBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 78725, + "src": "32722:51:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "32632:142:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 77426, + "name": "aliceBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77394, + "src": "32778:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "32632:157:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77428, + "nodeType": "ExpressionStatement", + "src": "32632:157:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77431, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77402, + "src": "32821:9:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32833:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "32821:13:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77452, + "nodeType": "IfStatement", + "src": "32817:201:172", + "trueBody": { + "id": 77451, + "nodeType": "Block", + "src": "32836:182:172", + "statements": [ + { + "expression": { + "id": 77449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 77434, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "32854: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": 77445, + "indexExpression": { + "expression": { + "id": 77435, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "32869:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32873:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "32869:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32854:26:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 77446, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77437, + "name": "bobOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77144, + "src": "32881:8:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32890:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "32881:21:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77441, + "indexExpression": { + "expression": { + "id": 77439, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "32903:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32915:16:172", + "memberName": "bobOutputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 78723, + "src": "32903:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32881:51:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32933:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "32881:57:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32854:85:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 77447, + "indexExpression": { + "expression": { + "id": 77443, + "name": "clearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77147, + "src": "32940:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig calldata" + } + }, + "id": 77444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32973:16:172", + "memberName": "bobBountyVaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 78727, + "src": "32940:49:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "32854:136:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 77448, + "name": "bobBounty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77402, + "src": "32994:9:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "32854:149:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77450, + "nodeType": "ExpressionStatement", + "src": "32854:149:172" + } + ] + } + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 77455, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "33054:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33058:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "33054:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77457, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77371, + "src": "33066:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + ], + "id": 77454, + "name": "AfterClear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79198, + "src": "33043:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$78737_memory_ptr_$returns$__$", + "typeString": "function (address,struct ClearStateChange memory)" + } + }, + "id": 77458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33043:40:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77459, + "nodeType": "EmitStatement", + "src": "33038:45:172" + }, + { + "expression": { + "arguments": [ + { + "id": 77461, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77343, + "src": "33103:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 77460, + "name": "handleIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77995, + "src": "33094:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", + "typeString": "function (struct OrderIOCalculationV2 memory)" + } + }, + "id": 77462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33094:33:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77463, + "nodeType": "ExpressionStatement", + "src": "33094:33:172" + }, + { + "expression": { + "arguments": [ + { + "id": 77465, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77357, + "src": "33146:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 77464, + "name": "handleIO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77995, + "src": "33137:8:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", + "typeString": "function (struct OrderIOCalculationV2 memory)" + } + }, + "id": 77466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33137:31:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77467, + "nodeType": "ExpressionStatement", + "src": "33137:31:172" + } + ] + }, + "baseFunctions": [ + 79288 + ], + "documentation": { + "id": 77138, + "nodeType": "StructuredDocumentation", + "src": "28644:28:172", + "text": "@inheritdoc IOrderBookV3" + }, + "functionSelector": "9e18968b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 77158, + "kind": "modifierInvocation", + "modifierName": { + "id": 77157, + "name": "nonReentrant", + "nameLocations": [ + "28921:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43676, + "src": "28921:12:172" + }, + "nodeType": "ModifierInvocation", + "src": "28921:12:172" + } + ], + "name": "clear", + "nameLocation": "28686:5:172", + "parameters": { + "id": 77156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77141, + "mutability": "mutable", + "name": "aliceOrder", + "nameLocation": "28716:10:172", + "nodeType": "VariableDeclaration", + "scope": 77469, + "src": "28701:25:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 77140, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77139, + "name": "OrderV2", + "nameLocations": [ + "28701:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "28701:7:172" + }, + "referencedDeclaration": 79042, + "src": "28701:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77144, + "mutability": "mutable", + "name": "bobOrder", + "nameLocation": "28751:8:172", + "nodeType": "VariableDeclaration", + "scope": 77469, + "src": "28736:23:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 77143, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77142, + "name": "OrderV2", + "nameLocations": [ + "28736:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "28736:7:172" + }, + "referencedDeclaration": 79042, + "src": "28736:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77147, + "mutability": "mutable", + "name": "clearConfig", + "nameLocation": "28790:11:172", + "nodeType": "VariableDeclaration", + "scope": 77469, + "src": "28769:32:172", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig" + }, + "typeName": { + "id": 77146, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77145, + "name": "ClearConfig", + "nameLocations": [ + "28769:11:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78728, + "src": "28769:11:172" + }, + "referencedDeclaration": 78728, + "src": "28769:11:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_storage_ptr", + "typeString": "struct ClearConfig" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77151, + "mutability": "mutable", + "name": "aliceSignedContext", + "nameLocation": "28836:18:172", + "nodeType": "VariableDeclaration", + "scope": 77469, + "src": "28811:43:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 77149, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77148, + "name": "SignedContextV1", + "nameLocations": [ + "28811:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55640, + "src": "28811:15:172" + }, + "referencedDeclaration": 55640, + "src": "28811:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 77150, + "nodeType": "ArrayTypeName", + "src": "28811:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77155, + "mutability": "mutable", + "name": "bobSignedContext", + "nameLocation": "28889:16:172", + "nodeType": "VariableDeclaration", + "scope": 77469, + "src": "28864:41:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 77153, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77152, + "name": "SignedContextV1", + "nameLocations": [ + "28864:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55640, + "src": "28864:15:172" + }, + "referencedDeclaration": 55640, + "src": "28864:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 77154, + "nodeType": "ArrayTypeName", + "src": "28864:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "28691:220:172" + }, + "returnParameters": { + "id": 77159, + "nodeType": "ParameterList", + "parameters": [], + "src": "28934:0:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 77792, + "nodeType": "FunctionDefinition", + "src": "33879:5183:172", + "nodes": [], + "body": { + "id": 77791, + "nodeType": "Block", + "src": "34132:4930:172", + "nodes": [], + "statements": [ + { + "id": 77790, + "nodeType": "UncheckedBlock", + "src": "34142:4914:172", + "statements": [ + { + "assignments": [ + 77490 + ], + "declarations": [ + { + "constant": false, + "id": 77490, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "34174:9:172", + "nodeType": "VariableDeclaration", + "scope": 77790, + "src": "34166:17:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 77489, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "34166:7:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 77494, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 77491, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34186:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34192:4:172", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 79344, + "src": "34186:10:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", + "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" + } + }, + "id": 77493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34186:12:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "34166:32:172" + }, + { + "assignments": [ + 77500 + ], + "declarations": [ + { + "constant": false, + "id": 77500, + "mutability": "mutable", + "name": "context", + "nameLocation": "34232:7:172", + "nodeType": "VariableDeclaration", + "scope": 77790, + "src": "34213: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": 77497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34213:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77498, + "nodeType": "ArrayTypeName", + "src": "34213:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 77499, + "nodeType": "ArrayTypeName", + "src": "34213:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 77501, + "nodeType": "VariableDeclarationStatement", + "src": "34213:26:172" + }, + { + "id": 77648, + "nodeType": "Block", + "src": "34253:1502:172", + "statements": [ + { + "assignments": [ + 77507 + ], + "declarations": [ + { + "constant": false, + "id": 77507, + "mutability": "mutable", + "name": "callingContext", + "nameLocation": "34290:14:172", + "nodeType": "VariableDeclaration", + "scope": 77648, + "src": "34271: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": 77504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34271:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77505, + "nodeType": "ArrayTypeName", + "src": "34271:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 77506, + "nodeType": "ArrayTypeName", + "src": "34271:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + }, + "visibility": "internal" + } + ], + "id": 77514, + "initialValue": { + "arguments": [ + { + "id": 77512, + "name": "CALLING_CONTEXT_COLUMNS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75969, + "src": "34323:23:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 77511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "34307: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": 77508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34311:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77509, + "nodeType": "ArrayTypeName", + "src": "34311:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "id": 77510, + "nodeType": "ArrayTypeName", + "src": "34311:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", + "typeString": "uint256[][]" + } + } + }, + "id": 77513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34307:40:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "34271:76:172" + }, + { + "expression": { + "id": 77542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 77515, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77507, + "src": "34365:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77519, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 77516, + "name": "CONTEXT_CALLING_CONTEXT_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75977, + "src": "34380:30:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 77517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34413:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "34380:34:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "34365:50:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 77524, + "name": "orderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77490, + "src": "34473:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 77523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34465:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 77522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34465:7:172", + "typeDescriptions": {} + } + }, + "id": 77525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34465:18:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 77530, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34501:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77531, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34507:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "34501:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34493:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 77528, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "34493:7:172", + "typeDescriptions": {} + } + }, + "id": 77532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34493:20:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 77527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34485:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 77526, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34485:7:172", + "typeDescriptions": {} + } + }, + "id": 77533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34485:29:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 77538, + "name": "counterparty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77479, + "src": "34532:12:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34524:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 77536, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "34524:7:172", + "typeDescriptions": {} + } + }, + "id": 77539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34524:21:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 77535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34516:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 77534, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34516:7:172", + "typeDescriptions": {} + } + }, + "id": 77540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34516: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": 77520, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "34418:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 77521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34434:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 73701, + "src": "34418: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": 77541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34418:146:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "34365:199:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77543, + "nodeType": "ExpressionStatement", + "src": "34365:199:172" + }, + { + "expression": { + "id": 77590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 77544, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77507, + "src": "34583:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77548, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 77545, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75985, + "src": "34598:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 77546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34628:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "34598:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "34583: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": 77555, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34696:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77556, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34702:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "34696:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77558, + "indexExpression": { + "id": 77557, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77475, + "src": "34714:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34696:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34728:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "34696:37:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34688:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 77553, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "34688:7:172", + "typeDescriptions": {} + } + }, + "id": 77560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34688:46:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 77552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34680:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 77551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34680:7:172", + "typeDescriptions": {} + } + }, + "id": 77561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34680:55:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77562, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34757:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77563, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34763:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "34757:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77565, + "indexExpression": { + "id": 77564, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77475, + "src": "34775:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34757:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34789:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "34757:40:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77567, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34819:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34825:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "34819:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77570, + "indexExpression": { + "id": 77569, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77475, + "src": "34837:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34819:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77571, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34851:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 78657, + "src": "34819:39:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 77572, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "34880: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": 77575, + "indexExpression": { + "expression": { + "id": 77573, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34895:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77574, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34901:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "34895:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34880:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 77581, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77576, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34908:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34914:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "34908:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77579, + "indexExpression": { + "id": 77578, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77475, + "src": "34926:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34908:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34940:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "34908:37:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34880:66:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 77587, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77582, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "34947:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77583, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34953:11:172", + "memberName": "validInputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79037, + "src": "34947:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77585, + "indexExpression": { + "id": 77584, + "name": "inputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77475, + "src": "34965:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34947:31:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77586, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35004:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 78657, + "src": "34947:64:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34880:132:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 77588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35090: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": 77549, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "34633:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 77550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34649:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 73737, + "src": "34633: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": 77589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34633:476:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "34583:526:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77591, + "nodeType": "ExpressionStatement", + "src": "34583:526:172" + }, + { + "expression": { + "id": 77638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 77592, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77507, + "src": "35128:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77596, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 77593, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75989, + "src": "35143:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 77594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35174:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "35143:32:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "35128: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": 77603, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "35242:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35248:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "35242:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77606, + "indexExpression": { + "id": 77605, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "35261:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35242:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35276:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "35242:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35234:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 77601, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "35234:7:172", + "typeDescriptions": {} + } + }, + "id": 77608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35234:48:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 77600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35226:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 77599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35226:7:172", + "typeDescriptions": {} + } + }, + "id": 77609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35226:57:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77610, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "35305:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77611, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35311:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "35305:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77613, + "indexExpression": { + "id": 77612, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "35324:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35305:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77614, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35339:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "35305:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 77615, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "35369:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35375:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "35369:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77618, + "indexExpression": { + "id": 77617, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "35388:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35369:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77619, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35403:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 78657, + "src": "35369:41:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 77620, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "35432: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": 77623, + "indexExpression": { + "expression": { + "id": 77621, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "35447:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35453:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "35447:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35432:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 77629, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77624, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "35460:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35466:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "35460:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77627, + "indexExpression": { + "id": 77626, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "35479:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35460:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77628, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35494:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "35460:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35432:68:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 77635, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77630, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "35501:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77631, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35507:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "35501:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77633, + "indexExpression": { + "id": 77632, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "35520:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35501:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35560:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 78657, + "src": "35501:66:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35432:136:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 77636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35646: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": 77597, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "35179:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 77598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35195:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 73737, + "src": "35179: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": 77637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35179:486:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "35128:537:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77639, + "nodeType": "ExpressionStatement", + "src": "35128:537:172" + }, + { + "expression": { + "id": 77646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 77640, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77500, + "src": "35683: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": 77643, + "name": "callingContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77507, + "src": "35710:14:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 77644, + "name": "signedContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77483, + "src": "35726:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_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_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1 memory[] memory" + } + ], + "expression": { + "id": 77641, + "name": "LibContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57009, + "src": "35693:10:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibContext_$57009_$", + "typeString": "type(library LibContext)" + } + }, + "id": 77642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35704:5:172", + "memberName": "build", + "nodeType": "MemberAccess", + "referencedDeclaration": 57008, + "src": "35693: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_$55640_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": 77645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35693:47:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "src": "35683:57:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77647, + "nodeType": "ExpressionStatement", + "src": "35683:57:172" + } + ] + }, + { + "assignments": [ + 77651 + ], + "declarations": [ + { + "constant": false, + "id": 77651, + "mutability": "mutable", + "name": "namespace", + "nameLocation": "35946:9:172", + "nodeType": "VariableDeclaration", + "scope": 77790, + "src": "35931:24:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + }, + "typeName": { + "id": 77650, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77649, + "name": "StateNamespace", + "nameLocations": [ + "35931:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55877, + "src": "35931:14:172" + }, + "referencedDeclaration": 55877, + "src": "35931:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + "visibility": "internal" + } + ], + "id": 77663, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 77658, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "35994:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77659, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36000:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "35994:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35986:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 77656, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "35986:7:172", + "typeDescriptions": {} + } + }, + "id": 77660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35986:20:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 77655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35978:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 77654, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35978:7:172", + "typeDescriptions": {} + } + }, + "id": 77661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35978:29:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 77652, + "name": "StateNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55877, + "src": "35958:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$55877_$", + "typeString": "type(StateNamespace)" + } + }, + "id": 77653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35973:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "35958:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$55877_$", + "typeString": "function (uint256) pure returns (StateNamespace)" + } + }, + "id": 77662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35958:50:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "35931:77:172" + }, + { + "assignments": [ + 77668, + 77671 + ], + "declarations": [ + { + "constant": false, + "id": 77668, + "mutability": "mutable", + "name": "calculateOrderStack", + "nameLocation": "36367:19:172", + "nodeType": "VariableDeclaration", + "scope": 77790, + "src": "36350:36:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 77666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "36350:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77667, + "nodeType": "ArrayTypeName", + "src": "36350:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77671, + "mutability": "mutable", + "name": "calculateOrderKVs", + "nameLocation": "36405:17:172", + "nodeType": "VariableDeclaration", + "scope": 77790, + "src": "36388:34:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 77669, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "36388:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77670, + "nodeType": "ArrayTypeName", + "src": "36388:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 77699, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 77676, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "36528:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36534:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "36528:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36544:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 55629, + "src": "36528:21:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "arguments": [ + { + "id": 77681, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77651, + "src": "36597:9:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "id": 77684, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "36616:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + ], + "id": 77683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36608:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 77682, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36608:7:172", + "typeDescriptions": {} + } + }, + "id": 77685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36608:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 77679, + "name": "LibNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57900, + "src": "36567:12:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibNamespace_$57900_$", + "typeString": "type(library LibNamespace)" + } + }, + "id": 77680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36580:16:172", + "memberName": "qualifyNamespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 57899, + "src": "36567:29:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$55877_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$", + "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" + } + }, + "id": 77686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36567:55:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", + "typeString": "FullyQualifiedNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "id": 77688, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "36664:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36670:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "36664:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77690, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36680:10:172", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 55631, + "src": "36664:26:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77687, + "name": "_calculateOrderDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78161, + "src": "36640:23:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 77691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36640:51:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + } + }, + { + "id": 77692, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77500, + "src": "36709:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 77696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36748: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" + } + ], + "id": 77695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "36734:13:172", + "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": 77693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "36738:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77694, + "nodeType": "ArrayTypeName", + "src": "36738:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 77697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36734:16:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", + "typeString": "FullyQualifiedNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "id": 77672, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "36426:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77673, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36449:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "36426:32:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36476:11:172", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 55626, + "src": "36426:61:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV2_$56032", + "typeString": "contract IInterpreterV2" + } + }, + "id": 77675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "36505:5:172", + "memberName": "eval2", + "nodeType": "MemberAccess", + "referencedDeclaration": 56031, + "src": "36426:84:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$55698_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$_t_userDefinedValueType$_EncodedDispatch_$55875_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,FullyQualifiedNamespace,EncodedDispatch,uint256[] memory[] memory,uint256[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 77698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36426:338: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": "36349:415:172" + }, + { + "assignments": [ + 77702 + ], + "declarations": [ + { + "constant": false, + "id": 77702, + "mutability": "mutable", + "name": "orderOutputMax18", + "nameLocation": "36794:16:172", + "nodeType": "VariableDeclaration", + "scope": 77790, + "src": "36779:31:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 77701, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77700, + "name": "Output18Amount", + "nameLocations": [ + "36779:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76043, + "src": "36779:14:172" + }, + "referencedDeclaration": 76043, + "src": "36779:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 77709, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 77705, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77668, + "src": "36833:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77707, + "indexExpression": { + "hexValue": "31", + "id": 77706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36853:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36833:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 77703, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "36813:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 77704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36828:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "36813:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 77708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36813:43:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "36779:77:172" + }, + { + "assignments": [ + 77711 + ], + "declarations": [ + { + "constant": false, + "id": 77711, + "mutability": "mutable", + "name": "orderIORatio", + "nameLocation": "36878:12:172", + "nodeType": "VariableDeclaration", + "scope": 77790, + "src": "36870:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77710, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "36870:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 77715, + "initialValue": { + "baseExpression": { + "id": 77712, + "name": "calculateOrderStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77668, + "src": "36893:19:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77714, + "indexExpression": { + "hexValue": "30", + "id": 77713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36913:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36893:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "36870:45:172" + }, + { + "id": 77766, + "nodeType": "Block", + "src": "36930:1718:172", + "statements": [ + { + "assignments": [ + 77717 + ], + "declarations": [ + { + "constant": false, + "id": 77717, + "mutability": "mutable", + "name": "ownerVaultBalance", + "nameLocation": "37092:17:172", + "nodeType": "VariableDeclaration", + "scope": 77766, + "src": "37084:25:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "37084:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 77734, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 77718, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "37112: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": 77721, + "indexExpression": { + "expression": { + "id": 77719, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "37127:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37133:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "37127:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "37112:27:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 77727, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77722, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "37140:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77723, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37146:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "37140:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77725, + "indexExpression": { + "id": 77724, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "37159:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "37140:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37174:5:172", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 78653, + "src": "37140:39:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "37112:68:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 77733, + "indexExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 77728, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "37181:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37208:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "37181:39:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77731, + "indexExpression": { + "id": 77730, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "37221:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "37181:54:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "37236:7:172", + "memberName": "vaultId", + "nodeType": "MemberAccess", + "referencedDeclaration": 78657, + "src": "37181:62:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "37112:132:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "37084:160:172" + }, + { + "assignments": [ + 77737 + ], + "declarations": [ + { + "constant": false, + "id": 77737, + "mutability": "mutable", + "name": "ownerVaultBalance18", + "nameLocation": "38312:19:172", + "nodeType": "VariableDeclaration", + "scope": 77766, + "src": "38297:34:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 77736, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77735, + "name": "Output18Amount", + "nameLocations": [ + "38297:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76043, + "src": "38297:14:172" + }, + "referencedDeclaration": 76043, + "src": "38297:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 77750, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "id": 77742, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "38400:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38406:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "38400:18:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 77745, + "indexExpression": { + "id": 77744, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "38419:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "38400:33:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 77746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38434:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "38400:42:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 77747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38444: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": 77740, + "name": "ownerVaultBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77717, + "src": "38374:17:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38392:7:172", + "memberName": "scale18", + "nodeType": "MemberAccess", + "referencedDeclaration": 72704, + "src": "38374: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": 77748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38374:72:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 77738, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "38354:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 77739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38369:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "38354:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 77749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38354:93:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "38297:150:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 77753, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77702, + "src": "38491:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 77751, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "38469:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 77752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38484:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "38469:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 77754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38469:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 77757, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77737, + "src": "38533:19:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 77755, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "38511:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 77756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38526:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "38511:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 77758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38511:42:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "38469:84:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77765, + "nodeType": "IfStatement", + "src": "38465:169:172", + "trueBody": { + "id": 77764, + "nodeType": "Block", + "src": "38555:79:172", + "statements": [ + { + "expression": { + "id": 77762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 77760, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77702, + "src": "38577:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 77761, + "name": "ownerVaultBalance18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77737, + "src": "38596:19:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "src": "38577:38:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "id": 77763, + "nodeType": "ExpressionStatement", + "src": "38577:38:172" + } + ] + } + } + ] + }, + { + "expression": { + "id": 77778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 77767, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77500, + "src": "38745:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77769, + "indexExpression": { + "id": 77768, + "name": "CONTEXT_CALCULATIONS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75981, + "src": "38753:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "38745:36:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 77774, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77702, + "src": "38848:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 77772, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "38826:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 77773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38841:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "38826:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 77775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38826:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 77776, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77711, + "src": "38867:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 77770, + "name": "LibUint256Array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73827, + "src": "38800:15:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", + "typeString": "type(library LibUint256Array)" + } + }, + "id": 77771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "38816:9:172", + "memberName": "arrayFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 73686, + "src": "38800: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": 77777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38800:80:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "38745:135:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77779, + "nodeType": "ExpressionStatement", + "src": "38745:135:172" + }, + { + "expression": { + "arguments": [ + { + "id": 77781, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77473, + "src": "38940:5:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + { + "id": 77782, + "name": "outputIOIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77477, + "src": "38947:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 77783, + "name": "orderOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77702, + "src": "38962:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + { + "id": 77784, + "name": "orderIORatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77711, + "src": "38980:12:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 77785, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77500, + "src": "38994:7:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "id": 77786, + "name": "namespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77651, + "src": "39003:9:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + { + "id": 77787, + "name": "calculateOrderKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77671, + "src": "39014:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "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_$55877", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 77780, + "name": "OrderIOCalculationV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76041, + "src": "38902:20:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_OrderIOCalculationV2_$76041_storage_ptr_$", + "typeString": "type(struct OrderIOCalculationV2 storage pointer)" + } + }, + "id": 77788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38902:143:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "functionReturnParameters": 77488, + "id": 77789, + "nodeType": "Return", + "src": "38895:150:172" + } + ] + } + ] + }, + "documentation": { + "id": 77470, + "nodeType": "StructuredDocumentation", + "src": "33181: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": "33888:16:172", + "parameters": { + "id": 77484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77473, + "mutability": "mutable", + "name": "order", + "nameLocation": "33929:5:172", + "nodeType": "VariableDeclaration", + "scope": 77792, + "src": "33914:20:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 77472, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77471, + "name": "OrderV2", + "nameLocations": [ + "33914:7:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "33914:7:172" + }, + "referencedDeclaration": 79042, + "src": "33914:7:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77475, + "mutability": "mutable", + "name": "inputIOIndex", + "nameLocation": "33952:12:172", + "nodeType": "VariableDeclaration", + "scope": 77792, + "src": "33944:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77474, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33944:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77477, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "33982:13:172", + "nodeType": "VariableDeclaration", + "scope": 77792, + "src": "33974:21:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33974:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77479, + "mutability": "mutable", + "name": "counterparty", + "nameLocation": "34013:12:172", + "nodeType": "VariableDeclaration", + "scope": 77792, + "src": "34005:20:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 77478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "34005:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77483, + "mutability": "mutable", + "name": "signedContext", + "nameLocation": "34060:13:172", + "nodeType": "VariableDeclaration", + "scope": 77792, + "src": "34035:38:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 77481, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77480, + "name": "SignedContextV1", + "nameLocations": [ + "34035:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55640, + "src": "34035:15:172" + }, + "referencedDeclaration": 55640, + "src": "34035:15:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 77482, + "nodeType": "ArrayTypeName", + "src": "34035:17:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "33904:175:172" + }, + "returnParameters": { + "id": 77488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77487, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 77792, + "src": "34103:27:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 77486, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77485, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "34103:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "34103:20:172" + }, + "referencedDeclaration": 76041, + "src": "34103:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "src": "34102:29:172" + }, + "scope": 78178, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 77897, + "nodeType": "FunctionDefinition", + "src": "39582:1324:172", + "nodes": [], + "body": { + "id": 77896, + "nodeType": "Block", + "src": "39693:1213:172", + "nodes": [], + "statements": [ + { + "expression": { + "id": 77811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 77803, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "39703:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77807, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "39722:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "39703:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77808, + "indexExpression": { + "id": 77805, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75985, + "src": "39730:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "39703:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77809, + "indexExpression": { + "id": 77806, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76009, + "src": "39759:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "39703:86:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 77810, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77795, + "src": "39792:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "39703:94:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77812, + "nodeType": "ExpressionStatement", + "src": "39703:94:172" + }, + { + "expression": { + "id": 77821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 77813, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "39807:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "39826:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "39807:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77818, + "indexExpression": { + "id": 77815, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75989, + "src": "39834:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "39807:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77819, + "indexExpression": { + "id": 77816, + "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76009, + "src": "39864:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "39807:87:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 77820, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77797, + "src": "39897:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "39807:96:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77822, + "nodeType": "ExpressionStatement", + "src": "39807:96:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77823, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77795, + "src": "39918:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39926:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "39918:9:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77855, + "nodeType": "IfStatement", + "src": "39914:379:172", + "trueBody": { + "id": 77854, + "nodeType": "Block", + "src": "39929:364:172", + "statements": [ + { + "expression": { + "id": 77852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 77826, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "40014: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": 77848, + "indexExpression": { + "expression": { + "expression": { + "id": 77827, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "40029:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77828, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40048:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "40029:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77829, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40054:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "40029:30:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40014:46:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 77849, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 77834, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "40094:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77835, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40113:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "40094:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77837, + "indexExpression": { + "id": 77836, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75985, + "src": "40121:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40094:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77839, + "indexExpression": { + "id": 77838, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75993, + "src": "40150:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40094:79:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 77833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "40086:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 77832, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "40086:7:172", + "typeDescriptions": {} + } + }, + "id": 77840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40086:88:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 77831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "40061:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 77830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40061:7:172", + "typeDescriptions": {} + } + }, + "id": 77841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40061:127:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40014:175:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 77850, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 77842, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "40190:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40209:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "40190:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77845, + "indexExpression": { + "id": 77844, + "name": "CONTEXT_VAULT_INPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75985, + "src": "40217:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40190:55:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77847, + "indexExpression": { + "id": 77846, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76001, + "src": "40246:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40190:82:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "40014:259:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 77851, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77795, + "src": "40277:5:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "40014:268:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77853, + "nodeType": "ExpressionStatement", + "src": "40014:268:172" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77856, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77797, + "src": "40306:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40315:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "40306:10:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77888, + "nodeType": "IfStatement", + "src": "40302:384:172", + "trueBody": { + "id": 77887, + "nodeType": "Block", + "src": "40318:368:172", + "statements": [ + { + "expression": { + "id": 77885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 77859, + "name": "sVaultBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76094, + "src": "40404: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": 77881, + "indexExpression": { + "expression": { + "expression": { + "id": 77860, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "40419:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77861, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40438:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "40419:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77862, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40444:5:172", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 79028, + "src": "40419:30:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40404:46:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 77882, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 77867, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "40484:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40503:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "40484:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77870, + "indexExpression": { + "id": 77869, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75989, + "src": "40511:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40484:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77872, + "indexExpression": { + "id": 77871, + "name": "CONTEXT_VAULT_IO_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75993, + "src": "40541:22:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40484:80:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 77866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "40476:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 77865, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "40476:7:172", + "typeDescriptions": {} + } + }, + "id": 77873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40476:89:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 77864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "40451:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 77863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40451:7:172", + "typeDescriptions": {} + } + }, + "id": 77874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40451:128:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40404:176:172", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 77883, + "indexExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 77875, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "40581:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40600:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "40581:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + "id": 77878, + "indexExpression": { + "id": 77877, + "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75989, + "src": "40608:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40581:56:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77880, + "indexExpression": { + "id": 77879, + "name": "CONTEXT_VAULT_IO_VAULT_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76001, + "src": "40638:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "40581:83:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "40404:261:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 77884, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77797, + "src": "40669:6:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "40404:271:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77886, + "nodeType": "ExpressionStatement", + "src": "40404:271:172" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 77890, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "40860:3:172", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 77891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40864:6:172", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "40860:10:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 77892, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77800, + "src": "40872:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "40891:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "40872: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": 77889, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55659, + "src": "40852: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": 77894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40852:47:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77895, + "nodeType": "EmitStatement", + "src": "40847:52:172" + } + ] + }, + "documentation": { + "id": 77793, + "nodeType": "StructuredDocumentation", + "src": "39068:509: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 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": "39591:13:172", + "parameters": { + "id": 77801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77795, + "mutability": "mutable", + "name": "input", + "nameLocation": "39613:5:172", + "nodeType": "VariableDeclaration", + "scope": 77897, + "src": "39605:13:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "39605:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77797, + "mutability": "mutable", + "name": "output", + "nameLocation": "39628:6:172", + "nodeType": "VariableDeclaration", + "scope": 77897, + "src": "39620:14:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 77796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "39620:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77800, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "39664:18:172", + "nodeType": "VariableDeclaration", + "scope": 77897, + "src": "39636:46:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 77799, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77798, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "39636:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "39636:20:172" + }, + "referencedDeclaration": 76041, + "src": "39636:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "src": "39604:79:172" + }, + "returnParameters": { + "id": 77802, + "nodeType": "ParameterList", + "parameters": [], + "src": "39693:0:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 77995, + "nodeType": "FunctionDefinition", + "src": "40912:2667:172", + "nodes": [], + "body": { + "id": 77994, + "nodeType": "Block", + "src": "40987:2592:172", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 77903, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "41217:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41236:3:172", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76040, + "src": "41217:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41240:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "41217:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41249:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "41217:33:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77924, + "nodeType": "IfStatement", + "src": "41213:489:172", + "trueBody": { + "id": 77923, + "nodeType": "Block", + "src": "41252:450:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 77917, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "41638:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77918, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41657:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 76037, + "src": "41638:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + { + "expression": { + "id": 77919, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "41668:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77920, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41687:3:172", + "memberName": "kvs", + "nodeType": "MemberAccess", + "referencedDeclaration": 76040, + "src": "41668:22:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "expression": { + "id": 77908, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "41593:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77913, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41612:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "41593:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41618:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "41593:34:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77915, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41628:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 55629, + "src": "41593:40:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 77916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41634:3:172", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 55686, + "src": "41593:44:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$55877_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 77921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41593:98:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77922, + "nodeType": "ExpressionStatement", + "src": "41593:98:172" + } + ] + } + }, + { + "condition": { + "expression": { + "expression": { + "id": 77925, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "41860:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77926, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41879:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "41860:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77927, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "41885:8:172", + "memberName": "handleIO", + "nodeType": "MemberAccess", + "referencedDeclaration": 79030, + "src": "41860:33:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77993, + "nodeType": "IfStatement", + "src": "41856:1717:172", + "trueBody": { + "id": 77992, + "nodeType": "Block", + "src": "41895:1678:172", + "statements": [ + { + "assignments": [ + 77932, + 77935 + ], + "declarations": [ + { + "constant": false, + "id": 77932, + "mutability": "mutable", + "name": "handleIOStack", + "nameLocation": "42370:13:172", + "nodeType": "VariableDeclaration", + "scope": 77992, + "src": "42353:30:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 77930, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "42353:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77931, + "nodeType": "ArrayTypeName", + "src": "42353:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77935, + "mutability": "mutable", + "name": "handleIOKVs", + "nameLocation": "42402:11:172", + "nodeType": "VariableDeclaration", + "scope": 77992, + "src": "42385:28:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 77933, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "42385:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77934, + "nodeType": "ArrayTypeName", + "src": "42385:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 77968, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "expression": { + "id": 77941, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "42555:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77942, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42574:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "42555:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77943, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42580:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "42555:34:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77944, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42590:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 55629, + "src": "42555:40:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + } + }, + { + "arguments": [ + { + "expression": { + "id": 77947, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "42643:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42662:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 76037, + "src": "42643:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + { + "arguments": [ + { + "id": 77951, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "42681:4:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OrderBook_$78178", + "typeString": "contract OrderBook" + } + ], + "id": 77950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "42673:7:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 77949, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42673:7:172", + "typeDescriptions": {} + } + }, + "id": 77952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42673:13:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 77945, + "name": "LibNamespace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57900, + "src": "42613:12:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibNamespace_$57900_$", + "typeString": "type(library LibNamespace)" + } + }, + "id": 77946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42626:16:172", + "memberName": "qualifyNamespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 57899, + "src": "42613:29:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$55877_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$", + "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" + } + }, + "id": 77953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42613:74:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", + "typeString": "FullyQualifiedNamespace" + } + }, + { + "arguments": [ + { + "expression": { + "expression": { + "expression": { + "id": 77955, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "42723:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77956, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42742:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "42723:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42748:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "42723:34:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77958, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42758:10:172", + "memberName": "expression", + "nodeType": "MemberAccess", + "referencedDeclaration": 55631, + "src": "42723:45:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 77954, + "name": "_handleIODispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78177, + "src": "42705:17:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", + "typeString": "function (address) pure returns (EncodedDispatch)" + } + }, + "id": 77959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42705:64:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + } + }, + { + "expression": { + "id": 77960, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "42787:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77961, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42806:7:172", + "memberName": "context", + "nodeType": "MemberAccess", + "referencedDeclaration": 76034, + "src": "42787:26:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 77965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42845: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" + } + ], + "id": 77964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "42831:13:172", + "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": 77962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "42835:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 77963, + "nodeType": "ArrayTypeName", + "src": "42835:9:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 77966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42831:16:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + }, + { + "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", + "typeString": "FullyQualifiedNamespace" + }, + { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + }, + { + "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", + "typeString": "uint256[] memory[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "expression": { + "id": 77936, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "42417:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77937, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42453:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "42417:41:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77938, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42476:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "42417:68:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77939, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42503:11:172", + "memberName": "interpreter", + "nodeType": "MemberAccess", + "referencedDeclaration": 55626, + "src": "42417:97:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterV2_$56032", + "typeString": "contract IInterpreterV2" + } + }, + "id": 77940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "42532:5:172", + "memberName": "eval2", + "nodeType": "MemberAccess", + "referencedDeclaration": 56031, + "src": "42417:120:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$55698_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$_t_userDefinedValueType$_EncodedDispatch_$55875_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (contract IInterpreterStoreV1,FullyQualifiedNamespace,EncodedDispatch,uint256[] memory[] memory,uint256[] memory) view external returns (uint256[] memory,uint256[] memory)" + } + }, + "id": 77967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42417:444: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": "42352:509:172" + }, + { + "expression": { + "components": [ + { + "id": 77969, + "name": "handleIOStack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77932, + "src": "42934:13:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 77970, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "42933:15:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77971, + "nodeType": "ExpressionStatement", + "src": "42933:15:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 77975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 77972, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77935, + "src": "43072:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 77973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "43084:6:172", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "43072:18:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 77974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43093:1:172", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "43072:22:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 77991, + "nodeType": "IfStatement", + "src": "43068:495:172", + "trueBody": { + "id": 77990, + "nodeType": "Block", + "src": "43096:467:172", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 77985, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "43506:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77986, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "43525:9:172", + "memberName": "namespace", + "nodeType": "MemberAccess", + "referencedDeclaration": 76037, + "src": "43506:28:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + } + }, + { + "id": 77987, + "name": "handleIOKVs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77935, + "src": "43536:11:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", + "typeString": "StateNamespace" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "expression": { + "expression": { + "expression": { + "id": 77976, + "name": "orderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77900, + "src": "43461:18:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 77981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "43480:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "43461:24:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 77982, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "43486:9:172", + "memberName": "evaluable", + "nodeType": "MemberAccess", + "referencedDeclaration": 79033, + "src": "43461:34:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", + "typeString": "struct EvaluableV2 memory" + } + }, + "id": 77983, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "43496:5:172", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 55629, + "src": "43461:40:172", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", + "typeString": "contract IInterpreterStoreV1" + } + }, + "id": 77984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "43502:3:172", + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 55686, + "src": "43461:44:172", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$55877_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (StateNamespace,uint256[] memory) external" + } + }, + "id": 77988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43461:87:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 77989, + "nodeType": "ExpressionStatement", + "src": "43461:87:172" + } + ] + } + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "handleIO", + "nameLocation": "40921:8:172", + "parameters": { + "id": 77901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77900, + "mutability": "mutable", + "name": "orderIOCalculation", + "nameLocation": "40958:18:172", + "nodeType": "VariableDeclaration", + "scope": 77995, + "src": "40930:46:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 77899, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77898, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "40930:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "40930:20:172" + }, + "referencedDeclaration": 76041, + "src": "40930:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "src": "40929:48:172" + }, + "returnParameters": { + "id": 77902, + "nodeType": "ParameterList", + "parameters": [], + "src": "40987:0:172" + }, + "scope": 78178, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 78033, + "nodeType": "FunctionDefinition", + "src": "44123:654:172", + "nodes": [], + "body": { + "id": 78032, + "nodeType": "Block", + "src": "44349:428:172", + "nodes": [], + "statements": [ + { + "expression": { + "id": 78018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "expression": { + "id": 78008, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78006, + "src": "44415:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 78010, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "44432:10:172", + "memberName": "aliceInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78734, + "src": "44415:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 78011, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78006, + "src": "44444:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 78012, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "44461:11:172", + "memberName": "aliceOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78730, + "src": "44444:28:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 78013, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "44414:59:172", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 78015, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77999, + "src": "44513:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + { + "id": 78016, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78002, + "src": "44538:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 78014, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78145, + "src": "44488:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (struct OrderIOCalculationV2 memory,struct OrderIOCalculationV2 memory) pure returns (uint256,uint256)" + } + }, + "id": 78017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44488:72:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "44414:146:172", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 78019, + "nodeType": "ExpressionStatement", + "src": "44414:146:172" + }, + { + "expression": { + "id": 78030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "expression": { + "id": 78020, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78006, + "src": "44629:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 78022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "44646:8:172", + "memberName": "bobInput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78736, + "src": "44629:25:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 78023, + "name": "clearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78006, + "src": "44656:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange memory" + } + }, + "id": 78024, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "44673:9:172", + "memberName": "bobOutput", + "nodeType": "MemberAccess", + "referencedDeclaration": 78732, + "src": "44656:26:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 78025, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "44628:55:172", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 78027, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78002, + "src": "44723:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + { + "id": 78028, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77999, + "src": "44746:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + }, + { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + ], + "id": 78026, + "name": "calculateClearStateAlice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78145, + "src": "44698:24:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (struct OrderIOCalculationV2 memory,struct OrderIOCalculationV2 memory) pure returns (uint256,uint256)" + } + }, + "id": 78029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44698:72:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "44628:142:172", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 78031, + "nodeType": "ExpressionStatement", + "src": "44628:142:172" + } + ] + }, + "documentation": { + "id": 77996, + "nodeType": "StructuredDocumentation", + "src": "43585: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": "44132:25:172", + "parameters": { + "id": 78003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77999, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "44195:23:172", + "nodeType": "VariableDeclaration", + "scope": 78033, + "src": "44167:51:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 77998, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 77997, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "44167:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "44167:20:172" + }, + "referencedDeclaration": 76041, + "src": "44167:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 78002, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "44256:21:172", + "nodeType": "VariableDeclaration", + "scope": 78033, + "src": "44228:49:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 78001, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78000, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "44228:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "44228:20:172" + }, + "referencedDeclaration": 76041, + "src": "44228:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "src": "44157:126:172" + }, + "returnParameters": { + "id": 78007, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78006, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "44331:16:172", + "nodeType": "VariableDeclaration", + "scope": 78033, + "src": "44307:40:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 78005, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78004, + "name": "ClearStateChange", + "nameLocations": [ + "44307:16:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78737, + "src": "44307:16:172" + }, + "referencedDeclaration": 78737, + "src": "44307:16:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "src": "44306:42:172" + }, + "scope": 78178, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 78145, + "nodeType": "FunctionDefinition", + "src": "44783:2025:172", + "nodes": [], + "body": { + "id": 78144, + "nodeType": "Block", + "src": "45007:1801:172", + "nodes": [], + "statements": [ + { + "assignments": [ + 78048 + ], + "declarations": [ + { + "constant": false, + "id": 78048, + "mutability": "mutable", + "name": "bobInputMax18", + "nameLocation": "45224:13:172", + "nodeType": "VariableDeclaration", + "scope": 78144, + "src": "45210:27:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 78047, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78046, + "name": "Input18Amount", + "nameLocations": [ + "45210:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76045, + "src": "45210:13:172" + }, + "referencedDeclaration": 76045, + "src": "45210:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 78064, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 78057, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78039, + "src": "45358:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78058, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "45380:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 76030, + "src": "45358:29:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 78059, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46932, + "src": "45389:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46932_$", + "typeString": "type(library Math)" + } + }, + "id": 78060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "45394:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 46073, + "src": "45389:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$46073_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 78061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45403:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 46071, + "src": "45389:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$46073", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$46073", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 78053, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78039, + "src": "45294:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78054, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "45316:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 76028, + "src": "45294:31:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 78051, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "45272:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 78052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45287:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "45272:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 78055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45272:54:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 78056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "45327:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 72431, + "src": "45272:68:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$46073_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 78062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45272:147:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 78049, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "45240:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 78050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45254:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "45240:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 78063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45240:189:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "45210:219:172" + }, + { + "assignments": [ + 78067 + ], + "declarations": [ + { + "constant": false, + "id": 78067, + "mutability": "mutable", + "name": "aliceOutputMax18", + "nameLocation": "45454:16:172", + "nodeType": "VariableDeclaration", + "scope": 78144, + "src": "45439:31:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + }, + "typeName": { + "id": 78066, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78065, + "name": "Output18Amount", + "nameLocations": [ + "45439:14:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76043, + "src": "45439:14:172" + }, + "referencedDeclaration": 76043, + "src": "45439:14:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 78070, + "initialValue": { + "expression": { + "id": 78068, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78036, + "src": "45473:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "45497:9:172", + "memberName": "outputMax", + "nodeType": "MemberAccess", + "referencedDeclaration": 76028, + "src": "45473:33:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "45439:67:172" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 78079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 78073, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78067, + "src": "45619:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 78071, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "45597:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 78072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45612:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "45597:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 78074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45597:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 78077, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78048, + "src": "45660:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 78075, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "45639:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 78076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45653:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "45639:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 78078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45639:35:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "45597:77:172", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 78091, + "nodeType": "IfStatement", + "src": "45593:183:172", + "trueBody": { + "id": 78090, + "nodeType": "Block", + "src": "45676:100:172", + "statements": [ + { + "expression": { + "id": 78088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 78080, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78067, + "src": "45690:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 78085, + "name": "bobInputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78048, + "src": "45750:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 78083, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "45729:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 78084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45743:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "45729:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 78086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45729:35:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 78081, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "45709:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 78082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45724:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "45709:19:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "function (uint256) pure returns (Output18Amount)" + } + }, + "id": 78087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45709:56:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "src": "45690:75:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + }, + "id": 78089, + "nodeType": "ExpressionStatement", + "src": "45690:75:172" + } + ] + } + }, + { + "expression": { + "id": 78107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 78092, + "name": "aliceOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78044, + "src": "45907:11:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 78098, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78036, + "src": "45981:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78099, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46005:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "45981:29:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 78100, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46011:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "45981:42:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 78103, + "indexExpression": { + "expression": { + "id": 78101, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78036, + "src": "46024:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78102, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46048:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76025, + "src": "46024:37:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "45981:81:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 78104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46063:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "45981:90:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "30", + "id": 78105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46073: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": 78095, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78067, + "src": "45943:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 78093, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "45921:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 78094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45936:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "45921:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 78096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45921:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 78097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "45961:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 72779, + "src": "45921: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": 78106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45921:163:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "45907:177:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 78108, + "nodeType": "ExpressionStatement", + "src": "45907:177:172" + }, + { + "assignments": [ + 78111 + ], + "declarations": [ + { + "constant": false, + "id": 78111, + "mutability": "mutable", + "name": "aliceInput18", + "nameLocation": "46187:12:172", + "nodeType": "VariableDeclaration", + "scope": 78144, + "src": "46173:26:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + }, + "typeName": { + "id": 78110, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78109, + "name": "Input18Amount", + "nameLocations": [ + "46173:13:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76045, + "src": "46173:13:172" + }, + "referencedDeclaration": 76045, + "src": "46173:13:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "visibility": "internal" + } + ], + "id": 78126, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 78119, + "name": "aliceOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78036, + "src": "46288:23:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78120, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46312:7:172", + "memberName": "IORatio", + "nodeType": "MemberAccess", + "referencedDeclaration": 76030, + "src": "46288:31:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "expression": { + "id": 78121, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46932, + "src": "46321:4:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$46932_$", + "typeString": "type(library Math)" + } + }, + "id": 78122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46326:8:172", + "memberName": "Rounding", + "nodeType": "MemberAccess", + "referencedDeclaration": 46073, + "src": "46321:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Rounding_$46073_$", + "typeString": "type(enum Math.Rounding)" + } + }, + "id": 78123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46335:2:172", + "memberName": "Up", + "nodeType": "MemberAccess", + "referencedDeclaration": 46071, + "src": "46321:16:172", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$46073", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_Rounding_$46073", + "typeString": "enum Math.Rounding" + } + ], + "expression": { + "arguments": [ + { + "id": 78116, + "name": "aliceOutputMax18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78067, + "src": "46256:16:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", + "typeString": "Output18Amount" + } + ], + "expression": { + "id": 78114, + "name": "Output18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76043, + "src": "46234:14:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", + "typeString": "type(Output18Amount)" + } + }, + "id": 78115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46249:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "46234:21:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", + "typeString": "function (Output18Amount) pure returns (uint256)" + } + }, + "id": 78117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46234:39:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 78118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46274:13:172", + "memberName": "fixedPointMul", + "nodeType": "MemberAccess", + "referencedDeclaration": 72431, + "src": "46234:53:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$46073_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" + } + }, + "id": 78124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46234:104:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 78112, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "46202:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 78113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46216:4:172", + "memberName": "wrap", + "nodeType": "MemberAccess", + "src": "46202:18:172", + "typeDescriptions": { + "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "function (uint256) pure returns (Input18Amount)" + } + }, + "id": 78125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46202:146:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "46173:175:172" + }, + { + "expression": { + "id": 78142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 78127, + "name": "aliceInput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78042, + "src": "46358:10:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "expression": { + "expression": { + "id": 78133, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78039, + "src": "46690:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78134, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46712:5:172", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 76023, + "src": "46690:27:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2 memory" + } + }, + "id": 78135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46718:12:172", + "memberName": "validOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 79041, + "src": "46690:40:172", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IO memory[] memory" + } + }, + "id": 78138, + "indexExpression": { + "expression": { + "id": 78136, + "name": "bobOrderIOCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78039, + "src": "46731:21:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2 memory" + } + }, + "id": 78137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46753:13:172", + "memberName": "outputIOIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 76025, + "src": "46731:35:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "46690:77:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", + "typeString": "struct IO memory" + } + }, + "id": 78139, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46768:8:172", + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 78655, + "src": "46690:86:172", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 78140, + "name": "FLAG_ROUND_UP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72386, + "src": "46778:13:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 78130, + "name": "aliceInput18", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78111, + "src": "46656:12:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", + "typeString": "Input18Amount" + } + ], + "expression": { + "id": 78128, + "name": "Input18Amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76045, + "src": "46635:13:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", + "typeString": "type(Input18Amount)" + } + }, + "id": 78129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46649:6:172", + "memberName": "unwrap", + "nodeType": "MemberAccess", + "src": "46635:20:172", + "typeDescriptions": { + "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", + "typeString": "function (Input18Amount) pure returns (uint256)" + } + }, + "id": 78131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46635:34:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 78132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46670:6:172", + "memberName": "scaleN", + "nodeType": "MemberAccess", + "referencedDeclaration": 72779, + "src": "46635: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": 78141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46635:166:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "46358:443:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 78143, + "nodeType": "ExpressionStatement", + "src": "46358:443:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateClearStateAlice", + "nameLocation": "44792:24:172", + "parameters": { + "id": 78040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78036, + "mutability": "mutable", + "name": "aliceOrderIOCalculation", + "nameLocation": "44854:23:172", + "nodeType": "VariableDeclaration", + "scope": 78145, + "src": "44826:51:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 78035, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78034, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "44826:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "44826:20:172" + }, + "referencedDeclaration": 76041, + "src": "44826:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 78039, + "mutability": "mutable", + "name": "bobOrderIOCalculation", + "nameLocation": "44915:21:172", + "nodeType": "VariableDeclaration", + "scope": 78145, + "src": "44887:49:172", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", + "typeString": "struct OrderIOCalculationV2" + }, + "typeName": { + "id": 78038, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78037, + "name": "OrderIOCalculationV2", + "nameLocations": [ + "44887:20:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 76041, + "src": "44887:20:172" + }, + "referencedDeclaration": 76041, + "src": "44887:20:172", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", + "typeString": "struct OrderIOCalculationV2" + } + }, + "visibility": "internal" + } + ], + "src": "44816:126:172" + }, + "returnParameters": { + "id": 78045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78042, + "mutability": "mutable", + "name": "aliceInput", + "nameLocation": "44974:10:172", + "nodeType": "VariableDeclaration", + "scope": 78145, + "src": "44966:18:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 78041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "44966:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 78044, + "mutability": "mutable", + "name": "aliceOutput", + "nameLocation": "44994:11:172", + "nodeType": "VariableDeclaration", + "scope": 78145, + "src": "44986:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 78043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "44986:7:172", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "44965:41:172" + }, + "scope": 78178, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 78161, + "nodeType": "FunctionDefinition", + "src": "46814:214:172", + "nodes": [], + "body": { + "id": 78160, + "nodeType": "Block", + "src": "46908:120:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 78155, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78147, + "src": "46952:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 78156, + "name": "CALCULATE_ORDER_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75941, + "src": "46965:26:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + }, + { + "id": 78157, + "name": "CALCULATE_ORDER_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75957, + "src": "46993:27:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 78153, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57164, + "src": "46925:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57164_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 78154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "46944:7:172", + "memberName": "encode2", + "nodeType": "MemberAccess", + "referencedDeclaration": 57110, + "src": "46925:26:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndexV2_$55998_$_t_uint256_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", + "typeString": "function (address,SourceIndexV2,uint256) pure returns (EncodedDispatch)" + } + }, + "id": 78158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46925:96:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 78152, + "id": 78159, + "nodeType": "Return", + "src": "46918:103:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_calculateOrderDispatch", + "nameLocation": "46823:23:172", + "parameters": { + "id": 78148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78147, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "46855:11:172", + "nodeType": "VariableDeclaration", + "scope": 78161, + "src": "46847:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 78146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46847:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "46846:21:172" + }, + "returnParameters": { + "id": 78152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78151, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 78161, + "src": "46891:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 78150, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78149, + "name": "EncodedDispatch", + "nameLocations": [ + "46891:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55875, + "src": "46891:15:172" + }, + "referencedDeclaration": 55875, + "src": "46891:15:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "46890:17:172" + }, + "scope": 78178, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 78177, + "nodeType": "FunctionDefinition", + "src": "47034:196:172", + "nodes": [], + "body": { + "id": 78176, + "nodeType": "Block", + "src": "47122:108:172", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 78171, + "name": "expression_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78163, + "src": "47166:11:172", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 78172, + "name": "HANDLE_IO_ENTRYPOINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75949, + "src": "47179:20:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + } + }, + { + "id": 78173, + "name": "HANDLE_IO_MAX_OUTPUTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75965, + "src": "47201:21:172", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", + "typeString": "SourceIndexV2" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 78169, + "name": "LibEncodedDispatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57164, + "src": "47139:18:172", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57164_$", + "typeString": "type(library LibEncodedDispatch)" + } + }, + "id": 78170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "47158:7:172", + "memberName": "encode2", + "nodeType": "MemberAccess", + "referencedDeclaration": 57110, + "src": "47139:26:172", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndexV2_$55998_$_t_uint256_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", + "typeString": "function (address,SourceIndexV2,uint256) pure returns (EncodedDispatch)" + } + }, + "id": 78174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47139:84:172", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + } + }, + "functionReturnParameters": 78168, + "id": 78175, + "nodeType": "Return", + "src": "47132:91:172" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_handleIODispatch", + "nameLocation": "47043:17:172", + "parameters": { + "id": 78164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78163, + "mutability": "mutable", + "name": "expression_", + "nameLocation": "47069:11:172", + "nodeType": "VariableDeclaration", + "scope": 78177, + "src": "47061:19:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 78162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47061:7:172", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "47060:21:172" + }, + "returnParameters": { + "id": 78168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 78167, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 78177, + "src": "47105:15:172", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + }, + "typeName": { + "id": 78166, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 78165, + "name": "EncodedDispatch", + "nameLocations": [ + "47105:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55875, + "src": "47105:15:172" + }, + "referencedDeclaration": 55875, + "src": "47105:15:172", + "typeDescriptions": { + "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", + "typeString": "EncodedDispatch" + } + }, + "visibility": "internal" + } + ], + "src": "47104:17:172" + }, + "scope": 78178, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 76047, + "name": "IOrderBookV3", + "nameLocations": [ + "10622:12:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79289, + "src": "10622:12:172" + }, + "id": 76048, + "nodeType": "InheritanceSpecifier", + "src": "10622:12:172" + }, + { + "baseName": { + "id": 76049, + "name": "ReentrancyGuard", + "nameLocations": [ + "10636:15:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43711, + "src": "10636:15:172" + }, + "id": 76050, + "nodeType": "InheritanceSpecifier", + "src": "10636:15:172" + }, + { + "baseName": { + "id": 76051, + "name": "Multicall", + "nameLocations": [ + "10653:9:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45336, + "src": "10653:9:172" + }, + "id": 76052, + "nodeType": "InheritanceSpecifier", + "src": "10653:9:172" + }, + { + "baseName": { + "id": 76053, + "name": "OrderBookV3FlashLender", + "nameLocations": [ + "10664:22:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 75553, + "src": "10664:22:172" + }, + "id": 76054, + "nodeType": "InheritanceSpecifier", + "src": "10664:22:172" + }, + { + "baseName": { + "id": 76055, + "name": "DeployerDiscoverableMetaV3", + "nameLocations": [ + "10688:26:172" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 54788, + "src": "10688:26:172" + }, + "id": 76056, + "nodeType": "InheritanceSpecifier", + "src": "10688:26:172" + } + ], + "canonicalName": "OrderBook", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 76046, + "nodeType": "StructuredDocumentation", + "src": "10532:68:172", + "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 78178, + 54788, + 73107, + 75553, + 45336, + 43711, + 79289, + 55660, + 78980 + ], + "name": "OrderBook", + "nameLocation": "10609:9:172", + "scope": 78179, + "usedErrors": [ + 56287, + 56724, + 73087, + 73092, + 75439, + 75884, + 75891, + 75898, + 75905, + 75910, + 75915, + 75920, + 75925, + 78997, + 79000, + 79069, + 79078, + 79081, + 79084, + 79087, + 79090 + ] + } + ], + "license": "CAL" + }, + "id": 172 +} \ No newline at end of file diff --git a/orderbook-rs/src/orderbook/add_order/mod.rs b/orderbook-rs/src/orderbook/add_order/mod.rs new file mode 100644 index 000000000..1f5656c34 --- /dev/null +++ b/orderbook-rs/src/orderbook/add_order/mod.rs @@ -0,0 +1 @@ +pub mod v3; \ No newline at end of file diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs new file mode 100644 index 000000000..a099db7f9 --- /dev/null +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -0,0 +1,40 @@ +use alloy_primitives::Address; +use alloy_sol_types::SolCall; + +use crate::{orderbook::registry::IOrderBookV3::{IO, EvaluableConfigV3, OrderConfigV2, self}, interpreter::{get_disp, parse_rainstring}}; + + +pub async fn add_ob_order( + deployer_address: Address, + input_vaults: Vec, + output_vaults: Vec, + rainlang_order_string: String, + rpc_url: String +) -> anyhow::Result> { + + let (_,_,rain_parser) = get_disp(deployer_address.clone(),rpc_url.clone()).await.unwrap(); + let (bytecode,constants) = parse_rainstring( + rain_parser, + rainlang_order_string, + rpc_url.clone() + ).await.unwrap(); + + let evaluable_config = EvaluableConfigV3{ + deployer: deployer_address, + bytecode: bytecode.to_vec(), + constants: constants + }; + + let order_config = OrderConfigV2{ + validInputs: input_vaults, + validOutputs: output_vaults, + evaluableConfig: evaluable_config, + meta: vec![] + }; + + let add_order_data = IOrderBookV3::addOrderCall{ + config: order_config + }.abi_encode(); + + Ok(add_order_data) +} \ No newline at end of file diff --git a/orderbook-rs/src/orderbook/mod.rs b/orderbook-rs/src/orderbook/mod.rs new file mode 100644 index 000000000..c2be38a50 --- /dev/null +++ b/orderbook-rs/src/orderbook/mod.rs @@ -0,0 +1,2 @@ +pub mod registry; +pub mod add_order; diff --git a/orderbook-rs/src/orderbook/registry.rs b/orderbook-rs/src/orderbook/registry.rs new file mode 100644 index 000000000..4920a7ed3 --- /dev/null +++ b/orderbook-rs/src/orderbook/registry.rs @@ -0,0 +1,14 @@ +use alloy_sol_types::sol; +use ethers::contract::abigen; + +sol!(IOrderBookV3, "src/orderbook/abi/OrderBook.json"); + +abigen!(IParserV1, "src/interpreter/abi/IParserV1.json"); +abigen!(IExpressionDeployerV3, + r#"[ + function iInterpreter() public view returns(address) + function iStore() public view returns(address) + function iParser() public view returns(address) + ]"#, +); + diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs new file mode 100644 index 000000000..ec6962de7 --- /dev/null +++ b/orderbook-rs/src/transaction/mod.rs @@ -0,0 +1,86 @@ +use alloy_primitives::{Address, U256}; + +use anyhow::anyhow; +use ethers::prelude::SignerMiddleware; +use ethers::{ + providers::{Http, Middleware, Provider}, + types::{ Eip1559TransactionRequest, H160, U64}, + utils::parse_units, +}; +use ethers_signers::Ledger; +use std::str::FromStr; +use tracing::{error, info}; + +use crate::gasoracle::{is_block_native_supported, gas_price_oracle}; + +pub async fn execute_transaction( + tx_data: Vec, + tx_to: Address, + tx_value: U256, + rpc_url: String, + wallet: Ledger, + blocknative_api_key: Option +) -> anyhow::Result<()> { + + let provider = match Provider::::try_from(rpc_url.clone()) { + Ok(provider) => provider, + Err(err) => { + error!("INVALID RPC URL: {}", err); + return Err(anyhow!(err)); + } + }; + + let chain_id = provider.clone().get_chainid().await.unwrap().as_u64(); + let client = SignerMiddleware::new_with_provider_chain(provider, wallet).await?; + + let to_address = H160::from_str(&tx_to.to_string()).unwrap(); + + let mut tx = Eip1559TransactionRequest::new(); + + tx.to = Some(to_address.into()); + tx.value = Some(ethers::types::U256::from_dec_str(tx_value.to_string().as_str()).unwrap()); + tx.data = Some(ethers::types::Bytes::from(tx_data)); + tx.chain_id = Some(U64::from_dec_str(&chain_id.to_string()).unwrap()); + + if is_block_native_supported(chain_id) { + let (max_priority, max_fee) = gas_price_oracle(blocknative_api_key, chain_id) + .await + .unwrap(); + let max_priority: ethers::types::U256 = parse_units(max_priority.to_string(), 9).unwrap().into(); + let max_fee: ethers::types::U256 = parse_units(max_fee.to_string(), 9).unwrap().into(); + + tx.max_priority_fee_per_gas = Some(max_priority); + tx.max_fee_per_gas = Some(max_fee); + } + + let tx_result = client.send_transaction(tx, None).await; + + match tx_result { + Ok(tx_result) => { + info!("Transaction submitted. Awaiting block confirmations..."); + let approve_receipt = match tx_result.confirmations(1).await { + Ok(receipt) => match receipt { + Some(receipt) => receipt, + None => { + error!("FAILED TO FETCH RECEIPT"); + return Err(anyhow!("Failed to fetch receipt.")); + } + }, + Err(err) => { + error!("FAILED TO CONFIRM TRANSACTION : {}", err); + return Err(anyhow!(err)); + } + }; + info!("Transaction Confirmed!!"); + info!( + "✅ Hash : 0x{}", + hex::encode(approve_receipt.transaction_hash.as_bytes().to_vec()) + ); + } + Err(err) => { + error!("TRANSACTION REJECTED : {}", err); + } + } + + Ok(()) +} \ No newline at end of file From f6e9951843795990bb4ba83d16ebec4229f6e90c Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 17:15:23 +0530 Subject: [PATCH 02/16] remove cli --- cli/.gitignore | 1 - cli/.vscode/settings.json | 5 - cli/Cargo.lock | 1585 - cli/Cargo.toml | 22 - cli/default.nix | 32 - cli/src/cli/mod.rs | 36 - cli/src/cli/order.rs | 13 - cli/src/lib.rs | 2 - cli/src/main.rs | 7 - cli/src/subgraph/mod.rs | 1 - cli/src/subgraph/orders/mod.rs | 36 - cli/src/subgraph/orders/orders.graphql | 45 - cli/src/subgraph/orders/orders.schema.json | 34635 ------------------- 13 files changed, 36420 deletions(-) delete mode 100644 cli/.gitignore delete mode 100644 cli/.vscode/settings.json delete mode 100644 cli/Cargo.lock delete mode 100644 cli/Cargo.toml delete mode 100644 cli/default.nix delete mode 100644 cli/src/cli/mod.rs delete mode 100644 cli/src/cli/order.rs delete mode 100644 cli/src/lib.rs delete mode 100644 cli/src/main.rs delete mode 100644 cli/src/subgraph/mod.rs delete mode 100644 cli/src/subgraph/orders/mod.rs delete mode 100644 cli/src/subgraph/orders/orders.graphql delete mode 100644 cli/src/subgraph/orders/orders.schema.json diff --git a/cli/.gitignore b/cli/.gitignore deleted file mode 100644 index 1de565933..000000000 --- a/cli/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target \ No newline at end of file diff --git a/cli/.vscode/settings.json b/cli/.vscode/settings.json deleted file mode 100644 index 352a6265a..000000000 --- a/cli/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rust-analyzer.linkedProjects": [ - "./Cargo.toml" - ] -} \ No newline at end of file diff --git a/cli/Cargo.lock b/cli/Cargo.lock deleted file mode 100644 index 13e617d55..000000000 --- a/cli/Cargo.lock +++ /dev/null @@ -1,1585 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "anstream" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is-terminal", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" - -[[package]] -name = "anstyle-parse" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" -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 0.48.0", -] - -[[package]] -name = "anstyle-wincon" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" -dependencies = [ - "anstyle", - "windows-sys 0.48.0", -] - -[[package]] -name = "anyhow" -version = "1.0.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" - -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "base64" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bumpalo" -version = "3.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" - -[[package]] -name = "cc" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clap" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a1f23fa97e1d1641371b51f35535cb26959b8e27ab50d167a8b996b5bada819" -dependencies = [ - "clap_builder", - "clap_derive", - "once_cell", -] - -[[package]] -name = "clap_builder" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdc5d93c358224b4d6867ef1356d740de2303e9892edc06c5340daeccd96bab" -dependencies = [ - "anstream", - "anstyle", - "bitflags", - "clap_lex", - "once_cell", - "strsim", -] - -[[package]] -name = "clap_derive" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "clap_lex" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" - -[[package]] -name = "colorchoice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" - -[[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 = "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 = "either" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" - -[[package]] -name = "encoding_rs" -version = "0.8.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "errno" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[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 = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[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.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" - -[[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-util" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" -dependencies = [ - "futures-core", - "futures-task", - "pin-project-lite", - "pin-utils", -] - -[[package]] -name = "getrandom" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[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.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa61bb9dc6d373a8b465a5da17b62809483e8527a34b0e9034dc0915b09e160a" -dependencies = [ - "graphql_query_derive", - "serde", - "serde_json", -] - -[[package]] -name = "graphql_client_codegen" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e55df64cc702c4ad6647f8df13a799ad11688a3781fadf5045f7ba12733fa9b" -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.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52fc9cde811f44b15ec0692b31e56a3067f6f431c5ace712f286e47c1dacc98" -dependencies = [ - "graphql_client_codegen", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "h2" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "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 = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - -[[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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[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.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ipnet" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" - -[[package]] -name = "is-terminal" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" -dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "itoa" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" - -[[package]] -name = "js-sys" -version = "0.3.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" -dependencies = [ - "wasm-bindgen", -] - -[[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.142" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" - -[[package]] -name = "linux-raw-sys" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64f40e5e03e0d54f03845c8197d0291253cdbedfb1cb46b13c2c117554a9f4c" - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mio" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.45.0", -] - -[[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", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" -dependencies = [ - "hermit-abi 0.2.6", - "libc", -] - -[[package]] -name = "once_cell" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "openssl" -version = "0.10.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" -dependencies = [ - "bitflags", - "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.15", -] - -[[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.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[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.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "windows-sys 0.45.0", -] - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - -[[package]] -name = "proc-macro2" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rain_cli_ob" -version = "0.0.4" -dependencies = [ - "anyhow", - "clap", - "graphql_client", - "once_cell", - "reqwest", - "rust-bigint", - "serde", - "serde_bytes", - "tokio", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags", -] - -[[package]] -name = "reqwest" -version = "0.11.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[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 = "rustix" -version = "0.37.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc809f704c03a812ac71f22456c857be34185cac691a4316f27ab0f633bb9009" -dependencies = [ - "bitflags", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "ryu" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" - -[[package]] -name = "schannel" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" -dependencies = [ - "windows-sys 0.42.0", -] - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "security-framework" -version = "2.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "serde" -version = "1.0.160" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bytes" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.160" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "serde_json" -version = "1.0.96" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" -dependencies = [ - "itoa", - "ryu", - "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 = "sharded-slab" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static", -] - -[[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 = "slab" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "socket2" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[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.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" -dependencies = [ - "cfg-if", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", -] - -[[package]] -name = "thiserror" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "thread_local" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[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.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f" -dependencies = [ - "autocfg", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[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.15", -] - -[[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-util" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[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.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "tracing-core" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" -dependencies = [ - "lazy_static", - "log", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "smallvec", - "thread_local", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[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.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] - -[[package]] -name = "url" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "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.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" - -[[package]] -name = "web-sys" -version = "0.3.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[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-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.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] diff --git a/cli/Cargo.toml b/cli/Cargo.toml deleted file mode 100644 index 72af1092f..000000000 --- a/cli/Cargo.toml +++ /dev/null @@ -1,22 +0,0 @@ -[package] -name = "rain_cli_ob" -version = "0.0.4" -edition = "2021" -license = "CAL-1.0" -description = "Rain orderbook CLI." -homepage = "https://github.com/rainprotocol/rain.orderbook" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -anyhow = "1.0.70" -clap = { version = "4.2.5", features = ["cargo", "derive"] } -graphql_client = "0.12.0" -once_cell = "1.17.1" -reqwest = { version = "0.11.17", features = ["json"] } -rust-bigint = "1.2.0" -serde = "1.0.160" -serde_bytes = "0.11.9" -tokio = { version = "1.28.0", features = ["full"] } -tracing = "0.1.37" -tracing-subscriber = "0.3.17" diff --git a/cli/default.nix b/cli/default.nix deleted file mode 100644 index a06087193..000000000 --- a/cli/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ pkgs ? import - (builtins.fetchTarball { - name = "nixos-unstable-2023-04-19"; - url = "https://github.com/nixos/nixpkgs/archive/bb2009ca185d97813e75736c2b8d1d8bb81bde05.tar.gz"; - sha256 = "sha256:003qcrsq5g5lggfrpq31gcvj82lb065xvr7bpfa8ddsw8x4dnysk"; - }) - { } }: -let - -in -pkgs.mkShell { - # buildInputs is for dependencies you'd need "at run time", - # were you to to use nix-build not nix-shell and build whatever you were working on - buildInputs = [ - pkgs.rustc - pkgs.rustfmt - pkgs.cargo - pkgs.pkgconfig - pkgs.openssl - pkgs.iconv - pkgs.graphql-client - pkgs.gmp - ] ++ (pkgs.lib.optionals pkgs.stdenv.isDarwin [ - pkgs.darwin.apple_sdk.frameworks.Security - pkgs.darwin.apple_sdk.frameworks.CoreFoundation - pkgs.darwin.apple_sdk.frameworks.CoreServices - ]); - - shellHook = '' - export PATH="$PATH:$HOME/.cargo/bin" - ''; -} diff --git a/cli/src/cli/mod.rs b/cli/src/cli/mod.rs deleted file mode 100644 index 07ac4e018..000000000 --- a/cli/src/cli/mod.rs +++ /dev/null @@ -1,36 +0,0 @@ -use anyhow::Result; -use clap::command; -use clap::{Parser, Subcommand}; -use crate::cli::order::Order; - -mod order; - -#[derive(Parser)] -#[command(author, version, about, long_about = None)] -struct Cli { - #[command(subcommand)] - orderbook: Orderbook, -} - -#[derive(Subcommand)] -pub enum Orderbook { - #[command(subcommand)] - Order(Order) -} - -pub async fn dispatch(orderbook: Orderbook) -> Result<()> { - match orderbook { - Orderbook::Order(order) => { - match order { - Order::Ls => Ok(order::ls().await?), - } - } - } -} - -pub async fn main() -> Result<()> { - tracing::subscriber::set_global_default(tracing_subscriber::fmt::Subscriber::new())?; - - let cli = Cli::parse(); - dispatch(cli.orderbook).await -} diff --git a/cli/src/cli/order.rs b/cli/src/cli/order.rs deleted file mode 100644 index 1fdab674a..000000000 --- a/cli/src/cli/order.rs +++ /dev/null @@ -1,13 +0,0 @@ -use clap::{Subcommand}; - -#[derive(Subcommand)] -#[command(about = "Interact with an order(s) onchain and offchain.")] -pub enum Order { - #[command(about = "List all orders from the subgraph.")] - Ls -} - -pub async fn ls() -> anyhow::Result<()> { - crate::subgraph::orders::query().await?; - Ok(()) -} \ No newline at end of file diff --git a/cli/src/lib.rs b/cli/src/lib.rs deleted file mode 100644 index 67353d872..000000000 --- a/cli/src/lib.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod cli; -pub mod subgraph; diff --git a/cli/src/main.rs b/cli/src/main.rs deleted file mode 100644 index 260861e97..000000000 --- a/cli/src/main.rs +++ /dev/null @@ -1,7 +0,0 @@ -mod cli; -pub(crate) mod subgraph; - -#[tokio::main] -async fn main() -> anyhow::Result<()> { - cli::main().await -} \ No newline at end of file diff --git a/cli/src/subgraph/mod.rs b/cli/src/subgraph/mod.rs deleted file mode 100644 index 09949f3e2..000000000 --- a/cli/src/subgraph/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod orders; \ No newline at end of file diff --git a/cli/src/subgraph/orders/mod.rs b/cli/src/subgraph/orders/mod.rs deleted file mode 100644 index 3b6ba8bf1..000000000 --- a/cli/src/subgraph/orders/mod.rs +++ /dev/null @@ -1,36 +0,0 @@ -use graphql_client::GraphQLQuery; -use graphql_client::Response; -use reqwest::Url; -use rust_bigint::BigInt; -use serde_bytes::ByteBuf as Bytes; - -use once_cell::sync::Lazy; - -static BASE_URL: Lazy = - Lazy::new(|| Url::parse("https://api.thegraph.com/subgraphs/name/siddharth2207/rainorderbook").unwrap()); - -#[derive(GraphQLQuery)] -#[graphql( - schema_path = "src/subgraph/orders/orders.schema.json", - query_path = "src/subgraph/orders/orders.graphql", - response_derives = "Debug, Serialize, Deserialize" -)] -pub struct OrdersQuery; - -pub async fn query() -> anyhow::Result<()> { - let variables = orders_query::Variables {}; - let request_body = OrdersQuery::build_query(variables); - let client = reqwest::Client::new(); - let res = client.post((*BASE_URL).clone()).json(&request_body).send().await?; - let response_body: Response = res.json().await?; - match response_body { - Response { - data: Some(orders_query::ResponseData { orders }), - .. - } => { - dbg!(&orders); - }, - _ => { tracing::warn!("Failed to get orders"); } - } - Ok(()) -} \ No newline at end of file diff --git a/cli/src/subgraph/orders/orders.graphql b/cli/src/subgraph/orders/orders.graphql deleted file mode 100644 index 3bfb50597..000000000 --- a/cli/src/subgraph/orders/orders.graphql +++ /dev/null @@ -1,45 +0,0 @@ -query OrdersQuery { - orders( - where: {orderActive: true} - ) { - id - handleIO - orderJSONString - owner { - id - } - orderActive - expression - interpreter - interpreterStore - transaction { - id - } - validInputs { - token { - id - symbol - decimals - } - tokenVault { - balance - } - vault { - id - } - } - validOutputs { - token { - id - symbol - decimals - } - tokenVault { - balance - } - vault { - id - } - } - } -} \ No newline at end of file diff --git a/cli/src/subgraph/orders/orders.schema.json b/cli/src/subgraph/orders/orders.schema.json deleted file mode 100644 index 69f325f2c..000000000 --- a/cli/src/subgraph/orders/orders.schema.json +++ /dev/null @@ -1,34635 +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": "bountyVaultB" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "bountyVaultB__id" - }, - { - "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__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__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": "Bytes", - "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": "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": "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": "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 - } - } - } - ], - "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": "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": "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": "order" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "order__id" - }, - { - "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__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__balance" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "tokenVault__balanceDisplay" - } - ], - "fields": null, - "inputFields": null, - "interfaces": null, - "kind": "ENUM", - "name": "IO_orderBy", - "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": "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 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": "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 - } - } - } - ], - "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__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__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__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__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": "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": "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": "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": "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": "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": "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": "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": "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": 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": "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": "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": "Input Ratio", - "isDeprecated": false, - "name": "inputRatio", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": "Output Ratio", - "isDeprecated": false, - "name": "outputRatio", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "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": null, - "isDeprecated": false, - "name": "inputToken", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ERC20", - "ofType": null - } - } - }, - { - "args": [], - "deprecationReason": null, - "description": null, - "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 - } - } - } - ], - "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": "inputRatio", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_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": "inputRatio_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "inputRatio_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_not", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_gt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_lt", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_gte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_lte", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_in", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_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": "outputRatio_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_not_contains", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_not_contains_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_not_starts_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_not_starts_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_not_ends_with", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - { - "defaultValue": null, - "description": null, - "name": "outputRatio_not_ends_with_nocase", - "type": { - "kind": "SCALAR", - "name": "String", - "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": "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__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__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": "inputRatio" - }, - { - "deprecationReason": null, - "description": null, - "isDeprecated": false, - "name": "outputRatio" - }, - { - "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" - } - ], - "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": "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 - } - } - } - } - ], - "inputFields": null, - "interfaces": [], - "kind": "OBJECT", - "name": "TokenVault", - "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": "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": "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": "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" - } - ], - "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": "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": "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__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": "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__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": "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": "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 f07cff24901c551d9879c26d03c6b6619d5f7408 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 19:14:29 +0530 Subject: [PATCH 03/16] abi update --- .../src/orderbook/abi/IOrderBookV3.json | 7232 +++ orderbook-rs/src/orderbook/abi/OrderBook.json | 36239 ---------------- orderbook-rs/src/orderbook/registry.rs | 2 +- 3 files changed, 7233 insertions(+), 36240 deletions(-) create mode 100644 orderbook-rs/src/orderbook/abi/IOrderBookV3.json delete mode 100644 orderbook-rs/src/orderbook/abi/OrderBook.json diff --git a/orderbook-rs/src/orderbook/abi/IOrderBookV3.json b/orderbook-rs/src/orderbook/abi/IOrderBookV3.json new file mode 100644 index 000000000..e472574bb --- /dev/null +++ b/orderbook-rs/src/orderbook/abi/IOrderBookV3.json @@ -0,0 +1,7232 @@ +{ + "abi": [ + { + "type": "function", + "name": "addOrder", + "inputs": [ + { + "name": "config", + "type": "tuple", + "internalType": "struct OrderConfigV2", + "components": [ + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "evaluableConfig", + "type": "tuple", + "internalType": "struct EvaluableConfigV3", + "components": [ + { + "name": "deployer", + "type": "address", + "internalType": "contract IExpressionDeployerV3" + }, + { + "name": "bytecode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "constants", + "type": "uint256[]", + "internalType": "uint256[]" + } + ] + }, + { + "name": "meta", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "stateChanged", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "clear", + "inputs": [ + { + "name": "alice", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "bob", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "clearConfig", + "type": "tuple", + "internalType": "struct ClearConfig", + "components": [ + { + "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": "uint256" + } + ] + }, + { + "name": "aliceSignedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "bobSignedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashFee", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "contract IERC3156FlashBorrower" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "maxFlashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "orderExists", + "inputs": [ + { + "name": "orderHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "exists", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeOrder", + "inputs": [ + { + "name": "order", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "outputs": [ + { + "name": "stateChanged", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "takeOrders", + "inputs": [ + { + "name": "config", + "type": "tuple", + "internalType": "struct TakeOrdersConfigV2", + "components": [ + { + "name": "minimumInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maximumInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maximumIORatio", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "orders", + "type": "tuple[]", + "internalType": "struct TakeOrderConfigV2[]", + "components": [ + { + "name": "order", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "inputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "outputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "signedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ] + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "totalInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalOutput", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultBalance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "targetAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddOrder", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "expressionDeployer", + "type": "address", + "indexed": false, + "internalType": "contract IExpressionDeployerV3" + }, + { + "name": "order", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AfterClear", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "clearStateChange", + "type": "tuple", + "indexed": false, + "internalType": "struct ClearStateChange", + "components": [ + { + "name": "aliceOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bobOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "aliceInput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bobInput", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Clear", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "alice", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "bob", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "clearConfig", + "type": "tuple", + "indexed": false, + "internalType": "struct ClearConfig", + "components": [ + { + "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": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Context", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[][]", + "indexed": false, + "internalType": "uint256[][]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OrderExceedsMaxRatio", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OrderNotFound", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OrderZeroAmount", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveOrder", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "order", + "type": "tuple", + "indexed": false, + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "orderHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TakeOrder", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "config", + "type": "tuple", + "indexed": false, + "internalType": "struct TakeOrderConfigV2", + "components": [ + { + "name": "order", + "type": "tuple", + "internalType": "struct OrderV2", + "components": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "handleIO", + "type": "bool", + "internalType": "bool" + }, + { + "name": "evaluable", + "type": "tuple", + "internalType": "struct EvaluableV2", + "components": [ + { + "name": "interpreter", + "type": "address", + "internalType": "contract IInterpreterV2" + }, + { + "name": "store", + "type": "address", + "internalType": "contract IInterpreterStoreV1" + }, + { + "name": "expression", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "validInputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "validOutputs", + "type": "tuple[]", + "internalType": "struct IO[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "inputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "outputIOIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "signedContext", + "type": "tuple[]", + "internalType": "struct SignedContextV1[]", + "components": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + }, + { + "name": "context", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ] + }, + { + "name": "input", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "output", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "targetAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "OrderNoHandleIO", + "inputs": [] + }, + { + "type": "error", + "name": "OrderNoInputs", + "inputs": [] + }, + { + "type": "error", + "name": "OrderNoOutputs", + "inputs": [] + }, + { + "type": "error", + "name": "OrderNoSources", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroDepositAmount", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ZeroWithdrawTargetAmount", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "vaultId", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "bytecode": { + "object": "0x", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x", + "sourceMap": "", + "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", + "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\":[],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoSources\",\"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\":[{\"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 IExpressionDeployerV3\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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\":\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2\",\"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 IExpressionDeployerV3\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV3\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"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\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"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\":{\"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.\"}},\"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.\"}},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"exists\":\"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\":{\"totalInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalOutput\":\"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\":{\"balance\":\"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.\"}}},\"title\":\"IOrderBookV3\",\"version\":1},\"userdoc\":{\"errors\":{\"OrderNoHandleIO()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"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.\"},\"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\"},\"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.\"},\"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.\"}},\"notice\":\"An orderbook that deploys _strategies_ represented as interpreter expressions rather than individual orders. The order book contract itself behaves similarly to an `ERC4626` vault but with much more fine grained control over how tokens are allocated and moved internally by their owners, and without any concept of \\\"shares\\\". Token owners MAY deposit and withdraw their tokens under arbitrary vault IDs on a per-token basis, then define orders that specify how tokens move between vaults according to an expression. The expression returns a maximum amount and a token input/output ratio from the perpective of the order. When two expressions intersect, as in their ratios are the inverse of each other, then tokens can move between vaults. For example, consider order A with input TKNA and output TKNB with a constant ratio of 100:1. This order in isolation has no ability to move tokens. If an order B appears with input TKNB and output TKNA and a ratio of 1:100 then this is a perfect match with order A. In this case 100 TKNA will move from order B to order A and 1 TKNB will move from order A to order B. IO ratios are always specified as input:output and are 18 decimal fixed point values. The maximum amount that can be moved in the current clearance is also set by the order expression as an 18 decimal fixed point value. Typically orders will not clear when their match is exactly 1:1 as the clearer needs to pay gas to process the match. Each order will get exactly the ratio it calculates when it does clear so if there is _overlap_ in the ratios then the clearer keeps the difference. In our above example, consider order B asking a ratio of 1:110 instead of 1:100. In this case 100 TKNA will move from order B to order A and 10 TKNA will move to the clearer's vault and 1 TKNB will move from order A to order B. In the case of fixed prices this is not very interesting as order B could more simply take order A directly for cheaper rather than involving a third party. Indeed, Orderbook supports a direct \\\"take orders\\\" method that works similar to a \\\"market buy\\\". In the case of dynamic expression based ratios, it allows both order A and order B to clear non-interactively according to their strategy, trading off active management, dealing with front-running, MEV, etc. for zero-gas and exact-ratio clearance. The general invariant for clearing and take orders is: ``` ratioA = InputA / OutputA ratioB = InputB / OutputB ratioA * ratioB = ( InputA * InputB ) / ( OutputA * OutputB ) OutputA >= InputB OutputB >= InputA \\u2234 ratioA * ratioB <= 1 ``` Orderbook is `IERC3156FlashLender` compliant with a 0 fee flash loan implementation to allow external liquidity from other onchain DEXes to match against orderbook expressions. All deposited tokens across all vaults are available for flashloan, the flashloan MAY BE REPAID BY CALLING TAKE ORDER such that Orderbook's liability to its vaults is decreased by an incoming trade from the flashloan borrower. See `ZeroExOrderBookFlashBorrower` for an example of how this works in practise. Orderbook supports many to many input/output token relationship, for example some order can specify an array of stables it would be willing to accept in return for some ETH. This removes the need for a combinatorial explosion of order strategies between like assets but introduces the issue of token decimal handling. End users understand that \\\"one\\\" USDT is roughly equal to \\\"one\\\" DAI, but onchain this is incorrect by _12 orders of magnitude_. This is because \\\"one\\\" DAI is `1e18` tokens and \\\"one\\\" USDT is `1e6` tokens. The orderbook is allowing orders to deploy expressions that define _economic equivalence_ but this doesn't map 1:1 with numeric equivalence in a many to many setup behind token decimal convensions. The solution is to require that end users who place orders provide the decimals of each token they include in their valid IO lists, and to calculate all amounts and ratios in their expressions _as though they were 18 decimal fixed point values_. Orderbook will then automatically rescale the expression values before applying the final vault movements. If an order provides the \\\"wrong\\\" decimal values for some token then it will simply calculate its own ratios and amounts incorrectly which will either lead to no matching orders or a very bad trade for the order owner. There is no way that misrepresenting decimals can attack some other order by a counterparty. Orderbook DOES NOT read decimals from tokens onchain because A. this would be gas for an external call to a cold token contract and B. the ERC20 standard specifically states NOT to read decimals from the interface onchain. Token amounts and ratios returned by calculate order MUST be 18 decimal fixed point values. Token amounts input to handle IO MUST be the exact absolute values that move between the vaults, i.e. NOT rescaled to 18 decimals. The author of the handle IO expression MUST use the token decimals and amounts to rescale themselves if they want that logic, notably the expression author will need to specify the desired rounding behaviour in the rescaling process. When two orders clear there are NO TOKEN MOVEMENTS, only internal vault balances are updated from the input and output vaults. Typically this results in less gas per clear than calling external token transfers and also avoids issues with reentrancy, allowances, external balances etc. This also means that REBASING TOKENS AND TOKENS WITH DYNAMIC BALANCE ARE NOT SUPPORTED. Orderbook ONLY WORKS IF TOKEN BALANCES ARE 1:1 WITH ADDITION/SUBTRACTION PER VAULT MOVEMENT. Dust due to rounding errors always favours the order. Output max is rounded down and IO ratios are rounded up. Input and output amounts are always converted to absolute values before applying to vault balances such that orderbook always retains fully collateralised inventory of underlying token balances to support withdrawals, with the caveat that dynamic token balanes are not supported. When an order clears it is NOT removed. Orders remain active until the owner deactivates them. This is gas efficient as order owners MAY deposit more tokens in a vault with an order against it many times and the order strategy will continue to be clearable according to its expression. As vault IDs are `uint256` values there are effectively infinite possible vaults for any token so there is no limit to how many active orders any address can have at one time. This also allows orders to be daisy chained arbitrarily where output vaults for some order are the input vaults for some other order. Expression storage is namespaced by order owner, so gets and sets are unique to each onchain address. Order owners MUST TAKE CARE not to override their storage sets globally across all their orders, which they can do most simply by hashing the order hash into their get/set keys inside the expression. This gives maximum flexibility for shared state across orders without allowing order owners to attack and overwrite values stored by orders placed by their counterparty. Note that each order specifies its own interpreter and deployer so the owner is responsible for not corrupting their own calculations with bad interpreters. This also means the Orderbook MUST assume the interpreter, and notably the interpreter's store, is malicious and guard against reentrancy etc. As Orderbook supports any expression that can run on any `IInterpreterV1` and counterparties are available to the order, order strategies are free to implement KYC/membership, tracking, distributions, stock, buybacks, etc. etc. Main differences between `IOrderBookV2` and `IOderBookV3`: - Most structs are now primitives to save gas. - Order hash is `bytes32`. - `deposit` and `withdraw` MUST revert if the amount is zero. - adding an order MUST revert if there is no calculation entrypoint. - adding an order MUST revert if there is no handle IO entrypoint. - adding an order MUST revert if there are no inputs. - adding an order MUST revert if there are no outputs. - adding and removing orders MUST return a boolean indicating if the state changed. - new `orderExists` method.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interface/unstable/IOrderBookV3.sol\":\"IOrderBookV3\"},\"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/\",\":bitwise/=lib/rain.interpreter/src/lib/bitwise/\",\":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/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813\",\"dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3\",\"dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d\",\"dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol\":{\"keccak256\":\"0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214\",\"dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c\",\"dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol\":{\"keccak256\":\"0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3\",\"dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol\":{\"keccak256\":\"0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69\",\"dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg\"]},\"lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol\":{\"keccak256\":\"0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8\",\"dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1\",\"dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn\"]},\"src/interface/deprecated/IOrderBookV2.sol\":{\"keccak256\":\"0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc\",\"dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4\",\"dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852\",\"dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "type": "error", + "name": "OrderNoHandleIO" + }, + { + "inputs": [], + "type": "error", + "name": "OrderNoInputs" + }, + { + "inputs": [], + "type": "error", + "name": "OrderNoOutputs" + }, + { + "inputs": [], + "type": "error", + "name": "OrderNoSources" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "vaultId", + "type": "uint256" + } + ], + "type": "error", + "name": "ZeroDepositAmount" + }, + { + "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 IExpressionDeployerV3", + "name": "expressionDeployer", + "type": "address", + "indexed": false + }, + { + "internalType": "struct OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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": "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 OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 TakeOrderConfigV2", + "name": "config", + "type": "tuple", + "components": [ + { + "internalType": "struct OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 EvaluableConfigV3", + "name": "evaluableConfig", + "type": "tuple", + "components": [ + { + "internalType": "contract IExpressionDeployerV3", + "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 OrderV2", + "name": "alice", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 OrderV2", + "name": "bob", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "view", + "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": "bytes32", + "name": "orderHash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "orderExists", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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 TakeOrderConfigV2[]", + "name": "orders", + "type": "tuple[]", + "components": [ + { + "internalType": "struct OrderV2", + "name": "order", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bool", + "name": "handleIO", + "type": "bool" + }, + { + "internalType": "struct EvaluableV2", + "name": "evaluable", + "type": "tuple", + "components": [ + { + "internalType": "contract IInterpreterV2", + "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": "totalInput", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalOutput", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "vaultBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "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." + } + }, + "orderExists(bytes32)": { + "params": { + "orderHash": "The hash of the order to check." + }, + "returns": { + "exists": "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": { + "totalInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", + "totalOutput": "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": { + "balance": "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" + }, + "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." + }, + "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/", + "bitwise/=lib/rain.interpreter/src/lib/bitwise/", + "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/interface/unstable/IOrderBookV3.sol": "IOrderBookV3" + }, + "libraries": {} + }, + "sources": { + "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { + "keccak256": "0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc", + "urls": [ + "bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813", + "dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { + "keccak256": "0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19", + "urls": [ + "bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3", + "dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol": { + "keccak256": "0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d", + "urls": [ + "bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d", + "dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol": { + "keccak256": "0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365", + "urls": [ + "bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214", + "dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol": { + "keccak256": "0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2", + "urls": [ + "bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c", + "dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol": { + "keccak256": "0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518", + "urls": [ + "bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3", + "dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol": { + "keccak256": "0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79", + "urls": [ + "bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69", + "dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol": { + "keccak256": "0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50", + "urls": [ + "bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8", + "dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew" + ], + "license": "CAL" + }, + "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { + "keccak256": "0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21", + "urls": [ + "bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1", + "dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn" + ], + "license": "CAL" + }, + "src/interface/deprecated/IOrderBookV2.sol": { + "keccak256": "0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb", + "urls": [ + "bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc", + "dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8" + ], + "license": "CAL" + }, + "src/interface/ierc3156/IERC3156FlashBorrower.sol": { + "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", + "urls": [ + "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", + "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" + ], + "license": "CC0" + }, + "src/interface/ierc3156/IERC3156FlashLender.sol": { + "keccak256": "0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72", + "urls": [ + "bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4", + "dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie" + ], + "license": "CC0" + }, + "src/interface/unstable/IOrderBookV3.sol": { + "keccak256": "0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1", + "urls": [ + "bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852", + "dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT" + ], + "license": "CAL" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/interface/unstable/IOrderBookV3.sol", + "id": 79290, + "exportedSymbols": { + "ClearConfig": [ + 78728 + ], + "ClearStateChange": [ + 78737 + ], + "EvaluableConfigV3": [ + 55623 + ], + "EvaluableV2": [ + 55632 + ], + "IERC3156FlashBorrower": [ + 78942 + ], + "IERC3156FlashLender": [ + 78980 + ], + "IExpressionDeployerV3": [ + 55986 + ], + "IInterpreterCallerV2": [ + 55660 + ], + "IO": [ + 78658 + ], + "IOrderBookV3": [ + 79289 + ], + "NoOrders": [ + 78997 + ], + "OrderConfigV2": [ + 79014 + ], + "OrderV2": [ + 79042 + ], + "SignedContextV1": [ + 55640 + ], + "TakeOrderConfigV2": [ + 79026 + ], + "TakeOrdersConfigV2": [ + 79055 + ], + "ZeroMaximumInput": [ + 79000 + ] + }, + "nodeType": "SourceUnit", + "src": "32:31563:181", + "nodes": [ + { + "id": 78982, + "nodeType": "PragmaDirective", + "src": "32:24:181", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ] + }, + { + "id": 78983, + "nodeType": "ImportDirective", + "src": "58:45:181", + "nodes": [], + "absolutePath": "src/interface/ierc3156/IERC3156FlashLender.sol", + "file": "../ierc3156/IERC3156FlashLender.sol", + "nameLocation": "-1:-1:-1", + "scope": 79290, + "sourceUnit": 78981, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 78986, + "nodeType": "ImportDirective", + "src": "104:104:181", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol", + "file": "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol", + "nameLocation": "-1:-1:-1", + "scope": 79290, + "sourceUnit": 57188, + "symbolAliases": [ + { + "foreign": { + "id": 78984, + "name": "IExpressionDeployerV3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55986, + "src": "112:21:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 78985, + "name": "EvaluableV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55632, + "src": "135:11:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 78990, + "nodeType": "ImportDirective", + "src": "209:147:181", + "nodes": [], + "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol", + "file": "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 79290, + "sourceUnit": 55661, + "symbolAliases": [ + { + "foreign": { + "id": 78987, + "name": "EvaluableConfigV3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55623, + "src": "222:17:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 78988, + "name": "IInterpreterCallerV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55660, + "src": "245:20:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 78989, + "name": "SignedContextV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55640, + "src": "271:15:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 78994, + "nodeType": "ImportDirective", + "src": "428:81:181", + "nodes": [], + "absolutePath": "src/interface/deprecated/IOrderBookV2.sol", + "file": "../deprecated/IOrderBookV2.sol", + "nameLocation": "-1:-1:-1", + "scope": 79290, + "sourceUnit": 78918, + "symbolAliases": [ + { + "foreign": { + "id": 78991, + "name": "IO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78658, + "src": "436:2:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 78992, + "name": "ClearConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78728, + "src": "440:11:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 78993, + "name": "ClearStateChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78737, + "src": "453:16:181", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 78997, + "nodeType": "ErrorDefinition", + "src": "565:17:181", + "nodes": [], + "documentation": { + "id": 78995, + "nodeType": "StructuredDocumentation", + "src": "511:54:181", + "text": "Thrown when take orders is called with no orders." + }, + "errorSelector": "9c95219f", + "name": "NoOrders", + "nameLocation": "571:8:181", + "parameters": { + "id": 78996, + "nodeType": "ParameterList", + "parameters": [], + "src": "579:2:181" + } + }, + { + "id": 79000, + "nodeType": "ErrorDefinition", + "src": "649:25:181", + "nodes": [], + "documentation": { + "id": 78998, + "nodeType": "StructuredDocumentation", + "src": "584:65:181", + "text": "Thrown when take orders is called with a zero maximum input." + }, + "errorSelector": "c2ee7009", + "name": "ZeroMaximumInput", + "nameLocation": "655:16:181", + "parameters": { + "id": 78999, + "nodeType": "ParameterList", + "parameters": [], + "src": "671:2:181" + } + }, + { + "id": 79014, + "nodeType": "StructDefinition", + "src": "1470:124:181", + "nodes": [], + "canonicalName": "OrderConfigV2", + "members": [ + { + "constant": false, + "id": 79004, + "mutability": "mutable", + "name": "validInputs", + "nameLocation": "1502:11:181", + "nodeType": "VariableDeclaration", + "scope": 79014, + "src": "1497:16:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + }, + "typeName": { + "baseType": { + "id": 79002, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79001, + "name": "IO", + "nameLocations": [ + "1497:2:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78658, + "src": "1497:2:181" + }, + "referencedDeclaration": 78658, + "src": "1497:2:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", + "typeString": "struct IO" + } + }, + "id": 79003, + "nodeType": "ArrayTypeName", + "src": "1497:4:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79008, + "mutability": "mutable", + "name": "validOutputs", + "nameLocation": "1524:12:181", + "nodeType": "VariableDeclaration", + "scope": 79014, + "src": "1519:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + }, + "typeName": { + "baseType": { + "id": 79006, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79005, + "name": "IO", + "nameLocations": [ + "1519:2:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78658, + "src": "1519:2:181" + }, + "referencedDeclaration": 78658, + "src": "1519:2:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", + "typeString": "struct IO" + } + }, + "id": 79007, + "nodeType": "ArrayTypeName", + "src": "1519:4:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79011, + "mutability": "mutable", + "name": "evaluableConfig", + "nameLocation": "1560:15:181", + "nodeType": "VariableDeclaration", + "scope": 79014, + "src": "1542:33:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_storage_ptr", + "typeString": "struct EvaluableConfigV3" + }, + "typeName": { + "id": 79010, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79009, + "name": "EvaluableConfigV3", + "nameLocations": [ + "1542:17:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55623, + "src": "1542:17:181" + }, + "referencedDeclaration": 55623, + "src": "1542:17:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_storage_ptr", + "typeString": "struct EvaluableConfigV3" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79013, + "mutability": "mutable", + "name": "meta", + "nameLocation": "1587:4:181", + "nodeType": "VariableDeclaration", + "scope": 79014, + "src": "1581:10:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 79012, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1581:5:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "OrderConfigV2", + "nameLocation": "1477:13:181", + "scope": 79290, + "visibility": "public" + }, + { + "id": 79026, + "nodeType": "StructDefinition", + "src": "2058:137:181", + "nodes": [], + "canonicalName": "TakeOrderConfigV2", + "members": [ + { + "constant": false, + "id": 79017, + "mutability": "mutable", + "name": "order", + "nameLocation": "2097:5:181", + "nodeType": "VariableDeclaration", + "scope": 79026, + "src": "2089:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79016, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79015, + "name": "OrderV2", + "nameLocations": [ + "2089:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "2089:7:181" + }, + "referencedDeclaration": 79042, + "src": "2089:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79019, + "mutability": "mutable", + "name": "inputIOIndex", + "nameLocation": "2116:12:181", + "nodeType": "VariableDeclaration", + "scope": 79026, + "src": "2108:20:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79018, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2108:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79021, + "mutability": "mutable", + "name": "outputIOIndex", + "nameLocation": "2142:13:181", + "nodeType": "VariableDeclaration", + "scope": 79026, + "src": "2134:21:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79020, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2134:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79025, + "mutability": "mutable", + "name": "signedContext", + "nameLocation": "2179:13:181", + "nodeType": "VariableDeclaration", + "scope": 79026, + "src": "2161:31:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 79023, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79022, + "name": "SignedContextV1", + "nameLocations": [ + "2161:15:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55640, + "src": "2161:15:181" + }, + "referencedDeclaration": 55640, + "src": "2161:15:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 79024, + "nodeType": "ArrayTypeName", + "src": "2161:17:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "name": "TakeOrderConfigV2", + "nameLocation": "2065:17:181", + "scope": 79290, + "visibility": "public" + }, + { + "id": 79042, + "nodeType": "StructDefinition", + "src": "3181:128:181", + "nodes": [], + "canonicalName": "OrderV2", + "members": [ + { + "constant": false, + "id": 79028, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3210:5:181", + "nodeType": "VariableDeclaration", + "scope": 79042, + "src": "3202:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79027, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3202:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79030, + "mutability": "mutable", + "name": "handleIO", + "nameLocation": "3226:8:181", + "nodeType": "VariableDeclaration", + "scope": 79042, + "src": "3221:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 79029, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3221:4:181", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79033, + "mutability": "mutable", + "name": "evaluable", + "nameLocation": "3252:9:181", + "nodeType": "VariableDeclaration", + "scope": 79042, + "src": "3240:21:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_storage_ptr", + "typeString": "struct EvaluableV2" + }, + "typeName": { + "id": 79032, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79031, + "name": "EvaluableV2", + "nameLocations": [ + "3240:11:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55632, + "src": "3240:11:181" + }, + "referencedDeclaration": 55632, + "src": "3240:11:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EvaluableV2_$55632_storage_ptr", + "typeString": "struct EvaluableV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79037, + "mutability": "mutable", + "name": "validInputs", + "nameLocation": "3272:11:181", + "nodeType": "VariableDeclaration", + "scope": 79042, + "src": "3267:16:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + }, + "typeName": { + "baseType": { + "id": 79035, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79034, + "name": "IO", + "nameLocations": [ + "3267:2:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78658, + "src": "3267:2:181" + }, + "referencedDeclaration": 78658, + "src": "3267:2:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", + "typeString": "struct IO" + } + }, + "id": 79036, + "nodeType": "ArrayTypeName", + "src": "3267:4:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79041, + "mutability": "mutable", + "name": "validOutputs", + "nameLocation": "3294:12:181", + "nodeType": "VariableDeclaration", + "scope": 79042, + "src": "3289:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + }, + "typeName": { + "baseType": { + "id": 79039, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79038, + "name": "IO", + "nameLocations": [ + "3289:2:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78658, + "src": "3289:2:181" + }, + "referencedDeclaration": 78658, + "src": "3289:2:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", + "typeString": "struct IO" + } + }, + "id": 79040, + "nodeType": "ArrayTypeName", + "src": "3289:4:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", + "typeString": "struct IO[]" + } + }, + "visibility": "internal" + } + ], + "name": "OrderV2", + "nameLocation": "3188:7:181", + "scope": 79290, + "visibility": "public" + }, + { + "id": 79055, + "nodeType": "StructDefinition", + "src": "4287:157:181", + "nodes": [], + "canonicalName": "TakeOrdersConfigV2", + "members": [ + { + "constant": false, + "id": 79044, + "mutability": "mutable", + "name": "minimumInput", + "nameLocation": "4327:12:181", + "nodeType": "VariableDeclaration", + "scope": 79055, + "src": "4319:20:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4319:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79046, + "mutability": "mutable", + "name": "maximumInput", + "nameLocation": "4353:12:181", + "nodeType": "VariableDeclaration", + "scope": 79055, + "src": "4345:20:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79045, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4345:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79048, + "mutability": "mutable", + "name": "maximumIORatio", + "nameLocation": "4379:14:181", + "nodeType": "VariableDeclaration", + "scope": 79055, + "src": "4371:22:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4371:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79052, + "mutability": "mutable", + "name": "orders", + "nameLocation": "4419:6:181", + "nodeType": "VariableDeclaration", + "scope": 79055, + "src": "4399:26:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_storage_$dyn_storage_ptr", + "typeString": "struct TakeOrderConfigV2[]" + }, + "typeName": { + "baseType": { + "id": 79050, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79049, + "name": "TakeOrderConfigV2", + "nameLocations": [ + "4399:17:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79026, + "src": "4399:17:181" + }, + "referencedDeclaration": 79026, + "src": "4399:17:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_storage_ptr", + "typeString": "struct TakeOrderConfigV2" + } + }, + "id": 79051, + "nodeType": "ArrayTypeName", + "src": "4399:19:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_storage_$dyn_storage_ptr", + "typeString": "struct TakeOrderConfigV2[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79054, + "mutability": "mutable", + "name": "data", + "nameLocation": "4437:4:181", + "nodeType": "VariableDeclaration", + "scope": 79055, + "src": "4431:10:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 79053, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4431:5:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "TakeOrdersConfigV2", + "nameLocation": "4294:18:181", + "scope": 79290, + "visibility": "public" + }, + { + "id": 79289, + "nodeType": "ContractDefinition", + "src": "13147:18447:181", + "nodes": [ + { + "id": 79069, + "nodeType": "ErrorDefinition", + "src": "13456:72:181", + "nodes": [], + "documentation": { + "id": 79061, + "nodeType": "StructuredDocumentation", + "src": "13221:230:181", + "text": "MUST be thrown by `deposit` if the amount is zero.\n @param sender `msg.sender` depositing tokens.\n @param token The token being deposited.\n @param vaultId The vault ID the tokens are being deposited under." + }, + "errorSelector": "40e97a5e", + "name": "ZeroDepositAmount", + "nameLocation": "13462:17:181", + "parameters": { + "id": 79068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79063, + "mutability": "mutable", + "name": "sender", + "nameLocation": "13488:6:181", + "nodeType": "VariableDeclaration", + "scope": 79069, + "src": "13480:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13480:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79065, + "mutability": "mutable", + "name": "token", + "nameLocation": "13504:5:181", + "nodeType": "VariableDeclaration", + "scope": 79069, + "src": "13496:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13496:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79067, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "13519:7:181", + "nodeType": "VariableDeclaration", + "scope": 79069, + "src": "13511:15:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79066, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13511:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13479:48:181" + } + }, + { + "id": 79078, + "nodeType": "ErrorDefinition", + "src": "13934:79:181", + "nodes": [], + "documentation": { + "id": 79070, + "nodeType": "StructuredDocumentation", + "src": "13534:395:181", + "text": "MUST be thrown by `withdraw` if the amount _requested_ to withdraw is\n zero. The withdrawal MAY still not move any tokens if the vault balance\n is zero, or the withdrawal is used to repay a flash loan.\n @param sender `msg.sender` withdrawing tokens.\n @param token The token being withdrawn.\n @param vaultId The vault ID the tokens are being withdrawn from." + }, + "errorSelector": "f7a898f6", + "name": "ZeroWithdrawTargetAmount", + "nameLocation": "13940:24:181", + "parameters": { + "id": 79077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79072, + "mutability": "mutable", + "name": "sender", + "nameLocation": "13973:6:181", + "nodeType": "VariableDeclaration", + "scope": 79078, + "src": "13965:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79071, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13965:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79074, + "mutability": "mutable", + "name": "token", + "nameLocation": "13989:5:181", + "nodeType": "VariableDeclaration", + "scope": 79078, + "src": "13981:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79073, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13981:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79076, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "14004:7:181", + "nodeType": "VariableDeclaration", + "scope": 79078, + "src": "13996:15:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13996:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13964:48:181" + } + }, + { + "id": 79081, + "nodeType": "ErrorDefinition", + "src": "14100:23:181", + "nodes": [], + "documentation": { + "id": 79079, + "nodeType": "StructuredDocumentation", + "src": "14019:76:181", + "text": "MUST be thrown by `addOrder` if the order has no associated calculation." + }, + "errorSelector": "b3fc422c", + "name": "OrderNoSources", + "nameLocation": "14106:14:181", + "parameters": { + "id": 79080, + "nodeType": "ParameterList", + "parameters": [], + "src": "14120:2:181" + } + }, + { + "id": 79084, + "nodeType": "ErrorDefinition", + "src": "14208:24:181", + "nodes": [], + "documentation": { + "id": 79082, + "nodeType": "StructuredDocumentation", + "src": "14129:74:181", + "text": "MUST be thrown by `addOrder` if the order has no associated handle IO." + }, + "errorSelector": "f209c2f4", + "name": "OrderNoHandleIO", + "nameLocation": "14214:15:181", + "parameters": { + "id": 79083, + "nodeType": "ParameterList", + "parameters": [], + "src": "14229:2:181" + } + }, + { + "id": 79087, + "nodeType": "ErrorDefinition", + "src": "14303:22:181", + "nodes": [], + "documentation": { + "id": 79085, + "nodeType": "StructuredDocumentation", + "src": "14238:60:181", + "text": "MUST be thrown by `addOrder` if the order has no inputs." + }, + "errorSelector": "6c44ef8f", + "name": "OrderNoInputs", + "nameLocation": "14309:13:181", + "parameters": { + "id": 79086, + "nodeType": "ParameterList", + "parameters": [], + "src": "14322:2:181" + } + }, + { + "id": 79090, + "nodeType": "ErrorDefinition", + "src": "14397:23:181", + "nodes": [], + "documentation": { + "id": 79088, + "nodeType": "StructuredDocumentation", + "src": "14331:61:181", + "text": "MUST be thrown by `addOrder` if the order has no outputs." + }, + "errorSelector": "540e5f0b", + "name": "OrderNoOutputs", + "nameLocation": "14403:14:181", + "parameters": { + "id": 79089, + "nodeType": "ParameterList", + "parameters": [], + "src": "14417:2:181" + } + }, + { + "id": 79101, + "nodeType": "EventDefinition", + "src": "14754:78:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79091, + "nodeType": "StructuredDocumentation", + "src": "14426:323:181", + "text": "Some tokens have been deposited to a vault.\n @param sender `msg.sender` depositing tokens. Delegated deposits are NOT\n supported.\n @param token The token being deposited.\n @param vaultId The vault ID the tokens are being deposited under.\n @param amount The amount of tokens deposited." + }, + "eventSelector": "dcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7", + "name": "Deposit", + "nameLocation": "14760:7:181", + "parameters": { + "id": 79100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79093, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "14776:6:181", + "nodeType": "VariableDeclaration", + "scope": 79101, + "src": "14768:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14768:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79095, + "indexed": false, + "mutability": "mutable", + "name": "token", + "nameLocation": "14792:5:181", + "nodeType": "VariableDeclaration", + "scope": 79101, + "src": "14784:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14784:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79097, + "indexed": false, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "14807:7:181", + "nodeType": "VariableDeclaration", + "scope": 79101, + "src": "14799:15:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79096, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14799:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79099, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "14824:6:181", + "nodeType": "VariableDeclaration", + "scope": 79101, + "src": "14816:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14816:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14767:64:181" + } + }, + { + "id": 79114, + "nodeType": "EventDefinition", + "src": "15454:101:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79102, + "nodeType": "StructuredDocumentation", + "src": "14838:611:181", + "text": "Some tokens have been withdrawn from a vault.\n @param sender `msg.sender` withdrawing tokens. Delegated withdrawals are\n NOT supported.\n @param token The token being withdrawn.\n @param vaultId The vault ID the tokens are being withdrawn from.\n @param targetAmount The amount of tokens requested to withdraw.\n @param amount The amount of tokens withdrawn, can be less than the\n target amount if the vault does not have the funds available to cover\n the target amount. For example an active order might move tokens before\n the withdraw completes." + }, + "eventSelector": "ebff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f", + "name": "Withdraw", + "nameLocation": "15460:8:181", + "parameters": { + "id": 79113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79104, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "15477:6:181", + "nodeType": "VariableDeclaration", + "scope": 79114, + "src": "15469:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15469:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79106, + "indexed": false, + "mutability": "mutable", + "name": "token", + "nameLocation": "15493:5:181", + "nodeType": "VariableDeclaration", + "scope": 79114, + "src": "15485:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15485:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79108, + "indexed": false, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "15508:7:181", + "nodeType": "VariableDeclaration", + "scope": 79114, + "src": "15500:15:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15500:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79110, + "indexed": false, + "mutability": "mutable", + "name": "targetAmount", + "nameLocation": "15525:12:181", + "nodeType": "VariableDeclaration", + "scope": 79114, + "src": "15517:20:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79109, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15517:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79112, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "15547:6:181", + "nodeType": "VariableDeclaration", + "scope": 79114, + "src": "15539:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79111, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15539:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15468:86:181" + } + }, + { + "id": 79127, + "nodeType": "EventDefinition", + "src": "16459:107:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79115, + "nodeType": "StructuredDocumentation", + "src": "15561:893:181", + "text": "An order has been added to the orderbook. The order is permanently and\n always active according to its expression until/unless it is removed.\n @param sender `msg.sender` adding the order and is owner of the order.\n @param expressionDeployer The expression deployer that ran the integrity\n check for this order. This is NOT included in the `Order` itself but is\n important for offchain processes to ignore untrusted deployers before\n interacting with them.\n @param order The newly added order. MUST be handed back as-is when\n clearing orders and contains derived information in addition to the order\n config that was provided by the order owner.\n @param orderHash The hash of the order as it is recorded onchain. Only\n the hash is stored in Orderbook storage to avoid paying gas to store the\n entire order." + }, + "eventSelector": "6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf", + "name": "AddOrder", + "nameLocation": "16465:8:181", + "parameters": { + "id": 79126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79117, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "16482:6:181", + "nodeType": "VariableDeclaration", + "scope": 79127, + "src": "16474:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79116, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16474:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79120, + "indexed": false, + "mutability": "mutable", + "name": "expressionDeployer", + "nameLocation": "16512:18:181", + "nodeType": "VariableDeclaration", + "scope": 79127, + "src": "16490:40:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", + "typeString": "contract IExpressionDeployerV3" + }, + "typeName": { + "id": 79119, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79118, + "name": "IExpressionDeployerV3", + "nameLocations": [ + "16490:21:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55986, + "src": "16490:21:181" + }, + "referencedDeclaration": 55986, + "src": "16490:21:181", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", + "typeString": "contract IExpressionDeployerV3" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79123, + "indexed": false, + "mutability": "mutable", + "name": "order", + "nameLocation": "16540:5:181", + "nodeType": "VariableDeclaration", + "scope": 79127, + "src": "16532:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79122, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79121, + "name": "OrderV2", + "nameLocations": [ + "16532:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "16532:7:181" + }, + "referencedDeclaration": 79042, + "src": "16532:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79125, + "indexed": false, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "16555:9:181", + "nodeType": "VariableDeclaration", + "scope": 79127, + "src": "16547:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 79124, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16547:7:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16473:92:181" + } + }, + { + "id": 79137, + "nodeType": "EventDefinition", + "src": "16885:68:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79128, + "nodeType": "StructuredDocumentation", + "src": "16572:308:181", + "text": "An order has been removed from the orderbook. This effectively\n deactivates it. Orders can be added again after removal.\n @param sender `msg.sender` removing the order and is owner of the order.\n @param order The removed order.\n @param orderHash The hash of the removed order." + }, + "eventSelector": "74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd192448", + "name": "RemoveOrder", + "nameLocation": "16891:11:181", + "parameters": { + "id": 79136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79130, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "16911:6:181", + "nodeType": "VariableDeclaration", + "scope": 79137, + "src": "16903:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16903:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79133, + "indexed": false, + "mutability": "mutable", + "name": "order", + "nameLocation": "16927:5:181", + "nodeType": "VariableDeclaration", + "scope": 79137, + "src": "16919:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79132, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79131, + "name": "OrderV2", + "nameLocations": [ + "16919:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "16919:7:181" + }, + "referencedDeclaration": 79042, + "src": "16919:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79135, + "indexed": false, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "16942:9:181", + "nodeType": "VariableDeclaration", + "scope": 79137, + "src": "16934:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 79134, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16934:7:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16902:50:181" + } + }, + { + "id": 79149, + "nodeType": "EventDefinition", + "src": "17597:89:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79138, + "nodeType": "StructuredDocumentation", + "src": "16959:633:181", + "text": "Some order has been taken by `msg.sender`. This is the same as them\n placing inverse orders then immediately clearing them all, but costs less\n gas and is more convenient and reliable. Analogous to a market buy\n against the specified orders. Each order that is matched within a the\n `takeOrders` loop emits its own individual event.\n @param sender `msg.sender` taking the orders.\n @param config All config defining the orders to attempt to take.\n @param input The input amount from the perspective of sender.\n @param output The output amount from the perspective of sender." + }, + "eventSelector": "219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542", + "name": "TakeOrder", + "nameLocation": "17603:9:181", + "parameters": { + "id": 79148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79140, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "17621:6:181", + "nodeType": "VariableDeclaration", + "scope": 79149, + "src": "17613:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17613:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79143, + "indexed": false, + "mutability": "mutable", + "name": "config", + "nameLocation": "17647:6:181", + "nodeType": "VariableDeclaration", + "scope": 79149, + "src": "17629:24:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", + "typeString": "struct TakeOrderConfigV2" + }, + "typeName": { + "id": 79142, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79141, + "name": "TakeOrderConfigV2", + "nameLocations": [ + "17629:17:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79026, + "src": "17629:17:181" + }, + "referencedDeclaration": 79026, + "src": "17629:17:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_storage_ptr", + "typeString": "struct TakeOrderConfigV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79145, + "indexed": false, + "mutability": "mutable", + "name": "input", + "nameLocation": "17663:5:181", + "nodeType": "VariableDeclaration", + "scope": 79149, + "src": "17655:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79144, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17655:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79147, + "indexed": false, + "mutability": "mutable", + "name": "output", + "nameLocation": "17678:6:181", + "nodeType": "VariableDeclaration", + "scope": 79149, + "src": "17670:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17670:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17612:73:181" + } + }, + { + "id": 79158, + "nodeType": "EventDefinition", + "src": "18126:70:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79150, + "nodeType": "StructuredDocumentation", + "src": "17692:429:181", + "text": "Emitted when attempting to match an order that either never existed or\n was removed. An event rather than an error so that we allow attempting\n many orders in a loop and NOT rollback on \"best effort\" basis to clear.\n @param sender `msg.sender` clearing the order that wasn't found.\n @param owner Owner of the order that was not found.\n @param orderHash Hash of the order that was not found." + }, + "eventSelector": "b70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3", + "name": "OrderNotFound", + "nameLocation": "18132:13:181", + "parameters": { + "id": 79157, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79152, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "18154:6:181", + "nodeType": "VariableDeclaration", + "scope": 79158, + "src": "18146:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18146:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79154, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "18170:5:181", + "nodeType": "VariableDeclaration", + "scope": 79158, + "src": "18162:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18162:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79156, + "indexed": false, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "18185:9:181", + "nodeType": "VariableDeclaration", + "scope": 79158, + "src": "18177:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 79155, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18177:7:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "18145:50:181" + } + }, + { + "id": 79167, + "nodeType": "EventDefinition", + "src": "18626:72:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79159, + "nodeType": "StructuredDocumentation", + "src": "18202:419:181", + "text": "Emitted when an order evaluates to a zero amount. An event rather than an\n error so that we allow attempting many orders in a loop and NOT rollback\n on a \"best effort\" basis to clear.\n @param sender `msg.sender` clearing the order that had a 0 amount.\n @param owner Owner of the order that evaluated to a 0 amount.\n @param orderHash Hash of the order that evaluated to a 0 amount." + }, + "eventSelector": "500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa", + "name": "OrderZeroAmount", + "nameLocation": "18632:15:181", + "parameters": { + "id": 79166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79161, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "18656:6:181", + "nodeType": "VariableDeclaration", + "scope": 79167, + "src": "18648:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18648:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79163, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "18672:5:181", + "nodeType": "VariableDeclaration", + "scope": 79167, + "src": "18664:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18664:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79165, + "indexed": false, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "18687:9:181", + "nodeType": "VariableDeclaration", + "scope": 79167, + "src": "18679:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 79164, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18679:7:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "18647:50:181" + } + }, + { + "id": 79176, + "nodeType": "EventDefinition", + "src": "19162:77:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79168, + "nodeType": "StructuredDocumentation", + "src": "18704:453:181", + "text": "Emitted when an order evaluates to a ratio exceeding the counterparty's\n maximum limit. An error rather than an error so that we allow attempting\n many orders in a loop and NOT rollback on a \"best effort\" basis to clear.\n @param sender `msg.sender` clearing the order that had an excess ratio.\n @param owner Owner of the order that had an excess ratio.\n @param orderHash Hash of the order that had an excess ratio." + }, + "eventSelector": "e3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5", + "name": "OrderExceedsMaxRatio", + "nameLocation": "19168:20:181", + "parameters": { + "id": 79175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79170, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "19197:6:181", + "nodeType": "VariableDeclaration", + "scope": 79176, + "src": "19189:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19189:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79172, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "19213:5:181", + "nodeType": "VariableDeclaration", + "scope": 79176, + "src": "19205:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19205:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79174, + "indexed": false, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "19228:9:181", + "nodeType": "VariableDeclaration", + "scope": 79176, + "src": "19220:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 79173, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19220:7:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "19188:50:181" + } + }, + { + "id": 79190, + "nodeType": "EventDefinition", + "src": "19584:81:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79177, + "nodeType": "StructuredDocumentation", + "src": "19245:334:181", + "text": "Emitted before two orders clear. Covers both orders and includes all the\n state before anything is calculated.\n @param sender `msg.sender` clearing both orders.\n @param alice One of the orders.\n @param bob The other order.\n @param clearConfig Additional config required to process the clearance." + }, + "eventSelector": "d153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa2", + "name": "Clear", + "nameLocation": "19590:5:181", + "parameters": { + "id": 79189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79179, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "19604:6:181", + "nodeType": "VariableDeclaration", + "scope": 79190, + "src": "19596:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19596:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79182, + "indexed": false, + "mutability": "mutable", + "name": "alice", + "nameLocation": "19620:5:181", + "nodeType": "VariableDeclaration", + "scope": 79190, + "src": "19612:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79181, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79180, + "name": "OrderV2", + "nameLocations": [ + "19612:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "19612:7:181" + }, + "referencedDeclaration": 79042, + "src": "19612:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79185, + "indexed": false, + "mutability": "mutable", + "name": "bob", + "nameLocation": "19635:3:181", + "nodeType": "VariableDeclaration", + "scope": 79190, + "src": "19627:11:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79184, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79183, + "name": "OrderV2", + "nameLocations": [ + "19627:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "19627:7:181" + }, + "referencedDeclaration": 79042, + "src": "19627:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79188, + "indexed": false, + "mutability": "mutable", + "name": "clearConfig", + "nameLocation": "19652:11:181", + "nodeType": "VariableDeclaration", + "scope": 79190, + "src": "19640:23:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_memory_ptr", + "typeString": "struct ClearConfig" + }, + "typeName": { + "id": 79187, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79186, + "name": "ClearConfig", + "nameLocations": [ + "19640:11:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78728, + "src": "19640:11:181" + }, + "referencedDeclaration": 78728, + "src": "19640:11:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_storage_ptr", + "typeString": "struct ClearConfig" + } + }, + "visibility": "internal" + } + ], + "src": "19595:69:181" + } + }, + { + "id": 79198, + "nodeType": "EventDefinition", + "src": "19944:68:181", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 79191, + "nodeType": "StructuredDocumentation", + "src": "19671:268:181", + "text": "Emitted after two orders clear. Includes all final state changes in the\n vault balances, including the clearer's vaults.\n @param sender `msg.sender` clearing the order.\n @param clearStateChange The final vault state changes from the clearance." + }, + "eventSelector": "3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d", + "name": "AfterClear", + "nameLocation": "19950:10:181", + "parameters": { + "id": 79197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79193, + "indexed": false, + "mutability": "mutable", + "name": "sender", + "nameLocation": "19969:6:181", + "nodeType": "VariableDeclaration", + "scope": 79198, + "src": "19961:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19961:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79196, + "indexed": false, + "mutability": "mutable", + "name": "clearStateChange", + "nameLocation": "19994:16:181", + "nodeType": "VariableDeclaration", + "scope": 79198, + "src": "19977:33:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", + "typeString": "struct ClearStateChange" + }, + "typeName": { + "id": 79195, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79194, + "name": "ClearStateChange", + "nameLocations": [ + "19977:16:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78737, + "src": "19977:16:181" + }, + "referencedDeclaration": 78737, + "src": "19977:16:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearStateChange_$78737_storage_ptr", + "typeString": "struct ClearStateChange" + } + }, + "visibility": "internal" + } + ], + "src": "19960:51:181" + } + }, + { + "id": 79210, + "nodeType": "FunctionDefinition", + "src": "20292:104:181", + "nodes": [], + "documentation": { + "id": 79199, + "nodeType": "StructuredDocumentation", + "src": "20018:269:181", + "text": "Get the current balance of a vault for a given owner, token and vault ID.\n @param owner The owner of the vault.\n @param token The token the vault is for.\n @param id The vault ID to read.\n @return balance The current balance of the vault." + }, + "functionSelector": "d97b2e48", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "vaultBalance", + "nameLocation": "20301:12:181", + "parameters": { + "id": 79206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79201, + "mutability": "mutable", + "name": "owner", + "nameLocation": "20322:5:181", + "nodeType": "VariableDeclaration", + "scope": 79210, + "src": "20314:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20314:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79203, + "mutability": "mutable", + "name": "token", + "nameLocation": "20337:5:181", + "nodeType": "VariableDeclaration", + "scope": 79210, + "src": "20329:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20329:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79205, + "mutability": "mutable", + "name": "id", + "nameLocation": "20352:2:181", + "nodeType": "VariableDeclaration", + "scope": 79210, + "src": "20344:10:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20344:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20313:42:181" + }, + "returnParameters": { + "id": 79209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79208, + "mutability": "mutable", + "name": "balance", + "nameLocation": "20387:7:181", + "nodeType": "VariableDeclaration", + "scope": 79210, + "src": "20379:15:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20379:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20378:17:181" + }, + "scope": 79289, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 79220, + "nodeType": "FunctionDefinition", + "src": "22006:74:181", + "nodes": [], + "documentation": { + "id": 79211, + "nodeType": "StructuredDocumentation", + "src": "21379:622:181", + "text": "Vault IDs are namespaced by the token address so there is no risk of\n collision between tokens. For example, vault ID 0 for token A is\n completely different to vault ID 0 for token B.\n `0` amount deposits are unsupported as underlying token contracts\n handle `0` value transfers differently and this would be a source of\n confusion. The order book MUST revert with `ZeroDepositAmount` if the\n amount is zero.\n @param token The token to deposit.\n @param vaultId The vault ID to deposit under.\n @param amount The amount of tokens to deposit." + }, + "functionSelector": "0efe6a8b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deposit", + "nameLocation": "22015:7:181", + "parameters": { + "id": 79218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79213, + "mutability": "mutable", + "name": "token", + "nameLocation": "22031:5:181", + "nodeType": "VariableDeclaration", + "scope": 79220, + "src": "22023:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22023:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79215, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "22046:7:181", + "nodeType": "VariableDeclaration", + "scope": 79220, + "src": "22038:15:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22038:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79217, + "mutability": "mutable", + "name": "amount", + "nameLocation": "22063:6:181", + "nodeType": "VariableDeclaration", + "scope": 79220, + "src": "22055:14:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22055:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22022:48:181" + }, + "returnParameters": { + "id": 79219, + "nodeType": "ParameterList", + "parameters": [], + "src": "22079:0:181" + }, + "scope": 79289, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 79230, + "nodeType": "FunctionDefinition", + "src": "23056:81:181", + "nodes": [], + "documentation": { + "id": 79221, + "nodeType": "StructuredDocumentation", + "src": "22086:965:181", + "text": "Allows the sender to withdraw any tokens from their own vaults. If the\n withrawer has an active flash loan debt denominated in the same token\n being withdrawn then Orderbook will merely reduce the debt and NOT send\n the amount of tokens repaid to the flashloan debt.\n MUST revert if the amount _requested_ to withdraw is zero. The withdrawal\n MAY still not move any tokens (without revert) if the vault balance is\n zero, or the withdrawal is used to repay a flash loan, or due to any\n other internal accounting.\n @param token The token to withdraw.\n @param vaultId The vault ID to withdraw from.\n @param targetAmount The amount of tokens to attempt to withdraw. MAY\n result in fewer tokens withdrawn if the vault balance is lower than the\n target amount. MAY NOT be zero, the order book MUST revert with\n `ZeroWithdrawTargetAmount` if the amount is zero." + }, + "functionSelector": "b5c5f672", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nameLocation": "23065:8:181", + "parameters": { + "id": 79228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79223, + "mutability": "mutable", + "name": "token", + "nameLocation": "23082:5:181", + "nodeType": "VariableDeclaration", + "scope": 79230, + "src": "23074:13:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 79222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23074:7:181", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79225, + "mutability": "mutable", + "name": "vaultId", + "nameLocation": "23097:7:181", + "nodeType": "VariableDeclaration", + "scope": 79230, + "src": "23089:15:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79224, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23089:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79227, + "mutability": "mutable", + "name": "targetAmount", + "nameLocation": "23114:12:181", + "nodeType": "VariableDeclaration", + "scope": 79230, + "src": "23106:20:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79226, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23106:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23073:54:181" + }, + "returnParameters": { + "id": 79229, + "nodeType": "ParameterList", + "parameters": [], + "src": "23136:0:181" + }, + "scope": 79289, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 79239, + "nodeType": "FunctionDefinition", + "src": "24497:86:181", + "nodes": [], + "documentation": { + "id": 79231, + "nodeType": "StructuredDocumentation", + "src": "23143:1349:181", + "text": "Given an order config, deploys the expression and builds the full `Order`\n for the config, then records it as an active order. Delegated adding an\n order is NOT supported. The `msg.sender` that adds an order is ALWAYS\n the owner and all resulting vault movements are their own.\n MUST revert with `OrderNoSources` if the order has no associated\n calculation and `OrderNoHandleIO` if the order has no handle IO\n entrypoint. The calculation MUST return at least two values from\n evaluation, the maximum amount and the IO ratio. The handle IO entrypoint\n SHOULD return zero values from evaluation. Either MAY revert during\n evaluation on the interpreter, which MUST prevent the order from\n clearing.\n MUST revert with `OrderNoInputs` if the order has no inputs.\n MUST revert with `OrderNoOutputs` if the order has no outputs.\n If the order already exists, the order book MUST NOT change state, which\n includes not emitting an event. Instead it MUST return false. If the\n order book modifies state it MUST emit an `AddOrder` event and return\n true.\n @param config All config required to build an `Order`.\n @return stateChanged True if the order was added, false if it already\n existed." + }, + "functionSelector": "847a1bc9", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addOrder", + "nameLocation": "24506:8:181", + "parameters": { + "id": 79235, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79234, + "mutability": "mutable", + "name": "config", + "nameLocation": "24538:6:181", + "nodeType": "VariableDeclaration", + "scope": 79239, + "src": "24515:29:181", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", + "typeString": "struct OrderConfigV2" + }, + "typeName": { + "id": 79233, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79232, + "name": "OrderConfigV2", + "nameLocations": [ + "24515:13:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79014, + "src": "24515:13:181" + }, + "referencedDeclaration": 79014, + "src": "24515:13:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderConfigV2_$79014_storage_ptr", + "typeString": "struct OrderConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "24514:31:181" + }, + "returnParameters": { + "id": 79238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79237, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "24569:12:181", + "nodeType": "VariableDeclaration", + "scope": 79239, + "src": "24564:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 79236, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24564:4:181", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "24563:19:181" + }, + "scope": 79289, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 79247, + "nodeType": "FunctionDefinition", + "src": "24771:76:181", + "nodes": [], + "documentation": { + "id": 79240, + "nodeType": "StructuredDocumentation", + "src": "24589:177:181", + "text": "Returns true if the order exists, false otherwise.\n @param orderHash The hash of the order to check.\n @return exists True if the order exists, false otherwise." + }, + "functionSelector": "2cb77e9f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "orderExists", + "nameLocation": "24780:11:181", + "parameters": { + "id": 79243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79242, + "mutability": "mutable", + "name": "orderHash", + "nameLocation": "24800:9:181", + "nodeType": "VariableDeclaration", + "scope": 79247, + "src": "24792:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 79241, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24792:7:181", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "24791:19:181" + }, + "returnParameters": { + "id": 79246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79245, + "mutability": "mutable", + "name": "exists", + "nameLocation": "24839:6:181", + "nodeType": "VariableDeclaration", + "scope": 79247, + "src": "24834:11:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 79244, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24834:4:181", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "24833:13:181" + }, + "scope": 79289, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 79256, + "nodeType": "FunctionDefinition", + "src": "25349:82:181", + "nodes": [], + "documentation": { + "id": 79248, + "nodeType": "StructuredDocumentation", + "src": "24853:491:181", + "text": "Order owner can remove their own orders. Delegated order removal is NOT\n supported and will revert. Removing an order multiple times or removing\n an order that never existed are valid, the event will be emitted and the\n transaction will complete with that order hash definitely, redundantly\n not live.\n @param order The `Order` data exactly as it was added.\n @return stateChanged True if the order was removed, false if it did not\n exist." + }, + "functionSelector": "e23746a3", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeOrder", + "nameLocation": "25358:11:181", + "parameters": { + "id": 79252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79251, + "mutability": "mutable", + "name": "order", + "nameLocation": "25387:5:181", + "nodeType": "VariableDeclaration", + "scope": 79256, + "src": "25370:22:181", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79250, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79249, + "name": "OrderV2", + "nameLocations": [ + "25370:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "25370:7:181" + }, + "referencedDeclaration": 79042, + "src": "25370:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + } + ], + "src": "25369:24:181" + }, + "returnParameters": { + "id": 79255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79254, + "mutability": "mutable", + "name": "stateChanged", + "nameLocation": "25417:12:181", + "nodeType": "VariableDeclaration", + "scope": 79256, + "src": "25412:17:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 79253, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25412:4:181", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "25411:19:181" + }, + "scope": 79289, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 79267, + "nodeType": "FunctionDefinition", + "src": "28038:131:181", + "nodes": [], + "documentation": { + "id": 79257, + "nodeType": "StructuredDocumentation", + "src": "25437:2596:181", + "text": "Allows `msg.sender` to attempt to fill a list of orders in sequence\n without needing to place their own order and clear them. This works like\n a market buy but against a specific set of orders. Every order will\n looped over and calculated individually then filled maximally until the\n request input is reached for the `msg.sender`. The `msg.sender` is\n responsible for selecting the best orders at the time according to their\n criteria and MAY specify a maximum IO ratio to guard against an order\n spiking the ratio beyond what the `msg.sender` expected and is\n comfortable with. As orders may be removed and calculate their ratios\n dynamically, all issues fulfilling an order other than misconfiguration\n by the `msg.sender` are no-ops and DO NOT revert the transaction. This\n allows the `msg.sender` to optimistically provide a list of orders that\n they aren't sure will completely fill at a good price, and fallback to\n more reliable orders further down their list. Misconfiguration such as\n token mismatches are errors that revert as this is known and static at\n all times to the `msg.sender` so MUST be provided correctly. `msg.sender`\n MAY specify a minimum input that MUST be reached across all orders in the\n list, otherwise the transaction will revert, this MAY be set to zero.\n Exactly like withdraw, if there is an active flash loan for `msg.sender`\n they will have their outstanding loan reduced by the final input amount\n preferentially before sending any tokens. Notably this allows arb bots\n implemented as flash loan borrowers to connect orders against external\n liquidity directly by paying back the loan with a `takeOrders` call and\n outputting the result of the external trade.\n Rounding errors always favour the order never the `msg.sender`.\n @param config The constraints and list of orders to take, orders are\n processed sequentially in order as provided, there is NO ATTEMPT onchain\n to predict/filter/sort these orders other than evaluating them as\n provided. Inputs and outputs are from the perspective of `msg.sender`\n except for values specified by the orders themselves which are the from\n the perspective of that order.\n @return totalInput Total tokens sent to `msg.sender`, taken from order\n vaults processed.\n @return totalOutput Total tokens taken from `msg.sender` and distributed\n between vaults." + }, + "functionSelector": "8a44689c", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "takeOrders", + "nameLocation": "28047:10:181", + "parameters": { + "id": 79261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79260, + "mutability": "mutable", + "name": "config", + "nameLocation": "28086:6:181", + "nodeType": "VariableDeclaration", + "scope": 79267, + "src": "28058:34:181", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", + "typeString": "struct TakeOrdersConfigV2" + }, + "typeName": { + "id": 79259, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79258, + "name": "TakeOrdersConfigV2", + "nameLocations": [ + "28058:18:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79055, + "src": "28058:18:181" + }, + "referencedDeclaration": 79055, + "src": "28058:18:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_storage_ptr", + "typeString": "struct TakeOrdersConfigV2" + } + }, + "visibility": "internal" + } + ], + "src": "28057:36:181" + }, + "returnParameters": { + "id": 79266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79263, + "mutability": "mutable", + "name": "totalInput", + "nameLocation": "28136:10:181", + "nodeType": "VariableDeclaration", + "scope": 79267, + "src": "28128:18:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28128:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79265, + "mutability": "mutable", + "name": "totalOutput", + "nameLocation": "28156:11:181", + "nodeType": "VariableDeclaration", + "scope": 79267, + "src": "28148:19:181", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28148:7:181", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "28127:41:181" + }, + "scope": 79289, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 79288, + "nodeType": "FunctionDefinition", + "src": "31358:234:181", + "nodes": [], + "documentation": { + "id": 79268, + "nodeType": "StructuredDocumentation", + "src": "28175:3178:181", + "text": "Allows `msg.sender` to match two live orders placed earlier by\n non-interactive parties and claim a bounty in the process. The clearer is\n free to select any two live orders on the order book for matching and as\n long as they have compatible tokens, ratios and amounts, the orders will\n clear. Clearing the orders DOES NOT remove them from the orderbook, they\n remain live until explicitly removed by their owner. Even if the input\n vault balances are completely emptied, the orders remain live until\n removed. This allows order owners to deploy a strategy over a long period\n of time and periodically top up the input vaults. Clearing two orders\n from the same owner is disallowed.\n Any mismatch in the ratios between the two orders will cause either more\n inputs than there are available outputs (transaction will revert) or less\n inputs than there are available outputs. In the latter case the excess\n outputs are given to the `msg.sender` of clear, to the vaults they\n specify in the clear config. This not only incentivises \"automatic\" clear\n calls for both alice and bob, but incentivises _prioritising greater\n ratio differences_ with a larger bounty. The second point is important\n because it implicitly prioritises orders that are further from the\n current market price, thus putting constant increasing pressure on the\n entire system the further it drifts from the norm, no matter how esoteric\n the individual order expressions and sizings might be.\n All else equal there are several factors that would impact how reliably\n some order clears relative to the wider market, such as:\n - Bounties are effectively percentages of cleared amounts so larger\n orders have larger bounties and cover gas costs more easily\n - High gas on the network means that orders are harder to clear\n profitably so the negative spread of the ratios will need to be larger\n - Complex and stateful expressions cost more gas to evalulate so the\n negative spread will need to be larger\n - Erratic behavior of the order owner could reduce the willingness of\n third parties to interact if it could result in wasted gas due to\n orders suddently being removed before clearance etc.\n - Dynamic and highly volatile words used in the expression could be\n ignored or low priority by clearers who want to be sure that they can\n accurately predict the ratios that they include in their clearance\n - Geopolitical issues such as sanctions and regulatory restrictions could\n cause issues for certain owners and clearers\n @param alice Some order to clear.\n @param bob Another order to clear.\n @param clearConfig Additional configuration for the clearance such as\n how to handle the bounty payment for the `msg.sender`.\n @param aliceSignedContext Optional signed context that is relevant to A.\n @param bobSignedContext Optional signed context that is relevant to B." + }, + "functionSelector": "9e18968b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "clear", + "nameLocation": "31367:5:181", + "parameters": { + "id": 79286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 79271, + "mutability": "mutable", + "name": "alice", + "nameLocation": "31397:5:181", + "nodeType": "VariableDeclaration", + "scope": 79288, + "src": "31382:20:181", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79270, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79269, + "name": "OrderV2", + "nameLocations": [ + "31382:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "31382:7:181" + }, + "referencedDeclaration": 79042, + "src": "31382:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79274, + "mutability": "mutable", + "name": "bob", + "nameLocation": "31427:3:181", + "nodeType": "VariableDeclaration", + "scope": 79288, + "src": "31412:18:181", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", + "typeString": "struct OrderV2" + }, + "typeName": { + "id": 79273, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79272, + "name": "OrderV2", + "nameLocations": [ + "31412:7:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 79042, + "src": "31412:7:181" + }, + "referencedDeclaration": 79042, + "src": "31412:7:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", + "typeString": "struct OrderV2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79277, + "mutability": "mutable", + "name": "clearConfig", + "nameLocation": "31461:11:181", + "nodeType": "VariableDeclaration", + "scope": 79288, + "src": "31440:32:181", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", + "typeString": "struct ClearConfig" + }, + "typeName": { + "id": 79276, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79275, + "name": "ClearConfig", + "nameLocations": [ + "31440:11:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78728, + "src": "31440:11:181" + }, + "referencedDeclaration": 78728, + "src": "31440:11:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ClearConfig_$78728_storage_ptr", + "typeString": "struct ClearConfig" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79281, + "mutability": "mutable", + "name": "aliceSignedContext", + "nameLocation": "31507:18:181", + "nodeType": "VariableDeclaration", + "scope": 79288, + "src": "31482:43:181", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 79279, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79278, + "name": "SignedContextV1", + "nameLocations": [ + "31482:15:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55640, + "src": "31482:15:181" + }, + "referencedDeclaration": 55640, + "src": "31482:15:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 79280, + "nodeType": "ArrayTypeName", + "src": "31482:17:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 79285, + "mutability": "mutable", + "name": "bobSignedContext", + "nameLocation": "31560:16:181", + "nodeType": "VariableDeclaration", + "scope": 79288, + "src": "31535:41:181", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", + "typeString": "struct SignedContextV1[]" + }, + "typeName": { + "baseType": { + "id": 79283, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 79282, + "name": "SignedContextV1", + "nameLocations": [ + "31535:15:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55640, + "src": "31535:15:181" + }, + "referencedDeclaration": 55640, + "src": "31535:15:181", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", + "typeString": "struct SignedContextV1" + } + }, + "id": 79284, + "nodeType": "ArrayTypeName", + "src": "31535:17:181", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", + "typeString": "struct SignedContextV1[]" + } + }, + "visibility": "internal" + } + ], + "src": "31372:210:181" + }, + "returnParameters": { + "id": 79287, + "nodeType": "ParameterList", + "parameters": [], + "src": "31591:0:181" + }, + "scope": 79289, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 79057, + "name": "IERC3156FlashLender", + "nameLocations": [ + "13173:19:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 78980, + "src": "13173:19:181" + }, + "id": 79058, + "nodeType": "InheritanceSpecifier", + "src": "13173:19:181" + }, + { + "baseName": { + "id": 79059, + "name": "IInterpreterCallerV2", + "nameLocations": [ + "13194:20:181" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 55660, + "src": "13194:20:181" + }, + "id": 79060, + "nodeType": "InheritanceSpecifier", + "src": "13194:20:181" + } + ], + "canonicalName": "IOrderBookV3", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 79056, + "nodeType": "StructuredDocumentation", + "src": "4446:8701:181", + "text": "@title IOrderBookV3\n @notice An orderbook that deploys _strategies_ represented as interpreter\n expressions rather than individual orders. The order book contract itself\n behaves similarly to an `ERC4626` vault but with much more fine grained\n control over how tokens are allocated and moved internally by their owners,\n and without any concept of \"shares\". Token owners MAY deposit and withdraw\n their tokens under arbitrary vault IDs on a per-token basis, then define\n orders that specify how tokens move between vaults according to an expression.\n The expression returns a maximum amount and a token input/output ratio from\n the perpective of the order. When two expressions intersect, as in their\n ratios are the inverse of each other, then tokens can move between vaults.\n For example, consider order A with input TKNA and output TKNB with a constant\n ratio of 100:1. This order in isolation has no ability to move tokens. If\n an order B appears with input TKNB and output TKNA and a ratio of 1:100 then\n this is a perfect match with order A. In this case 100 TKNA will move from\n order B to order A and 1 TKNB will move from order A to order B.\n IO ratios are always specified as input:output and are 18 decimal fixed point\n values. The maximum amount that can be moved in the current clearance is also\n set by the order expression as an 18 decimal fixed point value.\n Typically orders will not clear when their match is exactly 1:1 as the\n clearer needs to pay gas to process the match. Each order will get exactly\n the ratio it calculates when it does clear so if there is _overlap_ in the\n ratios then the clearer keeps the difference. In our above example, consider\n order B asking a ratio of 1:110 instead of 1:100. In this case 100 TKNA will\n move from order B to order A and 10 TKNA will move to the clearer's vault and\n 1 TKNB will move from order A to order B. In the case of fixed prices this is\n not very interesting as order B could more simply take order A directly for\n cheaper rather than involving a third party. Indeed, Orderbook supports a\n direct \"take orders\" method that works similar to a \"market buy\". In the case\n of dynamic expression based ratios, it allows both order A and order B to\n clear non-interactively according to their strategy, trading off active\n management, dealing with front-running, MEV, etc. for zero-gas and\n exact-ratio clearance.\n The general invariant for clearing and take orders is:\n ```\n ratioA = InputA / OutputA\n ratioB = InputB / OutputB\n ratioA * ratioB = ( InputA * InputB ) / ( OutputA * OutputB )\n OutputA >= InputB\n OutputB >= InputA\n ∴ ratioA * ratioB <= 1\n ```\n Orderbook is `IERC3156FlashLender` compliant with a 0 fee flash loan\n implementation to allow external liquidity from other onchain DEXes to match\n against orderbook expressions. All deposited tokens across all vaults are\n available for flashloan, the flashloan MAY BE REPAID BY CALLING TAKE ORDER\n such that Orderbook's liability to its vaults is decreased by an incoming\n trade from the flashloan borrower. See `ZeroExOrderBookFlashBorrower` for\n an example of how this works in practise.\n Orderbook supports many to many input/output token relationship, for example\n some order can specify an array of stables it would be willing to accept in\n return for some ETH. This removes the need for a combinatorial explosion of\n order strategies between like assets but introduces the issue of token\n decimal handling. End users understand that \"one\" USDT is roughly equal to\n \"one\" DAI, but onchain this is incorrect by _12 orders of magnitude_. This\n is because \"one\" DAI is `1e18` tokens and \"one\" USDT is `1e6` tokens. The\n orderbook is allowing orders to deploy expressions that define _economic\n equivalence_ but this doesn't map 1:1 with numeric equivalence in a many to\n many setup behind token decimal convensions. The solution is to require that\n end users who place orders provide the decimals of each token they include\n in their valid IO lists, and to calculate all amounts and ratios in their\n expressions _as though they were 18 decimal fixed point values_. Orderbook\n will then automatically rescale the expression values before applying the\n final vault movements. If an order provides the \"wrong\" decimal values for\n some token then it will simply calculate its own ratios and amounts\n incorrectly which will either lead to no matching orders or a very bad trade\n for the order owner. There is no way that misrepresenting decimals can attack\n some other order by a counterparty. Orderbook DOES NOT read decimals from\n tokens onchain because A. this would be gas for an external call to a cold\n token contract and B. the ERC20 standard specifically states NOT to read\n decimals from the interface onchain.\n Token amounts and ratios returned by calculate order MUST be 18 decimal fixed\n point values. Token amounts input to handle IO MUST be the exact absolute\n values that move between the vaults, i.e. NOT rescaled to 18 decimals. The\n author of the handle IO expression MUST use the token decimals and amounts to\n rescale themselves if they want that logic, notably the expression author\n will need to specify the desired rounding behaviour in the rescaling process.\n When two orders clear there are NO TOKEN MOVEMENTS, only internal vault\n balances are updated from the input and output vaults. Typically this results\n in less gas per clear than calling external token transfers and also avoids\n issues with reentrancy, allowances, external balances etc. This also means\n that REBASING TOKENS AND TOKENS WITH DYNAMIC BALANCE ARE NOT SUPPORTED.\n Orderbook ONLY WORKS IF TOKEN BALANCES ARE 1:1 WITH ADDITION/SUBTRACTION PER\n VAULT MOVEMENT.\n Dust due to rounding errors always favours the order. Output max is rounded\n down and IO ratios are rounded up. Input and output amounts are always\n converted to absolute values before applying to vault balances such that\n orderbook always retains fully collateralised inventory of underlying token\n balances to support withdrawals, with the caveat that dynamic token balanes\n are not supported.\n When an order clears it is NOT removed. Orders remain active until the owner\n deactivates them. This is gas efficient as order owners MAY deposit more\n tokens in a vault with an order against it many times and the order strategy\n will continue to be clearable according to its expression. As vault IDs are\n `uint256` values there are effectively infinite possible vaults for any token\n so there is no limit to how many active orders any address can have at one\n time. This also allows orders to be daisy chained arbitrarily where output\n vaults for some order are the input vaults for some other order.\n Expression storage is namespaced by order owner, so gets and sets are unique\n to each onchain address. Order owners MUST TAKE CARE not to override their\n storage sets globally across all their orders, which they can do most simply\n by hashing the order hash into their get/set keys inside the expression. This\n gives maximum flexibility for shared state across orders without allowing\n order owners to attack and overwrite values stored by orders placed by their\n counterparty.\n Note that each order specifies its own interpreter and deployer so the\n owner is responsible for not corrupting their own calculations with bad\n interpreters. This also means the Orderbook MUST assume the interpreter, and\n notably the interpreter's store, is malicious and guard against reentrancy\n etc.\n As Orderbook supports any expression that can run on any `IInterpreterV1` and\n counterparties are available to the order, order strategies are free to\n implement KYC/membership, tracking, distributions, stock, buybacks, etc. etc.\n Main differences between `IOrderBookV2` and `IOderBookV3`:\n - Most structs are now primitives to save gas.\n - Order hash is `bytes32`.\n - `deposit` and `withdraw` MUST revert if the amount is zero.\n - adding an order MUST revert if there is no calculation entrypoint.\n - adding an order MUST revert if there is no handle IO entrypoint.\n - adding an order MUST revert if there are no inputs.\n - adding an order MUST revert if there are no outputs.\n - adding and removing orders MUST return a boolean indicating if the state\n changed.\n - new `orderExists` method." + }, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 79289, + 55660, + 78980 + ], + "name": "IOrderBookV3", + "nameLocation": "13157:12:181", + "scope": 79290, + "usedErrors": [ + 79069, + 79078, + 79081, + 79084, + 79087, + 79090 + ] + } + ], + "license": "CAL" + }, + "id": 181 +} \ No newline at end of file diff --git a/orderbook-rs/src/orderbook/abi/OrderBook.json b/orderbook-rs/src/orderbook/abi/OrderBook.json deleted file mode 100644 index ca30a5ed7..000000000 --- a/orderbook-rs/src/orderbook/abi/OrderBook.json +++ /dev/null @@ -1,36239 +0,0 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "config", - "type": "tuple", - "internalType": "struct DeployerDiscoverableMetaV3ConstructionConfig", - "components": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "meta", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addOrder", - "inputs": [ - { - "name": "config", - "type": "tuple", - "internalType": "struct OrderConfigV2", - "components": [ - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "evaluableConfig", - "type": "tuple", - "internalType": "struct EvaluableConfigV3", - "components": [ - { - "name": "deployer", - "type": "address", - "internalType": "contract IExpressionDeployerV3" - }, - { - "name": "bytecode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "constants", - "type": "uint256[]", - "internalType": "uint256[]" - } - ] - }, - { - "name": "meta", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "stateChanged", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "clear", - "inputs": [ - { - "name": "aliceOrder", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "bobOrder", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "clearConfig", - "type": "tuple", - "internalType": "struct ClearConfig", - "components": [ - { - "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": "uint256" - } - ] - }, - { - "name": "aliceSignedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "bobSignedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashFee", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "contract IERC3156FlashBorrower" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "maxFlashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "multicall", - "inputs": [ - { - "name": "data", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "results", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "orderExists", - "inputs": [ - { - "name": "orderHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeOrder", - "inputs": [ - { - "name": "order", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "outputs": [ - { - "name": "stateChanged", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "takeOrders", - "inputs": [ - { - "name": "config", - "type": "tuple", - "internalType": "struct TakeOrdersConfigV2", - "components": [ - { - "name": "minimumInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maximumInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maximumIORatio", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "orders", - "type": "tuple[]", - "internalType": "struct TakeOrderConfigV2[]", - "components": [ - { - "name": "order", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "inputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "outputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "signedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ] - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "totalTakerInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalTakerOutput", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultBalance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "targetAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddOrder", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "expressionDeployer", - "type": "address", - "indexed": false, - "internalType": "contract IExpressionDeployerV3" - }, - { - "name": "order", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AfterClear", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "clearStateChange", - "type": "tuple", - "indexed": false, - "internalType": "struct ClearStateChange", - "components": [ - { - "name": "aliceOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bobOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "aliceInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bobInput", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Clear", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "alice", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "bob", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "clearConfig", - "type": "tuple", - "indexed": false, - "internalType": "struct ClearConfig", - "components": [ - { - "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": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Context", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[][]", - "indexed": false, - "internalType": "uint256[][]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MetaV1", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "subject", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "meta", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OrderExceedsMaxRatio", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OrderNotFound", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OrderZeroAmount", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveOrder", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "order", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TakeOrder", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "config", - "type": "tuple", - "indexed": false, - "internalType": "struct TakeOrderConfigV2", - "components": [ - { - "name": "order", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "inputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "outputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "signedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ] - }, - { - "name": "input", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "output", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "targetAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "FlashLenderCallbackFailed", - "inputs": [ - { - "name": "result", - "type": "bytes32", - "internalType": "bytes32" - } - ] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [ - { - "name": "i", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "MinimumInput", - "inputs": [ - { - "name": "minimumInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "input", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "NoOrders", - "inputs": [] - }, - { - "type": "error", - "name": "NotOrderOwner", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "NotRainMetaV1", - "inputs": [ - { - "name": "unmeta", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "OrderNoHandleIO", - "inputs": [] - }, - { - "type": "error", - "name": "OrderNoInputs", - "inputs": [] - }, - { - "type": "error", - "name": "OrderNoOutputs", - "inputs": [] - }, - { - "type": "error", - "name": "OrderNoSources", - "inputs": [] - }, - { - "type": "error", - "name": "SameOwner", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SourceIndexOutOfBounds", - "inputs": [ - { - "name": "bytecode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "sourceIndex", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "TokenDecimalsMismatch", - "inputs": [ - { - "name": "aliceTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "bobTokenDecimals", - "type": "uint8", - "internalType": "uint8" - } - ] - }, - { - "type": "error", - "name": "TokenMismatch", - "inputs": [ - { - "name": "aliceToken", - "type": "address", - "internalType": "address" - }, - { - "name": "bobToken", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedMetaHash", - "inputs": [ - { - "name": "expectedHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "actualHash", - "type": "bytes32", - "internalType": "bytes32" - } - ] - }, - { - "type": "error", - "name": "UnsupportedCalculateInputs", - "inputs": [ - { - "name": "inputs", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "UnsupportedCalculateOutputs", - "inputs": [ - { - "name": "outputs", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "UnsupportedHandleInputs", - "inputs": [ - { - "name": "inputs", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ZeroDepositAmount", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ZeroMaximumInput", - "inputs": [] - }, - { - "type": "error", - "name": "ZeroWithdrawTargetAmount", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200617038038062006170833981016040819052620000349162000303565b600160005560208101517f4383dd3c5a557f161038940161f880963e1d4a31e8f2da771427b891956ad8319082906200006f908390620000c6565b60208101516040517fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b1391620000a89133913091620003d1565b60405180910390a18051620000bd906200010d565b505050620004f7565b80516020820120828114620000fd5760405163074fe10f60e41b815260048101849052602481018290526044015b60405180910390fd5b6200010882620001c0565b505050565b60008080806001600160a01b03851663b7f14403826040519080825280602002602001820160405280156200014c578160200160208202803683370190505b506040518263ffffffff1660e01b81526004016200016b919062000403565b6000604051808303816000875af11580156200018b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001b591908101906200045a565b505050505050505050565b620001cb81620001f0565b620001ed5780604051630c89984b60e31b8152600401620000f49190620004db565b50565b60006008825110156200020557506000919050565b50600801516001600160401b031667ff0a89c674ee78741490565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114620001ed57600080fd5b60005b83811015620002695781810151838201526020016200024f565b50506000910152565b600082601f8301126200028457600080fd5b81516001600160401b0380821115620002a157620002a162000220565b604051601f8301601f19908116603f01168101908282118183101715620002cc57620002cc62000220565b81604052838152866020858801011115620002e657600080fd5b620002f98460208301602089016200024c565b9695505050505050565b6000602082840312156200031657600080fd5b81516001600160401b03808211156200032e57600080fd5b90830190604082860312156200034357600080fd5b60405160408101818110838211171562000361576200036162000220565b6040528251620003718162000236565b81526020830151828111156200038657600080fd5b620003948782860162000272565b60208301525095945050505050565b60008151808452620003bd8160208601602086016200024c565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000620003fa6060830184620003a3565b95945050505050565b60408152600060408201526000606082016020606081850152818551808452608086019150828701935060005b818110156200044e5784518352938301939183019160010162000430565b50909695505050505050565b600080600080608085870312156200047157600080fd5b84516200047e8162000236565b6020860151909450620004918162000236565b6040860151909350620004a48162000236565b60608601519092506001600160401b03811115620004c157600080fd5b620004cf8782880162000272565b91505092959194509250565b602081526000620004f06020830184620003a3565b9392505050565b615c6980620005076000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101dc578063d9d98ce4146101ef578063e23746a31461020557600080fd5b80639e18968b14610196578063ac9650d8146101a9578063b5c5f672146101c957600080fd5b8063613255ab116100b2578063613255ab1461013a578063847a1bc91461015b5780638a44689c1461016e57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610127575b600080fd5b6100ec6100e73660046144a0565b610218565b005b6101126100fc3660046144d5565b6000908152600160208190526040909120541490565b60405190151581526020015b60405180910390f35b6101126101353660046144ee565b61035f565b61014d61014836600461458d565b6104be565b60405190815260200161011e565b6101126101693660046145aa565b610555565b61018161017c3660046145e5565b610b63565b6040805192835260208301919091520161011e565b6100ec6101a4366004614af3565b611ae8565b6101bc6101b7366004614bde565b612232565b60405161011e9190614cc1565b6100ec6101d73660046144a0565b612327565b61014d6101ea366004614d41565b612499565b61014d6101fd366004614d82565b600092915050565b610112610213366004614dae565b6124dc565b61022061262f565b80600003610284576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a161030373ffffffffffffffffffffffffffffffffffffffff84163330846126a2565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120805483929061034b908490614e18565b90915550506001600055505050565b505050565b600061038273ffffffffffffffffffffffffffffffffffffffff86168786612784565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906103e19033908a908a9087908b908b90600401614e74565b6020604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104249190614ec6565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610482576040517f5b62c5480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b6104b18730610492600089614e18565b73ffffffffffffffffffffffffffffffffffffffff8a169291906126a2565b5060019695505050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190614ec6565b92915050565b600061055f61262f565b60006105b96105716040850185614edf565b61057f906020810190614f1d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127da92505050565b9050806000036105f5576040517fb3fc422c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060010361062f576040517ff209c2f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106398380614f82565b9050600003610674576040517f6c44ef8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106816020840184614f82565b90506000036106bc576040517f540e5f0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080806106ce6040880188614edf565b6106dc90602081019061458d565b73ffffffffffffffffffffffffffffffffffffffff1663b7f1440361070460408a018a614edf565b610712906020810190614f1d565b61071f60408c018c614edf565b61072d906040810190614fe9565b6040518563ffffffff1660e01b815260040161074c9493929190615051565b6000604051808303816000875af115801561076b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107b191908101906150b6565b602081015193975091955093509150600081901a90600181901a9060021a821561080a576040517f9a6f079e0000000000000000000000000000000000000000000000000000000081526004810184905260240161027b565b6002821015610848576040517f3eee39540000000000000000000000000000000000000000000000000000000081526004810183905260240161027b565b8015610883576040517f9d5f70980000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b50505060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600061090f8b80604001906108c49190614edf565b6108d2906020810190614f1d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506127f8915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff808a16825288811660208381019190915290881682840152830152016109578a80614f82565b808060200260200160405190810160405280939291908181526020016000905b828210156109a35761099460608302860136819003810190615168565b81526020019060010190610977565b505050505081526020018980602001906109bd9190614f82565b808060200260200160405190810160405280939291908181526020016000905b82821015610a09576109fa60608302860136819003810190615168565b815260200190600101906109dd565b505050505081525090506000610a1e82612811565b600081815260016020526040902054909150610b4d5760008181526001602081905260409182902081905598507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610a7b908c018c614edf565b610a8990602081019061458d565b8484604051610a9b9493929190615271565b60405180910390a16000610ab260608b018b614f1d565b90501115610b4d57610b04610aca60608b018b614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061284192505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610b3460608d018d614f1d565b604051610b4494939291906152bb565b60405180910390a15b50505050505050610b5e6001600055565b919050565b600080610b6e61262f565b610b7b6060840184614fe9565b9050600003610bb6576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e085018190526101008501819052918452830182905292820152818101919091526040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260606000610c6787830188614fe9565b6040805160206001939093018302810190915293508801359150506000819003610cbd576040517fc2ee700900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b610ccd6060890189614fe9565b905081108015610cdd5750600082115b156116f257610cef6060890189614fe9565b82818110610cff57610cff6152f1565b9050602002810190610d119190615320565b610d1a90615354565b80519095509350610d2e6060890189614fe9565b6000818110610d3f57610d3f6152f1565b9050602002810190610d519190615320565b610d5b90806153ee565b610d699060a0810190614f82565b610d7660608b018b614fe9565b6000818110610d8757610d876152f1565b9050602002810190610d999190615320565b60200135818110610dac57610dac6152f1565b610dc2926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460600151866020015181518110610df257610df26152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610f32578360600151856020015181518110610e3357610e336152f1565b602090810291909101015151610e4c60608a018a614fe9565b6000818110610e5d57610e5d6152f1565b9050602002810190610e6f9190615320565b610e7990806153ee565b610e879060a0810190614f82565b610e9460608c018c614fe9565b6000818110610ea557610ea56152f1565b9050602002810190610eb79190615320565b60200135818110610eca57610eca6152f1565b610ee0926020606090920201908101915061458d565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b610f3f6060890189614fe9565b6000818110610f5057610f506152f1565b9050602002810190610f629190615320565b610f6c90806153ee565b610f7a9060c0810190614f82565b610f8760608b018b614fe9565b6000818110610f9857610f986152f1565b9050602002810190610faa9190615320565b60400135818110610fbd57610fbd6152f1565b610fd3926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460800151866040015181518110611003576110036152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146110db578360800151856040015181518110611044576110446152f1565b60209081029190910101515161105d60608a018a614fe9565b600081811061106e5761106e6152f1565b90506020028101906110809190615320565b61108a90806153ee565b6110989060c0810190614f82565b6110a560608c018c614fe9565b60008181106110b6576110b66152f1565b90506020028101906110c89190615320565b60400135818110610eca57610eca6152f1565b6110e86060890189614fe9565b60008181106110f9576110f96152f1565b905060200281019061110b9190615320565b61111590806153ee565b6111239060a0810190614f82565b61113060608b018b614fe9565b6000818110611141576111416152f1565b90506020028101906111539190615320565b60200135818110611166576111666152f1565b905060600201602001602081019061117e9190615422565b60ff16846060015186602001518151811061119b5761119b6152f1565b60200260200101516020015160ff16146112ba5783606001518560200151815181106111c9576111c96152f1565b6020026020010151602001518880606001906111e59190614fe9565b60008181106111f6576111f66152f1565b90506020028101906112089190615320565b61121290806153ee565b6112209060a0810190614f82565b61122d60608c018c614fe9565b600081811061123e5761123e6152f1565b90506020028101906112509190615320565b60200135818110611263576112636152f1565b905060600201602001602081019061127b9190615422565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff92831660048201529116602482015260440161027b565b6112c76060890189614fe9565b60008181106112d8576112d86152f1565b90506020028101906112ea9190615320565b6112f490806153ee565b6113029060c0810190614f82565b61130f60608b018b614fe9565b6000818110611320576113206152f1565b90506020028101906113329190615320565b60400135818110611345576113456152f1565b905060600201602001602081019061135d9190615422565b60ff16846080015186604001518151811061137a5761137a6152f1565b60200260200101516020015160ff16146114425783608001518560400151815181106113a8576113a86152f1565b6020026020010151602001518880606001906113c49190614fe9565b60008181106113d5576113d56152f1565b90506020028101906113e79190615320565b6113f190806153ee565b6113ff9060c0810190614f82565b61140c60608c018c614fe9565b600081811061141d5761141d6152f1565b905060200281019061142f9190615320565b60400135818110611263576112636152f1565b600061144d85612811565b6000818152600160205260409020549091506114c05784516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a16116e9565b60006114db8688602001518960400151338b60600151612885565b905089604001358160600151111561154b5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a16116e7565b80604001516000036115ac5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa9060600161153e565b600086608001518860400151815181106115c8576115c86152f1565b6020908102919091018101510151604083015190915060006115ef8760ff85166002612fae565b9050808211156115fd578091505b5060008061161b85606001516001856130339092919063ffffffff16565b905061165b8a606001518c602001518151811061163a5761163a6152f1565b60200260200101516020015160ff166001836130519092919063ffffffff16565b9150600090506116708360ff86166002613051565b905061167c818961543d565b9750611688828d614e18565b9b506116958282876130b3565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338c83856040516116ca9493929190615480565b60405180910390a150508651600101808852602002870183905250505b505b50600101610cc0565b6117008260208a013561543d565b965050508535851015611749576040517f45094d88000000000000000000000000000000000000000000000000000000008152863560048201526024810186905260440161027b565b841561181257611812338661176160608a018a614fe9565b6000818110611772576117726152f1565b90506020028101906117849190615320565b61178e90806153ee565b61179c9060c0810190614f82565b6117a960608c018c614fe9565b60008181106117ba576117ba6152f1565b90506020028101906117cc9190615320565b604001358181106117df576117df6152f1565b6117f5926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169190612784565b60006118216080880188614f1d565b905011156119d4573363059bebe661183c6060890189614fe9565b600081811061184d5761184d6152f1565b905060200281019061185f9190615320565b61186990806153ee565b6118779060c0810190614f82565b61188460608b018b614fe9565b6000818110611895576118956152f1565b90506020028101906118a79190615320565b604001358181106118ba576118ba6152f1565b6118d0926020606090920201908101915061458d565b6118dd60608a018a614fe9565b60008181106118ee576118ee6152f1565b90506020028101906119009190615320565b61190a90806153ee565b6119189060a0810190614f82565b61192560608c018c614fe9565b6000818110611936576119366152f1565b90506020028101906119489190615320565b6020013581811061195b5761195b6152f1565b611971926020606090920201908101915061458d565b888861198060808d018d614f1d565b6040518763ffffffff1660e01b81526004016119a196959493929190614e74565b600060405180830381600087803b1580156119bb57600080fd5b505af11580156119cf573d6000803e3d6000fd5b505050505b8315611a9f57611a9f3330866119ed60608b018b614fe9565b60008181106119fe576119fe6152f1565b9050602002810190611a109190615320565b611a1a90806153ee565b611a289060a0810190614f82565b611a3560608d018d614fe9565b6000818110611a4657611a466152f1565b9050602002810190611a589190615320565b60200135818110611a6b57611a6b6152f1565b611a81926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169291906126a2565b60005b8151811015611ad557611acd828281518110611ac057611ac06152f1565b6020026020010151613376565b600101611aa2565b50505050611ae36001600055565b915091565b611af061262f565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611b605784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161027b565b8360600151836040013581518110611b7a57611b7a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bb657611bb66152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611c7b578460800151836020013581518110611bf757611bf76152f1565b6020026020010151600001518460600151846040013581518110611c1d57611c1d6152f1565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b8360600151836040013581518110611c9557611c956152f1565b60200260200101516020015160ff168560800151846020013581518110611cbe57611cbe6152f1565b60200260200101516020015160ff1614611d61578460800151836020013581518110611cec57611cec6152f1565b6020026020010151602001518460600151846040013581518110611d1257611d126152f1565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161027b92919060ff92831681529116602082015260400190565b606085015180518435908110611d7957611d796152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611db557611db56152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e1a57606085015180518435908110611df457611df46152f1565b6020026020010151600001518460800151846060013581518110611c1d57611c1d6152f1565b606085015180518435908110611e3257611e326152f1565b60200260200101516020015160ff168460800151846060013581518110611e5b57611e5b6152f1565b60200260200101516020015160ff1614611ead57606085015180518435908110611e8757611e876152f1565b6020026020010151602001518460800151846060013581518110611d1257611d126152f1565b600060016000611ebc88612811565b81526020019081526020016000205403611f3b577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f0088612811565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1612221565b600060016000611f4a87612811565b81526020019081526020016000205403611f8e577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f0087612811565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa233868686604051611fc394939291906155b0565b60405180910390a16000611fe68685600001358660200135886000015186612885565b9050600061200386866040013587606001358a6000015188612885565b9050600061201183836135b4565b905061202681604001518260000151856130b3565b61203981606001518260200151846130b3565b6060810151815160009161204c9161543d565b9050600082604001518360200151612064919061543d565b9050811561210a57336000908152600260209081526040822060808d01518051869492938d013590811061209a5761209a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60800135815260200190815260200160002060008282546121049190614e18565b90915550505b80156121ae5733600090815260026020526040812060808b015180518493919060608d013590811061213e5761213e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121a89190614e18565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a161221483613376565b61221d82613376565b5050505b61222b6001600055565b5050505050565b60608167ffffffffffffffff81111561224d5761224d614620565b60405190808252806020026020018201604052801561228057816020015b606081526020019060019003908161226b5790505b50905060005b82811015612320576122f0308585848181106122a4576122a46152f1565b90506020028101906122b69190614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061360a92505050565b828281518110612302576123026152f1565b602002602001018190525080806123189061563a565b915050612286565b5092915050565b61232f61262f565b8060000361238e576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff841660248201526044810183905260640161027b565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684528252808320858452909152812054906123d2838361362f565b9050801561248d576123e4818361543d565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a161248d73ffffffffffffffffffffffffffffffffffffffff86163383612784565b505061035a6001600055565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526002602090815260408083209386168352928152828220848352905220545b9392505050565b60006124e661262f565b6124f3602083018361458d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125855733612533602084018461458d565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b600061259861259384615672565b612811565b6000818152600160205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016126245760008181526001602081905260408083209290925590519092507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061261b9033908690859061574e565b60405180910390a15b50610b5e6001600055565b60026000540361269b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027b565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261277e9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613645565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261035a9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016126fc565b600081516000036127ed57506000919050565b506020015160001a90565b6000806128058484613754565b5160001a949350505050565b6000816040516020016128249190615853565b604051602081830303815290604052805190602001209050919050565b61284a81613785565b61288257806040517f644cc25800000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c0810191909152600061290787612811565b60408051600480825260a08201909252919250606091600091816020015b606081526020019060019003908161292557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff92831681830152918916606083015260808201905290915081600180038151811061298d5761298d6152f1565b6020026020010181905250612b22896060015189815181106129b1576129b16152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a815181106129e9576129e96152f1565b60200260200101516020015160ff168b606001518b81518110612a0e57612a0e6152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612a7557612a756152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612ad357612ad36152f1565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612b3857612b386152f1565b6020026020010181905250612c7e89608001518881518110612b5c57612b5c6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612b9457612b946152f1565b60200260200101516020015160ff168b608001518a81518110612bb957612bb96152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612c2057612c206152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612ad357612ad36152f1565b81600160040381518110612c9457612c946152f1565b6020026020010181905250612ca981866137b5565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98c6040015160200151612d0f863060009182526020526040902090565b612d208f6040015160400151613ac5565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16909152612d6c939291908a90602481016158e2565b600060405180830381865afa158015612d89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612dcf919081019061598a565b91509150600082600181518110612de857612de86152f1565b60200260200101519050600083600081518110612e0757612e076152f1565b602002602001015190506000600260008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612e6e57612e6e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612ecc57612ecc6152f1565b60200260200101516040015181526020019081526020016000205490506000612f258f608001518e81518110612f0457612f046152f1565b60200260200101516020015160ff16600084612fae9092919063ffffffff16565b905080841115612f33578093505b50506040805160028152602081018490528082018390526060810190915286600281518110612f6457612f646152f1565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b60008260121115612fe35760128390036002831615612fd957612fd18582613aee565b9150506124d5565b612fd18582613b74565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561302257612fd18582613bac565b612fd18582613bfa565b50826124d5565b60006130498484670de0b6b3a764000085613c1d565b949350505050565b60008260121115613074576012839003600183161561302257612fd18582613bac565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612fd957612fd18582613aee565b8281608001516003815181106130cb576130cb6152f1565b60200260200101516004815181106130e5576130e56152f1565b602002602001018181525050818160800151600481518110613109576131096152f1565b6020026020010151600481518110613123576131236152f1565b602090810291909101015282156132315780515173ffffffffffffffffffffffffffffffffffffffff16600090815260026020526040812060808301518051869391906003908110613177576131776152f1565b6020026020010151600081518110613191576131916152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106131ec576131ec6152f1565b6020026020010151600281518110613206576132066152f1565b60200260200101518152602001908152602001600020600082825461322b9190614e18565b90915550505b81156133345780515173ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604081206080830151805185939190600490811061327a5761327a6152f1565b6020026020010151600081518110613294576132946152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106132ef576132ef6152f1565b6020026020010151600281518110613309576133096152f1565b60200260200101518152602001908152602001600020600082825461332e919061543d565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f3382608001516040516133699291906159ee565b60405180910390a1505050565b60c08101515115613403578060000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016133d0929190615a1d565b600060405180830381600087803b1580156133ea57600080fd5b505af11580156133fe573d6000803e3d6000fd5b505050505b80516020015115612882576000808260000151604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98460000151604001516020015161345e8660a001513060009182526020526040902090565b61347387600001516040015160400151613c7a565b6080880151604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e088901b169091526134c39493929190602481016158e2565b600060405180830381865afa1580156134e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613526919081019061598a565b805191935091501561035a578260000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161357d929190615a1d565b600060405180830381600087803b15801561359757600080fd5b505af11580156135ab573d6000803e3d6000fd5b50505050505050565b6135df6040518060800160405280600081526020016000815260200160008152602001600081525090565b6135e98383613ca5565b825260408201526135fa8284613ca5565b6020830152606082015292915050565b60606124d58383604051806060016040528060278152602001615c4260279139613d6a565b600081831061363e57816124d5565b5090919050565b60006136a7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613def9092919063ffffffff16565b90508051600014806136c85750808060200190518101906136c89190615a36565b61035a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161027b565b600080613760846127da565b600202600101905060006137748585613dfe565b949091019093016020019392505050565b600060088251101561379957506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff8111156137d3576137d3614620565b6040519080825280602002602001820160405280156137fc578160200160208202803683370190505b509050600080845111613810576000613816565b83516001015b855160010101905060008167ffffffffffffffff81111561383957613839614620565b60405190808252806020026020018201604052801561386c57816020015b60608152602001906001900390816138575790505b5090506000613891604080516002815233602082015230818301526060810190915290565b8282815181106138a3576138a36152f1565b602002602001018190525060005b87518110156139015781806001019250508781815181106138d4576138d46152f1565b60200260200101518383815181106138ee576138ee6152f1565b60209081029190910101526001016138b1565b50855115613abb57808060010191505083828281518110613924576139246152f1565b602002602001018190525060005b8651811015613ab9576139e3878281518110613950576139506152f1565b6020026020010151600001516139c061398d8a8581518110613974576139746152f1565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b8984815181106139d2576139d26152f1565b602002602001015160400151613e55565b613a1c576040517f52bf98480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b868181518110613a2e57613a2e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613a6257613a626152f1565b6020026020010181815250508180600101925050868181518110613a8857613a886152f1565b602002602001015160200151838381518110613aa657613aa66152f1565b6020908102919091010152600101613932565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff000000001660021761054f565b6000604e8210613b2e578215613b24577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613b27565b60005b905061054f565b50600a81900a8281029083818381613b4857613b48615a53565b0414612320577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613049565b600a81900a613b838184615a82565b9050604e821061054f578215613ba357613b9e82600a615bb9565b6124d5565b50600092915050565b6000604e8210613bd0578215613bc3576001613bc6565b60005b60ff16905061054f565b600a82900a808481613be457613be4615a53565b0491508082028414612320575060010192915050565b6000604e821015613ba35781600a0a8381613c1757613c17615a53565b046124d5565b600080613c2b868686613ec6565b90506001836002811115613c4157613c41615bc5565b148015613c5e575060008480613c5957613c59615a53565b868809115b15613c7157613c6e600182614e18565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff00000000161761054f565b6000806000613cc88460600151600186604001516130339092919063ffffffff16565b604086015190915081811115613cdb5750805b613d1d866000015160800151876020015181518110613cfc57613cfc6152f1565b60200260200101516020015160ff166000836130519092919063ffffffff16565b92506000613d3b87606001516001846130339092919063ffffffff16565b9050613d5e86600001516080015187602001518151811061163a5761163a6152f1565b94505050509250929050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613d949190615bf4565b600060405180830381855af49150503d8060008114613dcf576040519150601f19603f3d011682016040523d82523d6000602084013e613dd4565b606091505b5091509150613de586838387613ff0565b9695505050505050565b60606130498484600085614090565b6000613e09836127da565b8210613e455782826040517f30489add00000000000000000000000000000000000000000000000000000000815260040161027b929190615c06565b50600202016003015161ffff1690565b6000806000613e6485856141a9565b90925090506000816004811115613e7d57613e7d615bc5565b148015613eb557508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613de55750613de58686866141ee565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003613f1e57838281613f1457613f14615a53565b04925050506124d5565b808411613f87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f770000000000000000000000604482015260640161027b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561408657825160000361407f5773ffffffffffffffffffffffffffffffffffffffff85163b61407f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027b565b5081613049565b613049838361434b565b606082471015614122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161027b565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161414b9190615bf4565b60006040518083038185875af1925050503d8060008114614188576040519150601f19603f3d011682016040523d82523d6000602084013e61418d565b606091505b509150915061419e87838387613ff0565b979650505050505050565b60008082516041036141df5760208301516040840151606085015160001a6141d38782858561438f565b945094505050506141e7565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614225929190615c28565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516142ae9190615bf4565b600060405180830381855afa9150503d80600081146142e9576040519150601f19603f3d011682016040523d82523d6000602084013e6142ee565b606091505b509150915081801561430257506020815110155b8015613de5575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906143409083016020908101908401614ec6565b149695505050505050565b81511561435b5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156143c65750600090506003614475565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561441a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661446e57600060019250925050614475565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461288257600080fd5b6000806000606084860312156144b557600080fd5b83356144c08161447e565b95602085013595506040909401359392505050565b6000602082840312156144e757600080fd5b5035919050565b60008060008060006080868803121561450657600080fd5b85356145118161447e565b945060208601356145218161447e565b935060408601359250606086013567ffffffffffffffff8082111561454557600080fd5b818801915088601f83011261455957600080fd5b81358181111561456857600080fd5b89602082850101111561457a57600080fd5b9699959850939650602001949392505050565b60006020828403121561459f57600080fd5b81356124d58161447e565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff8111156145d357600080fd5b8201608081850312156124d557600080fd5b6000602082840312156145f757600080fd5b813567ffffffffffffffff81111561460e57600080fd5b820160a081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561467257614672614620565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156146bf576146bf614620565b604052919050565b801515811461288257600080fd5b8035610b5e816146c7565b6000606082840312156146f257600080fd5b6146fa61464f565b905081356147078161447e565b815260208201356147178161447e565b6020820152604082013561472a8161447e565b604082015292915050565b600067ffffffffffffffff82111561474f5761474f614620565b5060051b60200190565b803560ff81168114610b5e57600080fd5b60006060828403121561477c57600080fd5b61478461464f565b905081356147918161447e565b815261479f60208301614759565b60208201526040820135604082015292915050565b600082601f8301126147c557600080fd5b813560206147da6147d583614735565b614678565b828152606092830285018201928282019190878511156147f957600080fd5b8387015b8581101561481c5761480f898261476a565b84529284019281016147fd565b5090979650505050505050565b600060e0828403121561483b57600080fd5b60405160a0810167ffffffffffffffff828210818311171561485f5761485f614620565b81604052829350843591506148738261447e565b818352614882602086016146d5565b602084015261489486604087016146e0565b604084015260a08501359150808211156148ad57600080fd5b6148b9868387016147b4565b606084015260c08501359150808211156148d257600080fd5b506148df858286016147b4565b6080830152505092915050565b600067ffffffffffffffff82111561490657614906614620565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261494357600080fd5b81356149516147d5826148ec565b81815284602083860101111561496657600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261499457600080fd5b813560206149a46147d583614735565b82815260059290921b840181019181810190868411156149c357600080fd5b8286015b84811015614ae857803567ffffffffffffffff808211156149e757600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614a1e5760008081fd5b614a2661464f565b86830135614a338161447e565b815260408381013583811115614a495760008081fd5b8401603f81018d13614a5b5760008081fd5b88810135614a6b6147d582614735565b81815260059190911b82018301908a8101908f831115614a8b5760008081fd5b928401925b82841015614aa95783358252928b0192908b0190614a90565b858c0152505050606084013583811115614ac35760008081fd5b614ad18d8a83880101614932565b9183019190915250855250509183019183016149c7565b509695505050505050565b6000806000806000858703610140811215614b0d57600080fd5b863567ffffffffffffffff80821115614b2557600080fd5b614b318a838b01614829565b97506020890135915080821115614b4757600080fd5b614b538a838b01614829565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614b8557600080fd5b604089019550610100890135925080831115614ba057600080fd5b614bac8a848b01614983565b9450610120890135925080831115614bc357600080fd5b5050614bd188828901614983565b9150509295509295909350565b60008060208385031215614bf157600080fd5b823567ffffffffffffffff80821115614c0957600080fd5b818501915085601f830112614c1d57600080fd5b813581811115614c2c57600080fd5b8660208260051b8501011115614c4157600080fd5b60209290920196919550909350505050565b60005b83811015614c6e578181015183820152602001614c56565b50506000910152565b60008151808452614c8f816020860160208601614c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614d34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614d22858351614c77565b94509285019290850190600101614ce8565b5092979650505050505050565b600080600060608486031215614d5657600080fd5b8335614d618161447e565b92506020840135614d718161447e565b929592945050506040919091013590565b60008060408385031215614d9557600080fd5b8235614da08161447e565b946020939093013593505050565b600060208284031215614dc057600080fd5b813567ffffffffffffffff811115614dd757600080fd5b820160e081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561054f5761054f614de9565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614eba60a083018486614e2b565b98975050505050505050565b600060208284031215614ed857600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614f1357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614f5257600080fd5b83018035915067ffffffffffffffff821115614f6d57600080fd5b6020019150368190038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614fb757600080fd5b83018035915067ffffffffffffffff821115614fd257600080fd5b60200191506060810236038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261501e57600080fd5b83018035915067ffffffffffffffff82111561503957600080fd5b6020019150600581901b36038213156141e757600080fd5b604081526000615065604083018688614e2b565b82810360208401528381527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84111561509d57600080fd5b8360051b80866020840137016020019695505050505050565b600080600080608085870312156150cc57600080fd5b84516150d78161447e565b60208601519094506150e88161447e565b60408601519093506150f98161447e565b606086015190925067ffffffffffffffff81111561511657600080fd5b8501601f8101871361512757600080fd5b80516151356147d5826148ec565b81815288602083850101111561514a57600080fd5b61515b826020830160208601614c53565b9598949750929550505050565b60006060828403121561517a57600080fd5b6124d5838361476a565b600081518084526020808501945080840160005b838110156151e3578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff16848901526040908101519088015260609096019590820190600101615198565b509495945050505050565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261525860e0850182615184565b9050608083015184820360c0860152613c718282615184565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526152aa60808301856151ee565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613de5606083018486614e2b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614f1357600080fd5b60006080823603121561536657600080fd5b6040516080810167ffffffffffffffff828210818311171561538a5761538a614620565b81604052843591508082111561539f57600080fd5b6153ab36838701614829565b8352602085013560208401526040850135604084015260608501359150808211156153d557600080fd5b506153e236828601614983565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21833603018112614f1357600080fd5b60006020828403121561543457600080fd5b6124d582614759565b8181038181111561054f5761054f614de9565b600081518084526020808501945080840160005b838110156151e357815187529582019590820190600101615464565b600073ffffffffffffffffffffffffffffffffffffffff8087168352602060808185015286516080808601526154ba6101008601826151ee565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615593577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b85015261556788850182615450565b91890151848303858b015291905061557f8183614c77565b968b0196958b01959350505060010161551b565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526155e0818401876151ee565b905082810360408401526155f481866151ee565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566b5761566b614de9565b5060010190565b600061054f3683614829565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126156b357600080fd5b830160208101925035905067ffffffffffffffff8111156156d357600080fd5b6060810236038213156141e757600080fd5b8183526000602080850194508260005b858110156151e35781356157088161447e565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61572d838501614759565b168784015260408281013590880152606096870196909101906001016156f5565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561577c8161447e565b811660608401526020850135615791816146c7565b1515608084015260408501356157a68161447e565b811660a084015260608501356157bb8161447e565b811660c084015260808501356157d08161447e565b1660e08301526157e360a085018561567e565b60e06101008501526157fa610140850182846156e5565b91505061580a60c086018661567e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526158408382846156e5565b9350505050826040830152949350505050565b6020815260006124d560208301846151ee565b6020815260006124d56020830184614c77565b600082825180855260208086019550808260051b84010181860160005b8481101561481c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08684030189526158d0838351615450565b98840198925090830190600101615896565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260a06060820152600061591d60a0830185615879565b8281036080840152614eba8185615450565b600082601f83011261594057600080fd5b815160206159506147d583614735565b82815260059290921b8401810191818101908684111561596f57600080fd5b8286015b84811015614ae85780518352918301918301615973565b6000806040838503121561599d57600080fd5b825167ffffffffffffffff808211156159b557600080fd5b6159c18683870161592f565b935060208501519150808211156159d757600080fd5b506159e48582860161592f565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006130496040830184615879565b8281526040602082015260006130496040830184615450565b600060208284031215615a4857600080fd5b81516124d5816146c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761054f5761054f614de9565b600181815b80851115615af257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615ad857615ad8614de9565b80851615615ae557918102915b93841c9390800290615a9e565b509250929050565b600082615b095750600161054f565b81615b165750600061054f565b8160018114615b2c5760028114615b3657615b52565b600191505061054f565b60ff841115615b4757615b47614de9565b50506001821b61054f565b5060208310610133831016604e8410600b8410161715615b75575081810a61054f565b615b7f8383615a99565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615bb157615bb1614de9565b029392505050565b60006124d58383615afa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251614f13818460208701614c53565b604081526000615c196040830185614c77565b90508260208301529392505050565b8281526040602082015260006130496040830184614c7756fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "10600:36632:172:-:0;;;12442:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1716:1:22;8010:75:172;1821:22:22;1109:11:71;;;;8018:66:172;;12567:6;;1075:46:71;;8018:66:172;;1075:23:71;:46::i;:::-;1188:11;;;;1136:64;;;;;;1143:10;;1179:4;;1136:64;:::i;:::-;;;;;;;;1250:15;;1210:56;;:39;:56::i;:::-;975:298;;12442:139:172;10600:36632;;1424:292:153;1538:16;;;;;;1568:28;;;1564:112;;1619:46;;-1:-1:-1;;;1619:46:153;;;;;3007:25:227;;;3048:18;;;3041:34;;;2980:18;;1619:46:153;;;;;;;;1564:112;1685:24;1703:5;1685:17;:24::i;:::-;1506:210;1424:292;;:::o;1111:293:88:-;1174:26;;;;-1:-1:-1;;;;;1280:49:88;;;1174:26;1334:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1334:16:88;;1280:71;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1280:71:88;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;1111:293:88:o;1075:155:153:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;-1:-1:-1;;;1193:20:153;;;;;;;;:::i;1146:78::-;1075:155;:::o;550:376::-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:153;;550:376;-1:-1:-1;550:376:153:o;631:34::-;-1:-1:-1;846:1:153;835:13;829:20;-1:-1:-1;;;;;825:32:153;667:18:152;883:36:153;;550:376::o;14:127:227:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:227;;211:42;;201:70;;267:1;264;257:12;282:250;367:1;377:113;391:6;388:1;385:13;377:113;;;467:11;;;461:18;448:11;;;441:39;413:2;406:10;377:113;;;-1:-1:-1;;524:1:227;506:16;;499:27;282:250::o;537:698::-;590:5;643:3;636:4;628:6;624:17;620:27;610:55;;661:1;658;651:12;610:55;684:13;;-1:-1:-1;;;;;746:10:227;;;743:36;;;759:18;;:::i;:::-;834:2;828:9;802:2;888:13;;-1:-1:-1;;884:22:227;;;908:2;880:31;876:40;864:53;;;932:18;;;952:22;;;929:46;926:72;;;978:18;;:::i;:::-;1018:10;1014:2;1007:22;1053:2;1045:6;1038:18;1099:3;1092:4;1087:2;1079:6;1075:15;1071:26;1068:35;1065:55;;;1116:1;1113;1106:12;1065:55;1129:76;1202:2;1195:4;1187:6;1183:17;1176:4;1168:6;1164:17;1129:76;:::i;:::-;1223:6;537:698;-1:-1:-1;;;;;;537:698:227:o;1240:923::-;1373:6;1426:2;1414:9;1405:7;1401:23;1397:32;1394:52;;;1442:1;1439;1432:12;1394:52;1469:16;;-1:-1:-1;;;;;1534:14:227;;;1531:34;;;1561:1;1558;1551:12;1531:34;1584:22;;;;1640:4;1622:16;;;1618:27;1615:47;;;1658:1;1655;1648:12;1615:47;1691:4;1685:11;1735:4;1727:6;1723:17;1790:6;1778:10;1775:22;1770:2;1758:10;1755:18;1752:46;1749:72;;;1801:18;;:::i;:::-;1837:4;1830:24;1876:9;;1894:31;1876:9;1894:31;:::i;:::-;1934:21;;1994:2;1986:11;;1980:18;2010:16;;;2007:36;;;2039:1;2036;2029:12;2007:36;2076:55;2123:7;2112:8;2108:2;2104:17;2076:55;:::i;:::-;2071:2;2059:15;;2052:80;-1:-1:-1;2063:6:227;1240:923;-1:-1:-1;;;;;1240:923:227:o;2168:270::-;2209:3;2247:5;2241:12;2274:6;2269:3;2262:19;2290:76;2359:6;2352:4;2347:3;2343:14;2336:4;2329:5;2325:16;2290:76;:::i;:::-;2420:2;2399:15;-1:-1:-1;;2395:29:227;2386:39;;;;2427:4;2382:50;;2168:270;-1:-1:-1;;2168:270:227:o;2443:385::-;2675:1;2671;2666:3;2662:11;2658:19;2650:6;2646:32;2635:9;2628:51;2715:6;2710:2;2699:9;2695:18;2688:34;2758:2;2753;2742:9;2738:18;2731:30;2609:4;2778:44;2818:2;2807:9;2803:18;2795:6;2778:44;:::i;:::-;2770:52;2443:385;-1:-1:-1;;;;;2443:385:227:o;3086:827::-;3365:2;3354:9;3347:21;3404:1;3399:2;3388:9;3384:18;3377:29;3328:4;3449:2;3438:9;3434:18;3471:4;3511:2;3506;3495:9;3491:18;3484:30;3534:11;3574:6;3568:13;3610:6;3597:11;3590:27;3648:3;3637:9;3633:19;3626:26;;3687:2;3679:6;3675:15;3661:29;;3708:1;3718:169;3732:6;3729:1;3726:13;3718:169;;;3793:13;;3781:26;;3862:15;;;;3827:12;;;;3754:1;3747:9;3718:169;;;-1:-1:-1;3904:3:227;;3086:827;-1:-1:-1;;;;;;3086:827:227:o;3918:785::-;4077:6;4085;4093;4101;4154:3;4142:9;4133:7;4129:23;4125:33;4122:53;;;4171:1;4168;4161:12;4122:53;4203:9;4197:16;4222:31;4247:5;4222:31;:::i;:::-;4322:2;4307:18;;4301:25;4272:5;;-1:-1:-1;4335:33:227;4301:25;4335:33;:::i;:::-;4439:2;4424:18;;4418:25;4387:7;;-1:-1:-1;4452:33:227;4418:25;4452:33;:::i;:::-;4555:2;4540:18;;4534:25;4504:7;;-1:-1:-1;;;;;;4571:30:227;;4568:50;;;4614:1;4611;4604:12;4568:50;4637:60;4689:7;4680:6;4669:9;4665:22;4637:60;:::i;:::-;4627:70;;;3918:785;;;;;;;:::o;4708:217::-;4855:2;4844:9;4837:21;4818:4;4875:44;4915:2;4904:9;4900:18;4892:6;4875:44;:::i;:::-;4867:52;4708:217;-1:-1:-1;;;4708:217:227:o;:::-;10600:36632:172;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639e18968b11610081578063d97b2e481161005b578063d97b2e48146101dc578063d9d98ce4146101ef578063e23746a31461020557600080fd5b80639e18968b14610196578063ac9650d8146101a9578063b5c5f672146101c957600080fd5b8063613255ab116100b2578063613255ab1461013a578063847a1bc91461015b5780638a44689c1461016e57600080fd5b80630efe6a8b146100d95780632cb77e9f146100ee5780635cffe9de14610127575b600080fd5b6100ec6100e73660046144a0565b610218565b005b6101126100fc3660046144d5565b6000908152600160208190526040909120541490565b60405190151581526020015b60405180910390f35b6101126101353660046144ee565b61035f565b61014d61014836600461458d565b6104be565b60405190815260200161011e565b6101126101693660046145aa565b610555565b61018161017c3660046145e5565b610b63565b6040805192835260208301919091520161011e565b6100ec6101a4366004614af3565b611ae8565b6101bc6101b7366004614bde565b612232565b60405161011e9190614cc1565b6100ec6101d73660046144a0565b612327565b61014d6101ea366004614d41565b612499565b61014d6101fd366004614d82565b600092915050565b610112610213366004614dae565b6124dc565b61022061262f565b80600003610284576040517f40e97a5e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84166024820152604481018390526064015b60405180910390fd5b6040805133815273ffffffffffffffffffffffffffffffffffffffff85166020820152908101839052606081018290527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79060800160405180910390a161030373ffffffffffffffffffffffffffffffffffffffff84163330846126a2565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845282528083208584529091528120805483929061034b908490614e18565b90915550506001600055505050565b505050565b600061038273ffffffffffffffffffffffffffffffffffffffff86168786612784565b6040517f23e30c8b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906323e30c8b906103e19033908a908a9087908b908b90600401614e74565b6020604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104249190614ec6565b90507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98114610482576040517f5b62c5480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b6104b18730610492600089614e18565b73ffffffffffffffffffffffffffffffffffffffff8a169291906126a2565b5060019695505050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190614ec6565b92915050565b600061055f61262f565b60006105b96105716040850185614edf565b61057f906020810190614f1d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127da92505050565b9050806000036105f5576040517fb3fc422c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060010361062f576040517ff209c2f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106398380614f82565b9050600003610674576040517f6c44ef8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106816020840184614f82565b90506000036106bc576040517f540e5f0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080806106ce6040880188614edf565b6106dc90602081019061458d565b73ffffffffffffffffffffffffffffffffffffffff1663b7f1440361070460408a018a614edf565b610712906020810190614f1d565b61071f60408c018c614edf565b61072d906040810190614fe9565b6040518563ffffffff1660e01b815260040161074c9493929190615051565b6000604051808303816000875af115801561076b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107b191908101906150b6565b602081015193975091955093509150600081901a90600181901a9060021a821561080a576040517f9a6f079e0000000000000000000000000000000000000000000000000000000081526004810184905260240161027b565b6002821015610848576040517f3eee39540000000000000000000000000000000000000000000000000000000081526004810183905260240161027b565b8015610883576040517f9d5f70980000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b50505060006040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600061090f8b80604001906108c49190614edf565b6108d2906020810190614f1d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506127f8915050565b1181526040805160608101825273ffffffffffffffffffffffffffffffffffffffff808a16825288811660208381019190915290881682840152830152016109578a80614f82565b808060200260200160405190810160405280939291908181526020016000905b828210156109a35761099460608302860136819003810190615168565b81526020019060010190610977565b505050505081526020018980602001906109bd9190614f82565b808060200260200160405190810160405280939291908181526020016000905b82821015610a09576109fa60608302860136819003810190615168565b815260200190600101906109dd565b505050505081525090506000610a1e82612811565b600081815260016020526040902054909150610b4d5760008181526001602081905260409182902081905598507f6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf903390610a7b908c018c614edf565b610a8990602081019061458d565b8484604051610a9b9493929190615271565b60405180910390a16000610ab260608b018b614f1d565b90501115610b4d57610b04610aca60608b018b614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061284192505050565b7fbea766d03fa1efd3f81cc8634d08320bc62bb0ed9234ac59bbaafa5893fb6b133382610b3460608d018d614f1d565b604051610b4494939291906152bb565b60405180910390a15b50505050505050610b5e6001600055565b919050565b600080610b6e61262f565b610b7b6060840184614fe9565b9050600003610bb6576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516101208101825260006080820181815260a08301829052835160608082018652838252602080830185905282870185905260c086019290925260e085018190526101008501819052918452830182905292820152818101919091526040805160a081018252600080825260208083018290528351606080820186528382529181018390528085019290925292820152818101829052608081019190915260606000610c6787830188614fe9565b6040805160206001939093018302810190915293508801359150506000819003610cbd576040517fc2ee700900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b610ccd6060890189614fe9565b905081108015610cdd5750600082115b156116f257610cef6060890189614fe9565b82818110610cff57610cff6152f1565b9050602002810190610d119190615320565b610d1a90615354565b80519095509350610d2e6060890189614fe9565b6000818110610d3f57610d3f6152f1565b9050602002810190610d519190615320565b610d5b90806153ee565b610d699060a0810190614f82565b610d7660608b018b614fe9565b6000818110610d8757610d876152f1565b9050602002810190610d999190615320565b60200135818110610dac57610dac6152f1565b610dc2926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460600151866020015181518110610df257610df26152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614610f32578360600151856020015181518110610e3357610e336152f1565b602090810291909101015151610e4c60608a018a614fe9565b6000818110610e5d57610e5d6152f1565b9050602002810190610e6f9190615320565b610e7990806153ee565b610e879060a0810190614f82565b610e9460608c018c614fe9565b6000818110610ea557610ea56152f1565b9050602002810190610eb79190615320565b60200135818110610eca57610eca6152f1565b610ee0926020606090920201908101915061458d565b6040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b610f3f6060890189614fe9565b6000818110610f5057610f506152f1565b9050602002810190610f629190615320565b610f6c90806153ee565b610f7a9060c0810190614f82565b610f8760608b018b614fe9565b6000818110610f9857610f986152f1565b9050602002810190610faa9190615320565b60400135818110610fbd57610fbd6152f1565b610fd3926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff168460800151866040015181518110611003576110036152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16146110db578360800151856040015181518110611044576110446152f1565b60209081029190910101515161105d60608a018a614fe9565b600081811061106e5761106e6152f1565b90506020028101906110809190615320565b61108a90806153ee565b6110989060c0810190614f82565b6110a560608c018c614fe9565b60008181106110b6576110b66152f1565b90506020028101906110c89190615320565b60400135818110610eca57610eca6152f1565b6110e86060890189614fe9565b60008181106110f9576110f96152f1565b905060200281019061110b9190615320565b61111590806153ee565b6111239060a0810190614f82565b61113060608b018b614fe9565b6000818110611141576111416152f1565b90506020028101906111539190615320565b60200135818110611166576111666152f1565b905060600201602001602081019061117e9190615422565b60ff16846060015186602001518151811061119b5761119b6152f1565b60200260200101516020015160ff16146112ba5783606001518560200151815181106111c9576111c96152f1565b6020026020010151602001518880606001906111e59190614fe9565b60008181106111f6576111f66152f1565b90506020028101906112089190615320565b61121290806153ee565b6112209060a0810190614f82565b61122d60608c018c614fe9565b600081811061123e5761123e6152f1565b90506020028101906112509190615320565b60200135818110611263576112636152f1565b905060600201602001602081019061127b9190615422565b6040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260ff92831660048201529116602482015260440161027b565b6112c76060890189614fe9565b60008181106112d8576112d86152f1565b90506020028101906112ea9190615320565b6112f490806153ee565b6113029060c0810190614f82565b61130f60608b018b614fe9565b6000818110611320576113206152f1565b90506020028101906113329190615320565b60400135818110611345576113456152f1565b905060600201602001602081019061135d9190615422565b60ff16846080015186604001518151811061137a5761137a6152f1565b60200260200101516020015160ff16146114425783608001518560400151815181106113a8576113a86152f1565b6020026020010151602001518880606001906113c49190614fe9565b60008181106113d5576113d56152f1565b90506020028101906113e79190615320565b6113f190806153ee565b6113ff9060c0810190614f82565b61140c60608c018c614fe9565b600081811061141d5761141d6152f1565b905060200281019061142f9190615320565b60400135818110611263576112636152f1565b600061144d85612811565b6000818152600160205260409020549091506114c05784516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018290527fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f39060600160405180910390a16116e9565b60006114db8688602001518960400151338b60600151612885565b905089604001358160600151111561154b5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527fe3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5906060015b60405180910390a16116e7565b80604001516000036115ac5785516040805133815273ffffffffffffffffffffffffffffffffffffffff909216602083015281018390527f500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa9060600161153e565b600086608001518860400151815181106115c8576115c86152f1565b6020908102919091018101510151604083015190915060006115ef8760ff85166002612fae565b9050808211156115fd578091505b5060008061161b85606001516001856130339092919063ffffffff16565b905061165b8a606001518c602001518151811061163a5761163a6152f1565b60200260200101516020015160ff166001836130519092919063ffffffff16565b9150600090506116708360ff86166002613051565b905061167c818961543d565b9750611688828d614e18565b9b506116958282876130b3565b7f219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542338c83856040516116ca9493929190615480565b60405180910390a150508651600101808852602002870183905250505b505b50600101610cc0565b6117008260208a013561543d565b965050508535851015611749576040517f45094d88000000000000000000000000000000000000000000000000000000008152863560048201526024810186905260440161027b565b841561181257611812338661176160608a018a614fe9565b6000818110611772576117726152f1565b90506020028101906117849190615320565b61178e90806153ee565b61179c9060c0810190614f82565b6117a960608c018c614fe9565b60008181106117ba576117ba6152f1565b90506020028101906117cc9190615320565b604001358181106117df576117df6152f1565b6117f5926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169190612784565b60006118216080880188614f1d565b905011156119d4573363059bebe661183c6060890189614fe9565b600081811061184d5761184d6152f1565b905060200281019061185f9190615320565b61186990806153ee565b6118779060c0810190614f82565b61188460608b018b614fe9565b6000818110611895576118956152f1565b90506020028101906118a79190615320565b604001358181106118ba576118ba6152f1565b6118d0926020606090920201908101915061458d565b6118dd60608a018a614fe9565b60008181106118ee576118ee6152f1565b90506020028101906119009190615320565b61190a90806153ee565b6119189060a0810190614f82565b61192560608c018c614fe9565b6000818110611936576119366152f1565b90506020028101906119489190615320565b6020013581811061195b5761195b6152f1565b611971926020606090920201908101915061458d565b888861198060808d018d614f1d565b6040518763ffffffff1660e01b81526004016119a196959493929190614e74565b600060405180830381600087803b1580156119bb57600080fd5b505af11580156119cf573d6000803e3d6000fd5b505050505b8315611a9f57611a9f3330866119ed60608b018b614fe9565b60008181106119fe576119fe6152f1565b9050602002810190611a109190615320565b611a1a90806153ee565b611a289060a0810190614f82565b611a3560608d018d614fe9565b6000818110611a4657611a466152f1565b9050602002810190611a589190615320565b60200135818110611a6b57611a6b6152f1565b611a81926020606090920201908101915061458d565b73ffffffffffffffffffffffffffffffffffffffff169291906126a2565b60005b8151811015611ad557611acd828281518110611ac057611ac06152f1565b6020026020010151613376565b600101611aa2565b50505050611ae36001600055565b915091565b611af061262f565b8351855173ffffffffffffffffffffffffffffffffffffffff918216911603611b605784516040517f227e4ce900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161027b565b8360600151836040013581518110611b7a57611b7a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168560800151846020013581518110611bb657611bb66152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611c7b578460800151836020013581518110611bf757611bf76152f1565b6020026020010151600001518460600151846040013581518110611c1d57611c1d6152f1565b6020908102919091010151516040517ff902523f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b8360600151836040013581518110611c9557611c956152f1565b60200260200101516020015160ff168560800151846020013581518110611cbe57611cbe6152f1565b60200260200101516020015160ff1614611d61578460800151836020013581518110611cec57611cec6152f1565b6020026020010151602001518460600151846040013581518110611d1257611d126152f1565b6020026020010151602001516040517f0f6ce47700000000000000000000000000000000000000000000000000000000815260040161027b92919060ff92831681529116602082015260400190565b606085015180518435908110611d7957611d796152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168460800151846060013581518110611db557611db56152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614611e1a57606085015180518435908110611df457611df46152f1565b6020026020010151600001518460800151846060013581518110611c1d57611c1d6152f1565b606085015180518435908110611e3257611e326152f1565b60200260200101516020015160ff168460800151846060013581518110611e5b57611e5b6152f1565b60200260200101516020015160ff1614611ead57606085015180518435908110611e8757611e876152f1565b6020026020010151602001518460800151846060013581518110611d1257611d126152f1565b600060016000611ebc88612811565b81526020019081526020016000205403611f3b577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338660000151611f0088612811565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681529390921660208401529082015260600160405180910390a1612221565b600060016000611f4a87612811565b81526020019081526020016000205403611f8e577fb70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3338560000151611f0087612811565b7fd153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa233868686604051611fc394939291906155b0565b60405180910390a16000611fe68685600001358660200135886000015186612885565b9050600061200386866040013587606001358a6000015188612885565b9050600061201183836135b4565b905061202681604001518260000151856130b3565b61203981606001518260200151846130b3565b6060810151815160009161204c9161543d565b9050600082604001518360200151612064919061543d565b9050811561210a57336000908152600260209081526040822060808d01518051869492938d013590811061209a5761209a6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60800135815260200190815260200160002060008282546121049190614e18565b90915550505b80156121ae5733600090815260026020526040812060808b015180518493919060608d013590811061213e5761213e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a60a00135815260200190815260200160002060008282546121a89190614e18565b90915550505b5050604080513381528251602080830191909152830151818301529082015160608083019190915282015160808201527f3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d9060a00160405180910390a161221483613376565b61221d82613376565b5050505b61222b6001600055565b5050505050565b60608167ffffffffffffffff81111561224d5761224d614620565b60405190808252806020026020018201604052801561228057816020015b606081526020019060019003908161226b5790505b50905060005b82811015612320576122f0308585848181106122a4576122a46152f1565b90506020028101906122b69190614f1d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061360a92505050565b828281518110612302576123026152f1565b602002602001018190525080806123189061563a565b915050612286565b5092915050565b61232f61262f565b8060000361238e576040517ff7a898f600000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff841660248201526044810183905260640161027b565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684528252808320858452909152812054906123d2838361362f565b9050801561248d576123e4818361543d565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b168085529083528184208a855283529281902094909455835192835282015290810185905260608101849052608081018290527febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9060a00160405180910390a161248d73ffffffffffffffffffffffffffffffffffffffff86163383612784565b505061035a6001600055565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526002602090815260408083209386168352928152828220848352905220545b9392505050565b60006124e661262f565b6124f3602083018361458d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125855733612533602084018461458d565b6040517f4702b91400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440161027b565b600061259861259384615672565b612811565b6000818152600160205260409020549091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016126245760008181526001602081905260408083209290925590519092507f74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd1924489061261b9033908690859061574e565b60405180910390a15b50610b5e6001600055565b60026000540361269b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027b565b6002600055565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261277e9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613645565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261035a9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016126fc565b600081516000036127ed57506000919050565b506020015160001a90565b6000806128058484613754565b5160001a949350505050565b6000816040516020016128249190615853565b604051602081830303815290604052805190602001209050919050565b61284a81613785565b61288257806040517f644cc25800000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b50565b6040805161018081018252600060e08201818152610100830182905283516060808201865283825260208083018590528287018590526101208601929092526101408501819052610160850181905291845283018290529282018190528282018190526080820183905260a082015260c0810191909152600061290787612811565b60408051600480825260a08201909252919250606091600091816020015b606081526020019060019003908161292557905050895160408051600381526020810187905273ffffffffffffffffffffffffffffffffffffffff92831681830152918916606083015260808201905290915081600180038151811061298d5761298d6152f1565b6020026020010181905250612b22896060015189815181106129b1576129b16152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a606001518a815181106129e9576129e96152f1565b60200260200101516020015160ff168b606001518b81518110612a0e57612a0e6152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612a7557612a756152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e606001518e81518110612ad357612ad36152f1565b602002602001015160400151815260200190815260200160002054600060408051600581526020810196909652858101949094526060850192909252608084015260a083015260c08201905290565b81600160030381518110612b3857612b386152f1565b6020026020010181905250612c7e89608001518881518110612b5c57612b5c6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168a608001518981518110612b9457612b946152f1565b60200260200101516020015160ff168b608001518a81518110612bb957612bb96152f1565b602002602001015160400151600260008e6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612c2057612c206152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e608001518d81518110612ad357612ad36152f1565b81600160040381518110612c9457612c946152f1565b6020026020010181905250612ca981866137b5565b9150506000886000015173ffffffffffffffffffffffffffffffffffffffff1690506000808a604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98c6040015160200151612d0f863060009182526020526040902090565b612d208f6040015160400151613ac5565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16909152612d6c939291908a90602481016158e2565b600060405180830381865afa158015612d89573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612dcf919081019061598a565b91509150600082600181518110612de857612de86152f1565b60200260200101519050600083600081518110612e0757612e076152f1565b602002602001015190506000600260008f6000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612e6e57612e6e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f608001518e81518110612ecc57612ecc6152f1565b60200260200101516040015181526020019081526020016000205490506000612f258f608001518e81518110612f0457612f046152f1565b60200260200101516020015160ff16600084612fae9092919063ffffffff16565b905080841115612f33578093505b50506040805160028152602081018490528082018390526060810190915286600281518110612f6457612f646152f1565b6020908102919091018101919091526040805160e0810182529e8f52908e019b909b52998c015260608b019890985250608089019190915260a08801525050505060c08301525090565b60008260121115612fe35760128390036002831615612fd957612fd18582613aee565b9150506124d5565b612fd18582613b74565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee8301600183161561302257612fd18582613bac565b612fd18582613bfa565b50826124d5565b60006130498484670de0b6b3a764000085613c1d565b949350505050565b60008260121115613074576012839003600183161561302257612fd18582613bac565b601283111561302c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016002831615612fd957612fd18582613aee565b8281608001516003815181106130cb576130cb6152f1565b60200260200101516004815181106130e5576130e56152f1565b602002602001018181525050818160800151600481518110613109576131096152f1565b6020026020010151600481518110613123576131236152f1565b602090810291909101015282156132315780515173ffffffffffffffffffffffffffffffffffffffff16600090815260026020526040812060808301518051869391906003908110613177576131776152f1565b6020026020010151600081518110613191576131916152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516003815181106131ec576131ec6152f1565b6020026020010151600281518110613206576132066152f1565b60200260200101518152602001908152602001600020600082825461322b9190614e18565b90915550505b81156133345780515173ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604081206080830151805185939190600490811061327a5761327a6152f1565b6020026020010151600081518110613294576132946152f1565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083608001516004815181106132ef576132ef6152f1565b6020026020010151600281518110613309576133096152f1565b60200260200101518152602001908152602001600020600082825461332e919061543d565b90915550505b7f17a5c0f3785132a57703932032f6863e7920434150aa1dc940e567b440fdce1f3382608001516040516133699291906159ee565b60405180910390a1505050565b60c08101515115613403578060000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68260a001518360c001516040518363ffffffff1660e01b81526004016133d0929190615a1d565b600060405180830381600087803b1580156133ea57600080fd5b505af11580156133fe573d6000803e3d6000fd5b505050505b80516020015115612882576000808260000151604001516000015173ffffffffffffffffffffffffffffffffffffffff16636046c5f98460000151604001516020015161345e8660a001513060009182526020526040902090565b61347387600001516040015160400151613c7a565b6080880151604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e088901b169091526134c39493929190602481016158e2565b600060405180830381865afa1580156134e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613526919081019061598a565b805191935091501561035a578260000151604001516020015173ffffffffffffffffffffffffffffffffffffffff1663946aadc68460a00151836040518363ffffffff1660e01b815260040161357d929190615a1d565b600060405180830381600087803b15801561359757600080fd5b505af11580156135ab573d6000803e3d6000fd5b50505050505050565b6135df6040518060800160405280600081526020016000815260200160008152602001600081525090565b6135e98383613ca5565b825260408201526135fa8284613ca5565b6020830152606082015292915050565b60606124d58383604051806060016040528060278152602001615c4260279139613d6a565b600081831061363e57816124d5565b5090919050565b60006136a7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613def9092919063ffffffff16565b90508051600014806136c85750808060200190518101906136c89190615a36565b61035a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161027b565b600080613760846127da565b600202600101905060006137748585613dfe565b949091019093016020019392505050565b600060088251101561379957506000919050565b506008015167ffffffffffffffff1667ff0a89c674ee78741490565b60606000825167ffffffffffffffff8111156137d3576137d3614620565b6040519080825280602002602001820160405280156137fc578160200160208202803683370190505b509050600080845111613810576000613816565b83516001015b855160010101905060008167ffffffffffffffff81111561383957613839614620565b60405190808252806020026020018201604052801561386c57816020015b60608152602001906001900390816138575790505b5090506000613891604080516002815233602082015230818301526060810190915290565b8282815181106138a3576138a36152f1565b602002602001018190525060005b87518110156139015781806001019250508781815181106138d4576138d46152f1565b60200260200101518383815181106138ee576138ee6152f1565b60209081029190910101526001016138b1565b50855115613abb57808060010191505083828281518110613924576139246152f1565b602002602001018190525060005b8651811015613ab9576139e3878281518110613950576139506152f1565b6020026020010151600001516139c061398d8a8581518110613974576139746152f1565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b8984815181106139d2576139d26152f1565b602002602001015160400151613e55565b613a1c576040517f52bf98480000000000000000000000000000000000000000000000000000000081526004810182905260240161027b565b868181518110613a2e57613a2e6152f1565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110613a6257613a626152f1565b6020026020010181815250508180600101925050868181518110613a8857613a886152f1565b602002602001015160200151838381518110613aa657613aa66152f1565b6020908102919091010152600101613932565b505b5095945050505050565b6000602082901b77ffffffffffffffffffffffffffffffffffffffff000000001660021761054f565b6000604e8210613b2e578215613b24577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613b27565b60005b905061054f565b50600a81900a8281029083818381613b4857613b48615a53565b0414612320577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613049565b600a81900a613b838184615a82565b9050604e821061054f578215613ba357613b9e82600a615bb9565b6124d5565b50600092915050565b6000604e8210613bd0578215613bc3576001613bc6565b60005b60ff16905061054f565b600a82900a808481613be457613be4615a53565b0491508082028414612320575060010192915050565b6000604e821015613ba35781600a0a8381613c1757613c17615a53565b046124d5565b600080613c2b868686613ec6565b90506001836002811115613c4157613c41615bc5565b148015613c5e575060008480613c5957613c59615a53565b868809115b15613c7157613c6e600182614e18565b90505b95945050505050565b600062010000602083901b77ffffffffffffffffffffffffffffffffffffffff00000000161761054f565b6000806000613cc88460600151600186604001516130339092919063ffffffff16565b604086015190915081811115613cdb5750805b613d1d866000015160800151876020015181518110613cfc57613cfc6152f1565b60200260200101516020015160ff166000836130519092919063ffffffff16565b92506000613d3b87606001516001846130339092919063ffffffff16565b9050613d5e86600001516080015187602001518151811061163a5761163a6152f1565b94505050509250929050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051613d949190615bf4565b600060405180830381855af49150503d8060008114613dcf576040519150601f19603f3d011682016040523d82523d6000602084013e613dd4565b606091505b5091509150613de586838387613ff0565b9695505050505050565b60606130498484600085614090565b6000613e09836127da565b8210613e455782826040517f30489add00000000000000000000000000000000000000000000000000000000815260040161027b929190615c06565b50600202016003015161ffff1690565b6000806000613e6485856141a9565b90925090506000816004811115613e7d57613e7d615bc5565b148015613eb557508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80613de55750613de58686866141ee565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003613f1e57838281613f1457613f14615a53565b04925050506124d5565b808411613f87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f770000000000000000000000604482015260640161027b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060831561408657825160000361407f5773ffffffffffffffffffffffffffffffffffffffff85163b61407f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027b565b5081613049565b613049838361434b565b606082471015614122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161027b565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161414b9190615bf4565b60006040518083038185875af1925050503d8060008114614188576040519150601f19603f3d011682016040523d82523d6000602084013e61418d565b606091505b509150915061419e87838387613ff0565b979650505050505050565b60008082516041036141df5760208301516040840151606085015160001a6141d38782858561438f565b945094505050506141e7565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401614225929190615c28565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516142ae9190615bf4565b600060405180830381855afa9150503d80600081146142e9576040519150601f19603f3d011682016040523d82523d6000602084013e6142ee565b606091505b509150915081801561430257506020815110155b8015613de5575080517f1626ba7e00000000000000000000000000000000000000000000000000000000906143409083016020908101908401614ec6565b149695505050505050565b81511561435b5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027b9190615866565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156143c65750600090506003614475565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561441a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661446e57600060019250925050614475565b9150600090505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461288257600080fd5b6000806000606084860312156144b557600080fd5b83356144c08161447e565b95602085013595506040909401359392505050565b6000602082840312156144e757600080fd5b5035919050565b60008060008060006080868803121561450657600080fd5b85356145118161447e565b945060208601356145218161447e565b935060408601359250606086013567ffffffffffffffff8082111561454557600080fd5b818801915088601f83011261455957600080fd5b81358181111561456857600080fd5b89602082850101111561457a57600080fd5b9699959850939650602001949392505050565b60006020828403121561459f57600080fd5b81356124d58161447e565b6000602082840312156145bc57600080fd5b813567ffffffffffffffff8111156145d357600080fd5b8201608081850312156124d557600080fd5b6000602082840312156145f757600080fd5b813567ffffffffffffffff81111561460e57600080fd5b820160a081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561467257614672614620565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156146bf576146bf614620565b604052919050565b801515811461288257600080fd5b8035610b5e816146c7565b6000606082840312156146f257600080fd5b6146fa61464f565b905081356147078161447e565b815260208201356147178161447e565b6020820152604082013561472a8161447e565b604082015292915050565b600067ffffffffffffffff82111561474f5761474f614620565b5060051b60200190565b803560ff81168114610b5e57600080fd5b60006060828403121561477c57600080fd5b61478461464f565b905081356147918161447e565b815261479f60208301614759565b60208201526040820135604082015292915050565b600082601f8301126147c557600080fd5b813560206147da6147d583614735565b614678565b828152606092830285018201928282019190878511156147f957600080fd5b8387015b8581101561481c5761480f898261476a565b84529284019281016147fd565b5090979650505050505050565b600060e0828403121561483b57600080fd5b60405160a0810167ffffffffffffffff828210818311171561485f5761485f614620565b81604052829350843591506148738261447e565b818352614882602086016146d5565b602084015261489486604087016146e0565b604084015260a08501359150808211156148ad57600080fd5b6148b9868387016147b4565b606084015260c08501359150808211156148d257600080fd5b506148df858286016147b4565b6080830152505092915050565b600067ffffffffffffffff82111561490657614906614620565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261494357600080fd5b81356149516147d5826148ec565b81815284602083860101111561496657600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261499457600080fd5b813560206149a46147d583614735565b82815260059290921b840181019181810190868411156149c357600080fd5b8286015b84811015614ae857803567ffffffffffffffff808211156149e757600080fd5b908801906060828b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215614a1e5760008081fd5b614a2661464f565b86830135614a338161447e565b815260408381013583811115614a495760008081fd5b8401603f81018d13614a5b5760008081fd5b88810135614a6b6147d582614735565b81815260059190911b82018301908a8101908f831115614a8b5760008081fd5b928401925b82841015614aa95783358252928b0192908b0190614a90565b858c0152505050606084013583811115614ac35760008081fd5b614ad18d8a83880101614932565b9183019190915250855250509183019183016149c7565b509695505050505050565b6000806000806000858703610140811215614b0d57600080fd5b863567ffffffffffffffff80821115614b2557600080fd5b614b318a838b01614829565b97506020890135915080821115614b4757600080fd5b614b538a838b01614829565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614b8557600080fd5b604089019550610100890135925080831115614ba057600080fd5b614bac8a848b01614983565b9450610120890135925080831115614bc357600080fd5b5050614bd188828901614983565b9150509295509295909350565b60008060208385031215614bf157600080fd5b823567ffffffffffffffff80821115614c0957600080fd5b818501915085601f830112614c1d57600080fd5b813581811115614c2c57600080fd5b8660208260051b8501011115614c4157600080fd5b60209290920196919550909350505050565b60005b83811015614c6e578181015183820152602001614c56565b50506000910152565b60008151808452614c8f816020860160208601614c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015614d34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452614d22858351614c77565b94509285019290850190600101614ce8565b5092979650505050505050565b600080600060608486031215614d5657600080fd5b8335614d618161447e565b92506020840135614d718161447e565b929592945050506040919091013590565b60008060408385031215614d9557600080fd5b8235614da08161447e565b946020939093013593505050565b600060208284031215614dc057600080fd5b813567ffffffffffffffff811115614dd757600080fd5b820160e081850312156124d557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561054f5761054f614de9565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a06080830152614eba60a083018486614e2b565b98975050505050505050565b600060208284031215614ed857600080fd5b5051919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614f1357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614f5257600080fd5b83018035915067ffffffffffffffff821115614f6d57600080fd5b6020019150368190038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614fb757600080fd5b83018035915067ffffffffffffffff821115614fd257600080fd5b60200191506060810236038213156141e757600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261501e57600080fd5b83018035915067ffffffffffffffff82111561503957600080fd5b6020019150600581901b36038213156141e757600080fd5b604081526000615065604083018688614e2b565b82810360208401528381527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84111561509d57600080fd5b8360051b80866020840137016020019695505050505050565b600080600080608085870312156150cc57600080fd5b84516150d78161447e565b60208601519094506150e88161447e565b60408601519093506150f98161447e565b606086015190925067ffffffffffffffff81111561511657600080fd5b8501601f8101871361512757600080fd5b80516151356147d5826148ec565b81815288602083850101111561514a57600080fd5b61515b826020830160208601614c53565b9598949750929550505050565b60006060828403121561517a57600080fd5b6124d5838361476a565b600081518084526020808501945080840160005b838110156151e3578151805173ffffffffffffffffffffffffffffffffffffffff1688528381015160ff16848901526040908101519088015260609096019590820190600101615198565b509495945050505050565b600073ffffffffffffffffffffffffffffffffffffffff80835116845260208301511515602085015260408301518181511660408601528160208201511660608601528160408201511660808601525050606082015160e060a085015261525860e0850182615184565b9050608083015184820360c0860152613c718282615184565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250608060408301526152aa60808301856151ee565b905082606083015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152606060408201526000613de5606083018486614e2b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614f1357600080fd5b60006080823603121561536657600080fd5b6040516080810167ffffffffffffffff828210818311171561538a5761538a614620565b81604052843591508082111561539f57600080fd5b6153ab36838701614829565b8352602085013560208401526040850135604084015260608501359150808211156153d557600080fd5b506153e236828601614983565b60608301525092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21833603018112614f1357600080fd5b60006020828403121561543457600080fd5b6124d582614759565b8181038181111561054f5761054f614de9565b600081518084526020808501945080840160005b838110156151e357815187529582019590820190600101615464565b600073ffffffffffffffffffffffffffffffffffffffff8087168352602060808185015286516080808601526154ba6101008601826151ee565b90508188015160a086015260408089015160c08701526060808a01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808885030160e08901528381518086528686019150868160051b870101878401935060005b82811015615593577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe088830301845284518a815116835289810151878b85015261556788850182615450565b91890151848303858b015291905061557f8183614c77565b968b0196958b01959350505060010161551b565b50948a019b909b5250509095019590955250919695505050505050565b600061012073ffffffffffffffffffffffffffffffffffffffff871683528060208401526155e0818401876151ee565b905082810360408401526155f481866151ee565b9150508235606083015260208301356080830152604083013560a0830152606083013560c0830152608083013560e083015260a083013561010083015295945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566b5761566b614de9565b5060010190565b600061054f3683614829565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126156b357600080fd5b830160208101925035905067ffffffffffffffff8111156156d357600080fd5b6060810236038213156141e757600080fd5b8183526000602080850194508260005b858110156151e35781356157088161447e565b73ffffffffffffffffffffffffffffffffffffffff16875260ff61572d838501614759565b168784015260408281013590880152606096870196909101906001016156f5565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152843561577c8161447e565b811660608401526020850135615791816146c7565b1515608084015260408501356157a68161447e565b811660a084015260608501356157bb8161447e565b811660c084015260808501356157d08161447e565b1660e08301526157e360a085018561567e565b60e06101008501526157fa610140850182846156e5565b91505061580a60c086018661567e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0858403016101208601526158408382846156e5565b9350505050826040830152949350505050565b6020815260006124d560208301846151ee565b6020815260006124d56020830184614c77565b600082825180855260208086019550808260051b84010181860160005b8481101561481c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08684030189526158d0838351615450565b98840198925090830190600101615896565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260a06060820152600061591d60a0830185615879565b8281036080840152614eba8185615450565b600082601f83011261594057600080fd5b815160206159506147d583614735565b82815260059290921b8401810191818101908684111561596f57600080fd5b8286015b84811015614ae85780518352918301918301615973565b6000806040838503121561599d57600080fd5b825167ffffffffffffffff808211156159b557600080fd5b6159c18683870161592f565b935060208501519150808211156159d757600080fd5b506159e48582860161592f565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006130496040830184615879565b8281526040602082015260006130496040830184615450565b600060208284031215615a4857600080fd5b81516124d5816146c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808202811582820484141761054f5761054f614de9565b600181815b80851115615af257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615ad857615ad8614de9565b80851615615ae557918102915b93841c9390800290615a9e565b509250929050565b600082615b095750600161054f565b81615b165750600061054f565b8160018114615b2c5760028114615b3657615b52565b600191505061054f565b60ff841115615b4757615b47614de9565b50506001821b61054f565b5060208310610133831016604e8410600b8410161715615b75575081810a61054f565b615b7f8383615a99565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115615bb157615bb1614de9565b029392505050565b60006124d58383615afa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251614f13818460208701614c53565b604081526000615c196040830185614c77565b90508260208301529392505050565b8281526040602082015260006130496040830184614c7756fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "sourceMap": "10600:36632:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13003:640;;;;;;:::i;:::-;;:::i;:::-;;12830:134;;;;;;:::i;:::-;12902:4;12925:18;;;4273:1;12925:18;;;;;;;;;:32;;12830:134;;;;911:14:227;;904:22;886:41;;874:2;859:18;12830:134:172;;;;;;;;1311:1578:169;;;;;;:::i;:::-;;:::i;3330:140::-;;;;;;:::i;:::-;;:::i;:::-;;;2308:25:227;;;2296:2;2281:18;3330:140:169;2162:177:227;14661:2996:172;;;;;;:::i;:::-;;:::i;18373:10265::-;;;;;;:::i;:::-;;:::i;:::-;;;;3321:25:227;;;3377:2;3362:18;;3355:34;;;;3294:18;18373:10265:172;3147:248:227;28677:4498:172;;;;;;:::i;:::-;;:::i;470:308:31:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13682:940:172:-;;;;;;:::i;:::-;;:::i;12620:171::-;;;;;;:::i;:::-;;:::i;2935:110:169:-;;;;;;:::i;:::-;3003:7;2935:110;;;;;17696:450:172;;;;;;:::i;:::-;;:::i;13003:640::-;2261:21:22;:19;:21::i;:::-;13104:6:172::1;13114:1;13104:11:::0;13100:94:::1;;13138:45;::::0;::::1;::::0;;13156:10:::1;13138:45;::::0;::::1;15724:34:227::0;15673:42;15794:15;;15774:18;;;15767:43;15826:18;;;15819:34;;;15636:18;;13138:45:172::1;;;;;;;;13100:94;13402:43;::::0;;13410:10:::1;16156:34:227::0;;16105:42;16226:15;;16221:2;16206:18;;16199:43;16258:18;;;16251:34;;;16316:2;16301:18;;16294:34;;;13402:43:172::1;::::0;16082:3:227;16067:19;13402:43:172::1;;;;;;;13509:65;:30;::::0;::::1;13540:10;13560:4;13567:6:::0;13509:30:::1;:65::i;:::-;13599:10;13584:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;:52;;13630:6;;13584:26;:52:::1;::::0;13630:6;;13584:52:::1;:::i;:::-;::::0;;;-1:-1:-1;;1716:1:22;2809:7;:22;13003:640:172;;;:::o;2303:20:22:-;13003:640:172;;;:::o;1311:1578:169:-;1465:4;1485:53;:26;;;1520:8;1531:6;1485:26;:53::i;:::-;1566:64;;;;;1549:14;;1566:20;;;;;;:64;;1587:10;;1599:5;;1606:6;;1549:14;;1625:4;;;;1566:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1549:81;;425:45:178;1644:6:169;:40;1640:111;;1707:33;;;;;;;;2308:25:227;;;2281:18;;1707:33:169;2162:177:227;1640:111:169;2776:84;2815:8;2834:4;2841:18;911:1;2841:6;:18;:::i;:::-;2776:30;;;;:84;;:30;:84::i;:::-;-1:-1:-1;2878:4:169;;1311:1578;-1:-1:-1;;;;;;1311:1578:169:o;3330:140::-;3425:38;;;;;3457:4;3425:38;;;18120:74:227;3399:7:169;;3425:23;;;;;;18093:18:227;;3425:38:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3418:45;3330:140;-1:-1:-1;;3330:140:169:o;14661:2996:172:-;14741:17;2261:21:22;:19;:21::i;:::-;14770:19:172::1;14792:56;14816:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;14792:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;14792:23:172::1;::::0;-1:-1:-1;;;14792:56:172:i:1;:::-;14770:78;;14862:11;14877:1;14862:16:::0;14858:70:::1;;14901:16;;;;;;;;;;;;;;14858:70;14941:11;14956:1;14941:16:::0;14937:71:::1;;14980:17;;;;;;;;;;;;;;14937:71;15021:18;:6:::0;;:18:::1;:::i;:::-;:25;;15050:1;15021:30:::0;15017:83:::1;;15074:15;;;;;;;;;;;;;;15017:83;15113:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:26;;15143:1;15113:31:::0;15109:85:::1;;15167:16;;;;;;;;;;;;;;15109:85;15204:26;::::0;;;15298:35:::1;;::::0;::::1;:6:::0;:35:::1;:::i;:::-;:57;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:88;;;15387:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15420:22;;::::0;::::1;:6:::0;:22:::1;:::i;:::-;:32;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15298:155;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;15657:4;15649:13:::0;::::1;15643:20:::0;15203:250;;-1:-1:-1;15203:250:172;;-1:-1:-1;15203:250:172;-1:-1:-1;15203:250:172;-1:-1:-1;15477:23:172::1;15699:15:::0;;::::1;::::0;15756:1:::1;15751:15:::0;;::::1;::::0;15804:1:::1;15799:15;15846:20:::0;;15842:109:::1;;15893:43;::::0;::::1;::::0;;::::1;::::0;::::1;2308:25:227::0;;;2281:18;;15893:43:172::1;2162:177:227::0;15842:109:172::1;4934:1;15969:16;:46;15965:137;;;16042:45;::::0;::::1;::::0;;::::1;::::0;::::1;2308:25:227::0;;;2281:18;;16042:45:172::1;2162:177:227::0;15965:137:172::1;16120:17:::0;;16116:100:::1;;16164:37;::::0;::::1;::::0;;::::1;::::0;::::1;2308:25:227::0;;;2281:18;;16164:37:172::1;2162:177:227::0;16116:100:172::1;15463:763;;;16413:20;16436:284;;;;;;;;16457:10;16436:284;;;;;;16587:1;16481:103;16508:6;:22;;;;;;;;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;16481:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4811:1:172::1;::::0;-1:-1:-1;16481:26:172::1;::::0;-1:-1:-1;;16481:103:172:i:1;:::-;:107;16436:284:::0;;16602:43:::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;16436:284;16602:43:::0;;::::1;::::0;;;;;;::::1;::::0;;;;16436:284;::::1;::::0;;16659:18:::1;:6:::0;;:18:::1;:::i;:::-;16436:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16691:6;:19;;;;;;;;:::i;:::-;16436:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;16413:307:::1;;16730:17;16750:12;:5;:10;:12::i;:::-;4477:1;16852:18:::0;;;:7:::1;:18;::::0;;;;;16730:32;;-1:-1:-1;16848:803:172::1;;17180:18;::::0;;;16915:4:::1;17180:18;::::0;;;;;;;;:31;;;16915:4;-1:-1:-1;17230:71:172::1;::::0;17239:10:::1;::::0;17251:22:::1;::::0;;::::1;:6:::0;:22:::1;:::i;:::-;:31;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;17284:5;17291:9;17230:71;;;;;;;;;:::i;:::-;;;;;;;;17493:1;17472:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;17468:173;;;17514:38;17540:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;17514:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;17514:25:172::1;::::0;-1:-1:-1;;;17514:38:172:i:1;:::-;17575:51;17582:10;17602:9:::0;17614:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;17575:51;;;;;;;;;:::i;:::-;;;;;;;;17468:173;14760:2897;;;;;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;14661:2996:172;;;:::o;18373:10265::-;18484:23;18509:24;2261:21:22;:19;:21::i;:::-;18553:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;18577:1;18553:25:::0;18549:73:::1;;18601:10;;;;;;;;;;;;;;18549:73;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19130:57:172::1;19211:14;19228:13;::::0;;::::1;:6:::0;:13:::1;:::i;:::-;19322:4;19316:11:::0;;19437:4:::1;19433:1;19421:14:::0;;;::::1;19417:25:::0;::::1;19408:35:::0;::::1;19395:49:::0;;;19316:11;-1:-1:-1;19522:19:172;::::1;;::::0;-1:-1:-1;;;19559:24:172;;;19555:88:::1;;19610:18;;;;;;;;;;;;;;19555:88;19656:9;19683:7031;19694:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;:20;;19690:1;:24;:51;;;;;19740:1;19718:19;:23;19690:51;19683:7031;;;19779:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;19793:1;19779:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;19761:34;;;:::i;:::-;19821:21:::0;;19761:34;;-1:-1:-1;19821:21:172;-1:-1:-1;20025:13:172::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20039:1;20025:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20060:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20074:1;20060:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;20025:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;20025:71:172::1;:::i;:::-;19944:152;;:5;:17;;;19962:15;:28;;;19944:47;;;;;;;;:::i;:::-;;;;;;;:53;;;:152;;;19919:455;;20183:5;:17;;;20201:15;:28;;;20183:47;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:53;20262:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20276:1;20262:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20297:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20311:1;20297:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;20262:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;20262:71:172::1;:::i;:::-;20144:211;::::0;::::1;::::0;;28230:42:227;28299:15;;;20144:211:172::1;::::0;::::1;28281:34:227::0;28351:15;;28331:18;;;28324:43;28193:18;;20144:211:172::1;28046:327:227::0;19919:455:172::1;20559:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20573:1;20559:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20595:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20609:1;20595:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;20559:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;20559:73:172::1;:::i;:::-;20476:156;;:5;:18;;;20495:15;:29;;;20476:49;;;;;;;;:::i;:::-;;;;;;;:55;;;:156;;;20451:463;;20719:5;:18;;;20738:15;:29;;;20719:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;20800:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20814:1;20800:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;20836:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20850:1;20836:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;20800:67;;;;;;;:::i;20451:463::-;21108:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21122:1;21108:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21143:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21157:1;21143:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;21108:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;21024:158;;:5;:17;;;21042:15;:28;;;21024:47;;;;;;;;:::i;:::-;;;;;;;:56;;;:158;;;20999:475;;21277:5;:17;;;21295:15;:28;;;21277:47;;;;;;;;:::i;:::-;;;;;;;:56;;;21359:6;:13;;;;;;;;:::i;:::-;21373:1;21359:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21394:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21408:1;21394:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;21359:65;;;;;;;:::i;:::-;;;;;;:74;;;;;;;;;;:::i;:::-;21230:225;::::0;::::1;::::0;;28761:4:227;28749:17;;;21230:225:172::1;::::0;::::1;28731:36:227::0;28803:17;;28783:18;;;28776:45;28704:18;;21230:225:172::1;28565:262:227::0;20999:475:172::1;21671:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21685:1;21671:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21707:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21721:1;21707:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;21671:67;;;;;;;:::i;:::-;;;;;;:76;;;;;;;;;;:::i;:::-;21585:162;;:5;:18;;;21604:15;:29;;;21585:49;;;;;;;;:::i;:::-;;;;;;;:58;;;:162;;;21560:483;;21842:5;:18;;;21861:15;:29;;;21842:49;;;;;;;;:::i;:::-;;;;;;;:58;;;21926:6;:13;;;;;;;;:::i;:::-;21940:1;21926:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;21962:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;21976:1;21962:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;21926:67;;;;;;;:::i;21560:483::-;22061:17;22081:12;:5;:10;:12::i;:::-;4477:1;22115:18:::0;;;:7:::1;:18;::::0;;;;;22061:32;;-1:-1:-1;22111:4517:172::1;;22202:11:::0;;22176:49:::1;::::0;;22190:10:::1;15724:34:227::0;;15673:42;15794:15;;;15789:2;15774:18;;15767:43;15826:18;;15819:34;;;22176:49:172::1;::::0;15651:2:227;15636:18;22176:49:172::1;;;;;;;22111:4517;;;22272:46;22321:269;22363:5;22394:15;:28;;;22448:15;:29;;;22503:10;22539:15;:29;;;22321:16;:269::i;:::-;22272:318;;22989:6;:21;;;22960:18;:26;;;:50;22956:3654;;;23076:11:::0;;23043:56:::1;::::0;;23064:10:::1;15724:34:227::0;;15673:42;15794:15;;;15789:2;15774:18;;15767:43;15826:18;;15819:34;;;23043:56:172::1;::::0;15651:2:227;15636:18;23043:56:172::1;;;;;;;;22956:3654;;;23154:18;:28;;;23187:1;23132:56:::0;23128:3482:::1;;23249:11:::0;;23221:51:::1;::::0;;23237:10:::1;15724:34:227::0;;15673:42;15794:15;;;15789:2;15774:18;;15767:43;15826:18;;15819:34;;;23221:51:172::1;::::0;15651:2:227;15636:18;23221:51:172::1;15461:398:227::0;23128:3482:172::1;23327:24;23354:5;:18;;;23373:15;:29;;;23354:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;:58:::1;::::0;23615:28:::1;::::0;::::1;::::0;23354:58;;-1:-1:-1;23517:26:172::1;24194:62;:19:::0;:62:::1;::::0;::::1;503:6:148;24194:27:172;:62::i;:::-;24105:152;;24349:21;24312:12;24291:80;24287:187;;;24422:21;24407:36;;24287:187;23966:534;24526:19;24688:28:::0;24900:164:::1;24986:18;:26;;;25014:16;24921:12;24900:48;;:164;;;;;:::i;:::-;24688:406;;25138:178;25215:5;:17;;;25233:15;:28;;;25215:47;;;;;;;;:::i;:::-;;;;;;;:56;;;25138:178;;416:1:148;25160:13:172;25138:43;;:178;;;;;:::i;:::-;25124:192:::0;-1:-1:-1;25369:18:172::1;::::0;-1:-1:-1;25418:76:172::1;25439:12:::0;25418:76:::1;::::0;::::1;503:6:148;25418:41:172;:76::i;:::-;25369:125:::0;-1:-1:-1;25521:33:172::1;25369:125:::0;25521:33;::::1;:::i;:::-;::::0;-1:-1:-1;25580:31:172::1;25600:11:::0;25580:31;::::1;:::i;:::-;;;25638:58;25652:11;25665:10;25677:18;25638:13;:58::i;:::-;25727:63;25737:10;25749:15;25766:10;25778:11;25727:63;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;26260:34:172;;26296:1:::1;26256:42;26327:46:::0;;;26535:4:::1;26520:20;26487:54:::0;::::1;26480:82:::0;;;-1:-1:-1;;23128:3482:172::1;22250:4378;22111:4517;-1:-1:-1::0;26678:3:172::1;;19683:7031;;;26745:41;26767:19:::0;26745::::1;::::0;::::1;;:41;:::i;:::-;26727:59:::0;-1:-1:-1;;;26829:19:172;::::1;26811:37:::0;::::1;26807:125;;;26871:50;::::0;::::1;::::0;;26884:19;::::1;26871:50;::::0;::::1;3321:25:227::0;3362:18;;;3355:34;;;3294:18;;26871:50:172::1;3147:248:227::0;26807:125:172::1;27619:19:::0;;27615:203:::1;;27654:153;27766:10;27778:15:::0;27661:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27675:1;27661:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;27697:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27711:1;27697:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;27661:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;27661:73:172::1;:::i;:::-;27654:94;;::::0;:153;:94:::1;:153::i;:::-;27853:1;27832:11;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;:18;;:22;27828:390;;;27893:10;27870:47;27935:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27949:1;27935:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:35;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;27971:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;27985:1;27971:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:30;;;27935:67;;;;;;;:::i;:::-;:73;::::0;::::1;:67;::::0;;::::1;;:73:::0;;::::1;::::0;-1:-1:-1;27935:73:172::1;:::i;:::-;28026:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28040:1;28026:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28061:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28075:1;28061:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;28026:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;28026:71:172::1;:::i;:::-;28115:15:::0;28148:16;28182:11:::1;;::::0;::::1;:6:::0;:11:::1;:::i;:::-;27870:337;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;27828:390;28232:20:::0;;28228:222:::1;;28268:171;28382:10;28402:4;28409:16:::0;28275:13:::1;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28289:1;28275:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:22;::::0;;::::1;:::i;:::-;:34;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28310:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;28324:1;28310:16;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:29;;;28275:65;;;;;;;:::i;:::-;:71;::::0;::::1;:65;::::0;;::::1;;:71:::0;;::::1;::::0;-1:-1:-1;28275:71:172::1;:::i;:::-;28268:96;;::::0;:171;;:96:::1;:171::i;:::-;28489:9;28484:138;28508:27;:34;28504:1;:38;28484:138;;;28567:40;28576:27;28604:1;28576:30;;;;;;;;:::i;:::-;;;;;;;28567:8;:40::i;:::-;28544:3;;28484:138;;;;18539:10099;;;2303:20:22::0;1716:1;2809:7;:22;2629:209;2303:20;18373:10265:172;;;:::o;28677:4498::-;2261:21:22;:19;:21::i;:::-;28982:14:172;;28962:16;;:34:::1;::::0;;::::1;::::0;::::1;::::0;28958:107:::1;;29033:16:::0;;29023:27:::1;::::0;::::1;::::0;;18150:42:227;18138:55;;;29023:27:172::1;::::0;::::1;18120:74:227::0;18093:18;;29023:27:172::1;17974:226:227::0;28958:107:172::1;29184:8;:20;;;29205:11;:27;;;29184:49;;;;;;;;:::i;:::-;;;;;;;:55;;;29099:140;;:10;:23;;;29123:11;:30;;;29099:55;;;;;;;;:::i;:::-;;;;;;;:61;;;:140;;;29078:407;;29314:10;:23;;;29338:11;:30;;;29314:55;;;;;;;;:::i;:::-;;;;;;;:61;;;29397:8;:20;;;29418:11;:27;;;29397:49;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;:55;29279:191:::1;::::0;::::1;::::0;;28230:42:227;28299:15;;;29279:191:172::1;::::0;::::1;28281:34:227::0;28351:15;;28331:18;;;28324:43;28193:18;;29279:191:172::1;28046:327:227::0;29078:407:172::1;29608:8;:20;;;29629:11;:27;;;29608:49;;;;;;;;:::i;:::-;;;;;;;:58;;;29520:146;;:10;:23;;;29544:11;:30;;;29520:55;;;;;;;;:::i;:::-;;;;;;;:64;;;:146;;;29499:427;;29749:10;:23;;;29773:11;:30;;;29749:55;;;;;;;;:::i;:::-;;;;;;;:64;;;29835:8;:20;;;29856:11;:27;;;29835:49;;;;;;;;:::i;:::-;;;;;;;:58;;;29706:205;;;;;;;;;;;28761:4:227::0;28749:17;;;28731:36;;28803:17;;28798:2;28783:18;;28776:45;28719:2;28704:18;;28565:262;29499:427:172::1;30042:22;::::0;::::1;::::0;:53;;30065:29;::::1;::::0;30042:53;::::1;;;;;:::i;:::-;;;;;;;:59;;;29961:140;;:8;:21;;;29983:11;:28;;;29961:51;;;;;;;;:::i;:::-;;;;;;;:57;;;:140;;;29940:407;;30176:22;::::0;::::1;::::0;:53;;30199:29;::::1;::::0;30176:53;::::1;;;;;:::i;:::-;;;;;;;:59;;;30257:8;:21;;;30279:11;:28;;;30257:51;;;;;;;;:::i;29940:407::-;30466:22;::::0;::::1;::::0;:53;;30489:29;::::1;::::0;30466:53;::::1;;;;;:::i;:::-;;;;;;;:62;;;30382:146;;:8;:21;;;30404:11;:28;;;30382:51;;;;;;;;:::i;:::-;;;;;;;:60;;;:146;;;30361:427;;30611:22;::::0;::::1;::::0;:53;;30634:29;::::1;::::0;30611:53;::::1;;;;;:::i;:::-;;;;;;;:62;;;30695:8;:21;;;30717:11;:28;;;30695:51;;;;;;;;:::i;30361:427::-;4477:1;31013:7;:26;31021:17;:10;:15;:17::i;:::-;31013:26;;;;;;;;;;;;:40:::0;31009:170:::1;;31078:62;31092:10;31104;:16;;;31122:17;:10;:15;:17::i;:::-;31078:62;::::0;;15673:42:227;15742:15;;;15724:34;;15794:15;;;;15789:2;15774:18;;15767:43;15826:18;;;15819:34;15651:2;15636:18;31078:62:172::1;;;;;;;31158:7;;31009:170;4477:1;31196:7;:24;31204:15;:8;:13;:15::i;:::-;31196:24;;;;;;;;;;;;:38:::0;31192:164:::1;;31259:58;31273:10;31285:8;:14;;;31301:15;:8;:13;:15::i;31192:164::-;31427:52;31433:10;31445;31457:8;31467:11;31427:52;;;;;;;;;:::i;:::-;;;;;;;;31499:51;31553:147;31583:10;31595:11;:29;;;31626:11;:30;;;31658:8;:14;;;31674:16;31553;:147::i;:::-;31499:201;;31710:49;31762:145;31792:8;31802:11;:27;;;31831:11;:28;;;31861:10;:16;;;31879:18;31762:16;:145::i;:::-;31710:197;;31917:40;31972:73;31998:23;32023:21;31972:25;:73::i;:::-;31917:128;;32056:97;32070:16;:27;;;32099:16;:28;;;32129:23;32056:13;:97::i;:::-;32163:91;32177:16;:25;;;32204:16;:26;;;32232:21;32163:13;:91::i;:::-;32464:25;::::0;::::1;::::0;32433:28;;32411:19:::1;::::0;32433:56:::1;::::0;::::1;:::i;:::-;32411:78;;32503:17;32552:16;:27;;;32523:16;:26;;;:56;;;;:::i;:::-;32503:76:::0;-1:-1:-1;32597:15:172;;32593:211:::1;;32647:10;32632:26;::::0;;;:14:::1;:26;::::0;;;;;;32659:23:::1;::::0;::::1;::::0;:55;;32778:11;;32632:26;;32683:30;::::1;;::::0;32659:55;::::1;;;;;:::i;:::-;;;;;;;:61;;;32632:89;;;;;;;;;;;;;;;:142;32722:11;:51;;;32632:142;;;;;;;;;;;;:157;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;32593:211:172::1;32821:13:::0;;32817:201:::1;;32869:10;32854:26;::::0;;;:14:::1;:26;::::0;;;;32881:21:::1;::::0;::::1;::::0;:51;;32994:9;;32854:26;32881:21;32903:28:::1;::::0;::::1;;::::0;32881:51;::::1;;;;;:::i;:::-;;;;;;;:57;;;32854:85;;;;;;;;;;;;;;;:136;32940:11;:49;;;32854:136;;;;;;;;;;;;:149;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;32817:201:172::1;-1:-1:-1::0;;33043:40:172::1;::::0;;33054:10:::1;33158:74:227::0;;33268:13;;33263:2;33248:18;;;33241:41;;;;33324:15;;33318:22;33298:18;;;33291:50;33383:15;;;33377:22;33372:2;33357:18;;;33350:50;;;;33443:15;;33437:22;33431:3;33416:19;;33409:51;33043:40:172::1;::::0;33145:3:227;33130:19;33043:40:172::1;;;;;;;33094:33;33103:23;33094:8;:33::i;:::-;33137:31;33146:21;33137:8;:31::i;:::-;28934:4241;;;2292:1:22;2303:20:::0;1716:1;2809:7;:22;2629:209;2303:20;28677:4498:172;;;;;:::o;470:308:31:-;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:31;;-1:-1:-1;;;685:52:31:i;:::-;672:7;680:1;672:10;;;;;;;;:::i;:::-;;;;;;:65;;;;653:3;;;;;:::i;:::-;;;;616:132;;;;470:308;;;;:::o;13682:940:172:-;2261:21:22;:19;:21::i;:::-;13790:12:172::1;13806:1;13790:17:::0;13786:107:::1;;13830:52;::::0;::::1;::::0;;13855:10:::1;13830:52;::::0;::::1;15724:34:227::0;15673:42;15794:15;;15774:18;;;15767:43;15826:18;;;15819:34;;;15636:18;;13830:52:172::1;15461:398:227::0;13786:107:172::1;13947:10;13902:27;13932:26:::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;:42;;;;;;;;;;14081:37:::1;:12:::0;13932:42;14081:16:::1;:37::i;:::-;14056:62:::0;-1:-1:-1;14132:18:172;;14128:488:::1;;14416:36;14438:14:::0;14416:19;:36:::1;:::i;:::-;14386:10;14371:26;::::0;;;:14:::1;:26;::::0;;;;;;;::::1;:33:::0;::::1;::::0;;;;;;;;;:42;;;;;;;;;:81;;;;14471:66;;33991:34:227;;;34041:18;;34034:43;34093:18;;;34086:34;;;34151:2;34136:18;;34129:34;;;34194:3;34179:19;;34172:35;;;14471:66:172::1;::::0;33917:3:227;33902:19;14471:66:172::1;;;;;;;14551:54;:26;::::0;::::1;14578:10;14590:14:::0;14551:26:::1;:54::i;:::-;13776:846;;2303:20:22::0;1716:1;2809:7;:22;2629:209;12620:171:172;12747:21;;;;12721:7;12747:21;;;:14;:21;;;;;;;;:28;;;;;;;;;;;:37;;;;;;;12620:171;;;;;;:::o;17696:450::-;17772:17;2261:21:22;:19;:21::i;:::-;17819:11:172::1;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;17805:25;;:10;:25;;;17801:101;;17867:10;17879:11;;::::0;::::1;:5:::0;:11:::1;:::i;:::-;17853:38;::::0;::::1;::::0;;28230:42:227;28299:15;;;17853:38:172::1;::::0;::::1;28281:34:227::0;28351:15;;28331:18;;;28324:43;28193:18;;17853:38:172::1;28046:327:227::0;17801:101:172::1;17911:17;17931:12;:10;:5:::0;:10:::1;:::i;:::-;;:12::i;:::-;17957:18;::::0;;;4273:1:::1;17957:18;::::0;;;;;17911:32;;-1:-1:-1;17957:32:172;;17953:187:::1;;4477:1;18038:18:::0;;;18020:4:::1;18038:18;::::0;;;;;;;:31;;;;18088:41;;18020:4;;-1:-1:-1;18088:41:172::1;::::0;::::1;::::0;18100:10:::1;::::0;18112:5;;18046:9;;18088:41:::1;:::i;:::-;;;;;;;;17953:187;17791:355;2303:20:22::0;1716:1;2809:7;:22;2629:209;2336:287;1759:1;2468:7;;:19;2460:63;;;;;;;37772:2:227;2460:63:22;;;37754:21:227;37811:2;37791:18;;;37784:30;37850:33;37830:18;;;37823:61;37901:18;;2460:63:22;37570:355:227;2460:63:22;1759:1;2598:7;:18;2336:287::o;1355:203:27:-;1482:68;;15673:42:227;15742:15;;;1482:68:27;;;15724:34:227;15794:15;;15774:18;;;15767:43;15826:18;;;15819:34;;;1455:96:27;;1475:5;;1505:27;;15636:18:227;;1482:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:19;:96::i;:::-;1355:203;;;;:::o;941:175::-;1050:58;;38134:42:227;38122:55;;1050:58:27;;;38104:74:227;38194:18;;;38187:34;;;1023:86:27;;1043:5;;1073:23;;38077:18:227;;1050:58:27;37930:297:227;3332:365:86;3399:13;3428:8;:15;3447:1;3428:20;3424:59;;-1:-1:-1;3471:1:86;;3332:365;-1:-1:-1;3332:365:86:o;3424:59::-;-1:-1:-1;3674:4:86;3660:19;3654:26;3651:1;3646:35;;3332:365::o;12679:319::-;12770:16;12822:15;12840:36;12854:8;12864:11;12840:13;:36::i;:::-;12953:14;12950:1;12945:23;;12679:319;-1:-1:-1;;;;12679:319:86:o;541:120:184:-;600:7;647:5;636:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;626:28;;;;;;619:35;;541:120;;;:::o;1075:155:153:-;1151:19;1164:5;1151:12;:19::i;:::-;1146:78;;1207:5;1193:20;;;;;;;;;;;:::i;1146:78::-;1075:155;:::o;33879:5183:172:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34166:17:172;34186:12;:5;:10;:12::i;:::-;34307:40;;;5872:1;34307:40;;;;;;;;;34166:32;;-1:-1:-1;34213:26:172;;34271:33;;34307:40;;;;;;;;;;;;;;;;;;;-1:-1:-1;34501:11:172;;4055:4:159;4049:11;;4087:1;4073:16;;4120:4;4109:16;;4102:27;;;34485:29:172;;;;4149:16:159;;;4142:27;34516:30:172;;;3967:22:159;4189:16;;4182:27;4246:4;4235:16;;4222:30;;34271:76:172;;-1:-1:-1;34365:14:172;34413:1;6305;34380:34;34365:50;;;;;;;;:::i;:::-;;;;;;:199;;;;34633:476;34696:5;:17;;;34714:12;34696:31;;;;;;;;:::i;:::-;;;;;;;:37;;;34680:55;;34757:5;:17;;;34775:12;34757:31;;;;;;;;:::i;:::-;;;;;;;:40;;;34633:476;;34819:5;:17;;;34837:12;34819:31;;;;;;;;:::i;:::-;;;;;;;:39;;;34880:14;:27;34895:5;:11;;;34880:27;;;;;;;;;;;;;;;:66;34908:5;:17;;;34926:12;34908:31;;;;;;;;:::i;:::-;;;;;;;:37;;;34880:66;;;;;;;;;;;;;;;:132;34947:5;:17;;;34965:12;34947:31;;;;;;;;:::i;:::-;;;;;;;:64;;;34880:132;;;;;;;;;;;;35090:1;5980:4:159;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;34633:476:172;34583:14;34628:1;6840;34598:31;34583:47;;;;;;;;:::i;:::-;;;;;;:526;;;;35179:486;35242:5;:18;;;35261:13;35242:33;;;;;;;;:::i;:::-;;;;;;;:39;;;35226:57;;35305:5;:18;;;35324:13;35305:33;;;;;;;;:::i;:::-;;;;;;;:42;;;35179:486;;35369:5;:18;;;35388:13;35369:33;;;;;;;;:::i;:::-;;;;;;;:41;;;35432:14;:27;35447:5;:11;;;35432:27;;;;;;;;;;;;;;;:68;35460:5;:18;;;35479:13;35460:33;;;;;;;;:::i;:::-;;;;;;;:39;;;35432:68;;;;;;;;;;;;;;;:136;35501:5;:18;;;35520:13;35501:33;;;;;;;;:::i;35179:486::-;35128:14;35174:1;7007;35143:32;35128:48;;;;;;;;:::i;:::-;;;;;;:537;;;;35693:47;35710:14;35726:13;35693:16;:47::i;:::-;35683:57;;34253:1502;35931:24;35994:5;:11;;;35978:29;;35931:77;;36350:36;36388:34;36426:5;:32;;;:61;;;:84;;;36528:5;:15;;;:21;;;36567:55;36597:9;36616:4;1053:42:93;1150:25;;;1195:4;1188:20;1256:4;1243:18;;;933:344;36567:55:172;36640:51;36664:5;:15;;;:26;;;36640:23;:51::i;:::-;36734:16;;;36748:1;36734:16;;;;;;;;;36426:338;;;;;;;;;;;;;;36709:7;;36426:338;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36349:415;;;;36779:31;36833:19;36853:1;36833:22;;;;;;;;:::i;:::-;;;;;;;36779:77;;36870:20;36893:19;36913:1;36893:22;;;;;;;;:::i;:::-;;;;;;;36870:45;;37084:25;37112:14;:27;37127:5;:11;;;37112:27;;;;;;;;;;;;;;;:68;37140:5;:18;;;37159:13;37140:33;;;;;;;;:::i;:::-;;;;;;;:39;;;37112:68;;;;;;;;;;;;;;;:132;37181:5;:39;;;37221:13;37181:54;;;;;;;;:::i;:::-;;;;;;;:62;;;37112:132;;;;;;;;;;;;37084:160;;38297:34;38374:72;38400:5;:18;;;38419:13;38400:33;;;;;;;;:::i;:::-;;;;;;;:42;;;38374:72;;38444:1;38374:17;:25;;:72;;;;;:::i;:::-;38297:150;;38533:19;38491:16;38469:84;38465:169;;;38596:19;38577:38;;38465:169;-1:-1:-1;;3283:4:159;3277:11;;3315:1;3301:16;;3348:4;3337:16;;3330:27;;;3377:16;;;3370:27;;;3195:22;3423:16;;3410:30;;;38745:7:172;6500:1;38745:36;;;;;;;;:::i;:::-;;;;;;;;;;;:135;;;;38902:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38902:143:172;;;;;;;;;;;-1:-1:-1;;;;38902:143:172;;;;-1:-1:-1;38902:143:172;33879:5183::o;6057:849:150:-;6141:7;6211:8;253:2:148;6188:31:150;6184:706;;;253:2:148;6259:31:150;;;503:6:148;6312:21:150;;: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:148;6517:8:150;:31;6513:377;;;6590:31;;;416:1:148;6643:21:150;;: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:150;6867:8;;649:163:149;741:7;767:38;:1;776;339:4:148;796:8:149;767;:38::i;:::-;760:45;649:163;-1:-1:-1;;;;649:163:149:o;7325:878:150:-;7414:7;7484:14;253:2:148;7461:37:150;7457:730;;;253:2:148;7540:37:150;;;416:1:148;7599:21:150;;:25;7595:190;;7655:32;7672:1;7675:11;7655:16;:32::i;7457:730::-;253:2:148;7809:14:150;:37;7805:382;;;7886:37;;;503:6:148;7945:21:150;;:25;7941:185;;8001:31;8019:1;8022:9;8001:17;:31::i;39582:1324:172:-;39792:5;39703:18;:26;;;6840:1;39703:55;;;;;;;;:::i;:::-;;;;;;;7824:1;39703:86;;;;;;;;:::i;:::-;;;;;;:94;;;;;39897:6;39807:18;:26;;;7007:1;39807:56;;;;;;;;:::i;:::-;;;;;;;7824:1;39807:87;;;;;;;;:::i;:::-;;;;;;;;;;:96;39918:9;;39914:379;;40029:24;;:30;40014:46;;;;;;:14;:46;;;;;40094:26;;;;:55;;40277:5;;40014:46;40094:26;6840:1;;40094:55;;;;;;:::i;:::-;;;;;;;7125:1;40094:79;;;;;;;;:::i;:::-;;;;;;;40014:175;;;;;;;;;;;;;;;:259;40190:18;:26;;;6840:1;40190:55;;;;;;;;:::i;:::-;;;;;;;7367:1;40190:82;;;;;;;;:::i;:::-;;;;;;;40014:259;;;;;;;;;;;;:268;;;;;;;:::i;:::-;;;;-1:-1:-1;;39914:379:172;40306:10;;40302:384;;40419:24;;:30;40404:46;;;;;;:14;:46;;;;;40484:26;;;;:56;;40669:6;;40404:46;40484:26;7007:1;;40484:56;;;;;;:::i;:::-;;;;;;;7125:1;40484:80;;;;;;;;:::i;:::-;;;;;;;40404:176;;;;;;;;;;;;;;;:261;40581:18;:26;;;7007:1;40581:56;;;;;;;;:::i;:::-;;;;;;;7367:1;40581:83;;;;;;;;:::i;:::-;;;;;;;40404:261;;;;;;;;;;;;:271;;;;;;;:::i;:::-;;;;-1:-1:-1;;40302:384:172;40852:47;40860:10;40872:18;:26;;;40852:47;;;;;;;:::i;:::-;;;;;;;;39582:1324;;;:::o;40912:2667::-;41217:22;;;;:29;:33;41213:489;;41593:18;:24;;;:34;;;:40;;;:44;;;41638:18;:28;;;41668:18;:22;;;41593:98;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41213:489;41860:24;;:33;;;41856:1717;;;42353:30;42385:28;42417:18;:41;;;:68;;;:97;;;:120;;;42555:18;:24;;;:34;;;:40;;;42613:74;42643:18;:28;;;42681:4;1053:42:93;1150:25;;;1195:4;1188:20;1256:4;1243:18;;;933:344;42613:74:172;42705:64;42723:18;:24;;;:34;;;:45;;;42705:17;:64::i;:::-;42787:26;;;;42831:16;;;42845:1;42831:16;;;;;;;;;42417:444;;;;;;;;;;;;;;42787:26;42417:444;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43072:18;;42352:509;;-1:-1:-1;42352:509:172;-1:-1:-1;43072:22:172;43068:495;;43461:18;:24;;;:34;;;:40;;;:44;;;43506:18;:28;;;43536:11;43461:87;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41895:1678;;40912:2667;:::o;44123:654::-;44307:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44307:40:172;44488:72;44513:23;44538:21;44488:24;:72::i;:::-;44414:146;;44415:27;;;44414:146;44698:72;44723:21;44746:23;44698:24;:72::i;:::-;44656:26;;;44628:142;44629:25;;;44628:142;44629:16;44123:654;-1:-1:-1;;44123:654:172:o;6674:198:29:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;588:104:37:-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:37;;588:104;-1:-1:-1;588:104:37: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;;;;;;;42859:2:227;5720:111:27;;;42841:21:227;42898:2;42878:18;;;42871:30;42937:34;42917:18;;;42910:62;43008:12;42988:18;;;42981:40;43038:19;;5720:111:27;42657:406:227;11749:428:86;11839:15;11890:26;11923:21;11935:8;11923:11;:21::i;:::-;11947:1;11923:25;11919:1;:29;11890:58;;11962:14;11979:43;12000:8;12010:11;11979:20;:43::i;:::-;12094:44;;;;12090:57;;;12112:4;12090:57;;11749:428;-1:-1:-1;;;11749:428:86:o;550:376:153:-;615:4;650:1;635:5;:12;:16;631:34;;;-1:-1:-1;660:5:153;;550:376;-1:-1:-1;550:376:153:o;631:34::-;-1:-1:-1;846:1:153;835:13;829:20;691:16;825:32;667:18:152;883:36:153;;550:376::o;7166:2290:87:-;7301:18;7359:24;7400:14;:21;7386:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7386:36:87;;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:159;3277:11;;3315:1;3301:16;;2288:10:87;3348:4:159;3337:16;;3330:27;2326:4:87;3377:16:159;;;3370:27;2211:16:87;3423::159;;3410:30;;;3277:11;2172:169:87;7817:17;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:87;;: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:87;7389:34:33;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;8944:81:87;9055:14;9070:1;9055:17;;;;;;;;:::i;:::-;;;;;;;:27;;;8824:36;:284::i;:::-;8196:1010;;9164:19;;;;;;;;2308:25:227;;;2281:18;;9164:19:87;2162:177:227;8196:1010:87;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:87;7166:2290;-1:-1:-1;;;;;7166:2290:87:o;46814:214:172:-;46891:15;1517:4:89;1485:36;;;;;5054:1:172;1484:147:89;46925:96:172;863:785:89;3534:689:150;3614:9;726:2:148;3663:9:150;:34;3659:548;;3721:6;;:30;;3734:17;3721:30;;;3730:1;3721:30;3717:34;;3659:548;;;-1:-1:-1;3933:2:150;: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:148;3179:9:150;:34;3175:97;;3233:6;;:28;;3246:15;3252:9;3246:2;:15;:::i;:::-;3233:28;;;-1:-1:-1;3242:1:150;;2590:688;-1:-1:-1;;2590:688:150:o;5172:598::-;5253:9;726:2:148;5302:11:150;: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:150;5715:6;;5172:598;-1:-1:-1;;5172:598:150:o;4596:207::-;4670:7;726:2:148;4720:11:150;:36;;:66;;4774:11;4768:2;:17;4763:1;:23;;;;;:::i;:::-;;4720:66;;6012:299:37;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:37;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:37:o;47034:196:172:-;47105:15;1526:58:89;1517:4;1485:36;;;;;1484:101;47139:84:172;863:785:89;44783:2025:172;44966:18;44986:19;45210:27;45272:147;45358:21;:29;;;45389:16;45294:21;:31;;;45272:68;;:147;;;;;:::i;:::-;45473:33;;;;45210:219;;-1:-1:-1;45597:77:172;;;45593:183;;;-1:-1:-1;45750:13:172;45593:183;45921:163;45981:23;:29;;;:42;;;46024:23;:37;;;45981:81;;;;;;;;:::i;:::-;;;;;;;:90;;;45921:163;;46073:1;45943:16;45921:46;;:163;;;;;:::i;:::-;45907:177;;46173:26;46234:104;46288:23;:31;;;46321:16;46256;46234:53;;:104;;;;;:::i;:::-;46173:175;;46635:166;46690:21;:27;;;:40;;;46731:21;:35;;;46690:77;;;;;;;;:::i;46635:166::-;46358:443;;45007:1801;;;44783:2025;;;;;:::o;7058:325:29:-;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:29:o;4108:223::-;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;10570:572:86:-;10667:14;10779:21;10791:8;10779:11;:21::i;:::-;10764:11;:36;10760:119;;10846:8;10856:11;10823:45;;;;;;;;;;;;:::i;10760:119::-;-1:-1:-1;11113:1:86;11096:19;11074:42;11092:1;11074:42;11068:49;11119:6;11064:62;;10570:572::o;1014:366:34:-;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:34;-1:-1:-1;1256:26:34;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:37:-;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;;;;;;;45900:2:227;2952:53:37;;;45882:21:227;45939:2;45919:18;;;45912:30;45978:23;45958:18;;;45951:51;46019:18;;2952:53:37;45698:345:227;2952:53:37;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:37:o;7671:628:29:-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;1702:19;;;;8113:60;;;;;;;46250:2:227;8113:60:29;;;46232:21:227;46289:2;46269:18;;;46262:30;46328:31;46308:18;;;46301:59;46377:18;;8113:60:29;46048:353:227;8113:60:29;-1:-1:-1;8208:10:29;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;;;;;;;46608:2:227;5354:81:29;;;46590:21:227;46647:2;46627:18;;;46620:30;46686:34;46666:18;;;46659:62;46757:8;46737:18;;;46730:36;46783:19;;5354:81:29;46406:402:227;5354:81:29;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:29:o;2145:730:33:-;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:33;;-1:-1:-1;2822:35:33;2259:610;2145:730;;;;;:::o;1786:473:34:-;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:34;;2216:34;;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:34:o;8821:540:29:-;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:33:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:33;;-1:-1:-1;6123:30:33;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;47557:25:227;;;47630:4;47618:17;;47598:18;;;47591:45;;;;47652:18;;;47645:34;;;47695:18;;;47688:34;;;6276:24:33;;47529:19:227;;6276:24:33;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:33;;;;;;-1:-1:-1;;6314:20:33;;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:33;;-1:-1:-1;5009:1456:33;;;;;;;;:::o;14:154:227:-;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:227;531:18;;;518:32;;173:383;-1:-1:-1;;;173:383:227: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:227;;561:180;-1:-1:-1;561:180:227: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:227;1318:18;;1305:32;1346:33;1305:32;1346:33;:::i;:::-;1398:7;-1:-1:-1;1452:2:227;1437:18;;1424:32;;-1:-1:-1;1507:2:227;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:227;;-1:-1:-1;1871:2:227;1863:11;;1893:6;938:967;-1:-1:-1;;;938:967:227: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:227: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:570::-;4500:5;4548:4;4536:9;4531:3;4527:19;4523:30;4520:50;;;4566:1;4563;4556:12;4520:50;4588:22;;:::i;:::-;4579:31;;4647:9;4634:23;4666:33;4691:7;4666:33;:::i;:::-;4708:22;;4782:2;4767:18;;4754:32;4795:33;4754:32;4795:33;:::i;:::-;4855:2;4844:14;;4837:31;4920:2;4905:18;;4892:32;4933:33;4892:32;4933:33;:::i;:::-;4993:2;4982:14;;4975:31;4986:5;4442:570;-1:-1:-1;;4442:570:227:o;5017:185::-;5079:4;5112:18;5104:6;5101:30;5098:56;;;5134:18;;:::i;:::-;-1:-1:-1;5179:1:227;5175:14;5191:4;5171:25;;5017:185::o;5207:156::-;5273:20;;5333:4;5322:16;;5312:27;;5302:55;;5353:1;5350;5343:12;5368:419;5417:5;5465:4;5453:9;5448:3;5444:19;5440:30;5437:50;;;5483:1;5480;5473:12;5437:50;5505:22;;:::i;:::-;5496:31;;5564:9;5551:23;5583:33;5608:7;5583:33;:::i;:::-;5625:22;;5679:36;5711:2;5696:18;;5679:36;:::i;:::-;5674:2;5667:5;5663:14;5656:60;5776:2;5765:9;5761:18;5748:32;5743:2;5736:5;5732:14;5725:56;5368:419;;;;:::o;5792:703::-;5848:5;5901:3;5894:4;5886:6;5882:17;5878:27;5868:55;;5919:1;5916;5909:12;5868:55;5955:6;5942:20;5981:4;6005:62;6021:45;6063:2;6021:45;:::i;:::-;6005:62;:::i;:::-;6101:15;;;6163:4;6206:11;;;6194:24;;6190:33;;;6132:12;;;;6089:3;6235:15;;;6232:35;;;6263:1;6260;6253:12;6232:35;6299:2;6291:6;6287:15;6311:155;6327:6;6322:3;6319:15;6311:155;;;6393:30;6419:3;6414;6393:30;:::i;:::-;6381:43;;6444:12;;;;6344;;6311:155;;;-1:-1:-1;6484:5:227;;5792:703;-1:-1:-1;;;;;;;5792:703:227:o;6500:1052::-;6554:5;6602:4;6590:9;6585:3;6581:19;6577:30;6574:50;;;6620:1;6617;6610:12;6574:50;6653:2;6647:9;6695:4;6687:6;6683:17;6719:18;6787:6;6775:10;6772:22;6767:2;6755:10;6752:18;6749:46;6746:72;;;6798:18;;:::i;:::-;6838:10;6834:2;6827:22;6867:6;6858:15;;6910:9;6897:23;6882:38;;6929:33;6954:7;6929:33;:::i;:::-;6986:7;6978:6;6971:23;7027:35;7058:2;7047:9;7043:18;7027:35;:::i;:::-;7022:2;7014:6;7010:15;7003:60;7096:54;7146:3;7141:2;7130:9;7126:18;7096:54;:::i;:::-;7091:2;7083:6;7079:15;7072:79;7202:4;7191:9;7187:20;7174:34;7160:48;;7231:2;7223:6;7220:14;7217:34;;;7247:1;7244;7237:12;7217:34;7286:59;7341:3;7332:6;7321:9;7317:22;7286:59;:::i;:::-;7279:4;7271:6;7267:17;7260:86;7399:3;7388:9;7384:19;7371:33;7355:49;;7429:2;7419:8;7416:16;7413:36;;;7445:1;7442;7435:12;7413:36;;7484:61;7541:3;7530:8;7519:9;7515:24;7484:61;:::i;:::-;7477:4;7469:6;7465:17;7458:88;;;6500:1052;;;;:::o;7557:245::-;7605:4;7638:18;7630:6;7627:30;7624:56;;;7660:18;;:::i;:::-;-1:-1:-1;7717:2:227;7705:15;7722:66;7701:88;7791:4;7697:99;;7557:245::o;7807:462::-;7849:5;7902:3;7895:4;7887:6;7883:17;7879:27;7869:55;;7920:1;7917;7910:12;7869:55;7956:6;7943:20;7987:48;8003:31;8031:2;8003:31;:::i;7987:48::-;8060:2;8051:7;8044:19;8106:3;8099:4;8094:2;8086:6;8082:15;8078:26;8075:35;8072:55;;;8123:1;8120;8113:12;8072:55;8188:2;8181:4;8173:6;8169:17;8162:4;8153:7;8149:18;8136:55;8236:1;8211:16;;;8229:4;8207:27;8200:38;;;;8215:7;7807:462;-1:-1:-1;;;7807:462:227:o;8274:2554::-;8343:5;8396:3;8389:4;8381:6;8377:17;8373:27;8363:55;;8414:1;8411;8404:12;8363:55;8450:6;8437:20;8476:4;8500:62;8516:45;8558:2;8516:45;:::i;8500:62::-;8596:15;;;8682:1;8678:10;;;;8666:23;;8662:32;;;8627:12;;;;8706:15;;;8703:35;;;8734:1;8731;8724:12;8703:35;8770:2;8762:6;8758:15;8782:2017;8798:6;8793:3;8790:15;8782:2017;;;8884:3;8871:17;8911:18;8961:2;8948:11;8945:19;8942:39;;;8977:1;8974;8967:12;8942:39;9004:24;;;;9135:4;9052:12;;;9066:66;9048:85;9044:96;9041:186;;;9181:1;9210:2;9206;9199:14;9041:186;9253:22;;:::i;:::-;9324:2;9320;9316:11;9303:25;9341:33;9366:7;9341:33;:::i;:::-;9387:22;;9432:2;9476:11;;;9463:25;9504:16;;;9501:106;;;9561:1;9590:2;9586;9579:14;9501:106;9630:17;;9682:2;9674:11;;9670:21;-1:-1:-1;9660:119:227;;9733:1;9762:2;9758;9751:14;9660:119;9824:2;9820;9816:11;9803:25;9854:63;9870:46;9912:3;9870:46;:::i;9854:63::-;9961:18;;;10060:1;10056:11;;;;10048:20;;10044:29;;;10001:14;;;;10089:17;;;10086:110;;;10148:1;10178:3;10173;10166:16;10086:110;10222:11;;;;10246:174;10264:8;10257:5;10254:19;10246:174;;;10346:19;;10332:34;;10285:14;;;;10392;;;;10246:174;;;10440:14;;;10433:29;-1:-1:-1;;;10512:4:227;10504:13;;10491:27;10534:16;;;10531:109;;;10592:1;10622:3;10617;10610:16;10531:109;10676:49;10721:3;10716:2;10705:8;10701:2;10697:17;10693:26;10676:49;:::i;:::-;10660:14;;;10653:73;;;;-1:-1:-1;10739:18:227;;-1:-1:-1;;10777:12:227;;;;8815;;8782:2017;;;-1:-1:-1;10817:5:227;8274:2554;-1:-1:-1;;;;;;8274:2554:227:o;10833:1365::-;11130:6;11138;11146;11154;11162;11206:9;11197:7;11193:23;11236:3;11232:2;11228:12;11225:32;;;11253:1;11250;11243:12;11225:32;11293:9;11280:23;11322:18;11363:2;11355:6;11352:14;11349:34;;;11379:1;11376;11369:12;11349:34;11402:58;11452:7;11443:6;11432:9;11428:22;11402:58;:::i;:::-;11392:68;;11513:2;11502:9;11498:18;11485:32;11469:48;;11542:2;11532:8;11529:16;11526:36;;;11558:1;11555;11548:12;11526:36;11581:60;11633:7;11622:8;11611:9;11607:24;11581:60;:::i;:::-;11571:70;;11734:3;11665:66;11661:2;11657:75;11653:85;11650:105;;;11751:1;11748;11741:12;11650:105;11789:2;11778:9;11774:18;11764:28;;11845:3;11834:9;11830:19;11817:33;11801:49;;11875:2;11865:8;11862:16;11859:36;;;11891:1;11888;11881:12;11859:36;11914:78;11984:7;11973:8;11962:9;11958:24;11914:78;:::i;:::-;11904:88;;12045:3;12034:9;12030:19;12017:33;12001:49;;12075:2;12065:8;12062:16;12059:36;;;12091:1;12088;12081:12;12059:36;;;12114:78;12184:7;12173:8;12162:9;12158:24;12114:78;:::i;:::-;12104:88;;;10833:1365;;;;;;;;:::o;12203:626::-;12300:6;12308;12361:2;12349:9;12340:7;12336:23;12332:32;12329:52;;;12377:1;12374;12367:12;12329:52;12417:9;12404:23;12446:18;12487:2;12479:6;12476:14;12473:34;;;12503:1;12500;12493:12;12473:34;12541:6;12530:9;12526:22;12516:32;;12586:7;12579:4;12575:2;12571:13;12567:27;12557:55;;12608:1;12605;12598:12;12557:55;12648:2;12635:16;12674:2;12666:6;12663:14;12660:34;;;12690:1;12687;12680:12;12660:34;12743:7;12738:2;12728:6;12725:1;12721:14;12717:2;12713:23;12709:32;12706:45;12703:65;;;12764:1;12761;12754:12;12703:65;12795:2;12787:11;;;;;12817:6;;-1:-1:-1;12203:626:227;;-1:-1:-1;;;;12203:626:227:o;12834:250::-;12919:1;12929:113;12943:6;12940:1;12937:13;12929:113;;;13019:11;;;13013:18;13000:11;;;12993:39;12965:2;12958:10;12929:113;;;-1:-1:-1;;13076:1:227;13058:16;;13051:27;12834:250::o;13089:329::-;13130:3;13168:5;13162:12;13195:6;13190:3;13183:19;13211:76;13280:6;13273:4;13268:3;13264:14;13257:4;13250:5;13246:16;13211:76;:::i;:::-;13332:2;13320:15;13337:66;13316:88;13307:98;;;;13407:4;13303:109;;13089:329;-1:-1:-1;;13089:329:227:o;13423:859::-;13583:4;13612:2;13652;13641:9;13637:18;13682:2;13671:9;13664:21;13705:6;13740;13734:13;13771:6;13763;13756:22;13809:2;13798:9;13794:18;13787:25;;13871:2;13861:6;13858:1;13854:14;13843:9;13839:30;13835:39;13821:53;;13909:2;13901:6;13897:15;13930:1;13940:313;13954:6;13951:1;13948:13;13940:313;;;14043:66;14031:9;14023:6;14019:22;14015:95;14010:3;14003:108;14134:39;14166:6;14157;14151:13;14134:39;:::i;:::-;14124:49;-1:-1:-1;14231:12:227;;;;14196:15;;;;13976:1;13969:9;13940:313;;;-1:-1:-1;14270:6:227;;13423:859;-1:-1:-1;;;;;;;13423:859:227:o;14287:456::-;14364:6;14372;14380;14433:2;14421:9;14412:7;14408:23;14404:32;14401:52;;;14449:1;14446;14439:12;14401:52;14488:9;14475:23;14507:31;14532:5;14507:31;:::i;:::-;14557:5;-1:-1:-1;14614:2:227;14599:18;;14586:32;14627:33;14586:32;14627:33;:::i;:::-;14287:456;;14679:7;;-1:-1:-1;;;14733:2:227;14718:18;;;;14705:32;;14287:456::o;14748:315::-;14816:6;14824;14877:2;14865:9;14856:7;14852:23;14848:32;14845:52;;;14893:1;14890;14883:12;14845:52;14932:9;14919:23;14951:31;14976:5;14951:31;:::i;:::-;15001:5;15053:2;15038:18;;;;15025:32;;-1:-1:-1;;;14748:315:227:o;15068:388::-;15155:6;15208:2;15196:9;15187:7;15183:23;15179:32;15176:52;;;15224:1;15221;15214:12;15176:52;15264:9;15251:23;15297:18;15289:6;15286:30;15283:50;;;15329:1;15326;15319:12;15283:50;15352:22;;15408:3;15390:16;;;15386:26;15383:46;;;15425:1;15422;15415:12;16339:184;16391:77;16388:1;16381:88;16488:4;16485:1;16478:15;16512:4;16509:1;16502:15;16528:125;16593:9;;;16614:10;;;16611:36;;;16627:18;;:::i;16658:325::-;16746:6;16741:3;16734:19;16798:6;16791:5;16784:4;16779:3;16775:14;16762:43;;16850:1;16843:4;16834:6;16829:3;16825:16;16821:27;16814:38;16716:3;16972:4;16902:66;16897:2;16889:6;16885:15;16881:88;16876:3;16872:98;16868:109;16861:116;;16658:325;;;;:::o;16988:610::-;17220:4;17249:42;17330:2;17322:6;17318:15;17307:9;17300:34;17382:2;17374:6;17370:15;17365:2;17354:9;17350:18;17343:43;;17422:6;17417:2;17406:9;17402:18;17395:34;17465:6;17460:2;17449:9;17445:18;17438:34;17509:3;17503;17492:9;17488:19;17481:32;17530:62;17587:3;17576:9;17572:19;17564:6;17556;17530:62;:::i;:::-;17522:70;16988:610;-1:-1:-1;;;;;;;;16988:610:227:o;17603:184::-;17673:6;17726:2;17714:9;17705:7;17701:23;17697:32;17694:52;;;17742:1;17739;17732:12;17694:52;-1:-1:-1;17765:16:227;;17603:184;-1:-1:-1;17603:184:227:o;18394:394::-;18498:4;18556:11;18543:25;18646:66;18635:8;18619:14;18615:29;18611:102;18591:18;18587:127;18577:155;;18728:1;18725;18718:12;18577:155;18749:33;;;;;18394:394;-1:-1:-1;;18394:394:227:o;18793:580::-;18870:4;18876:6;18936:11;18923:25;19026:66;19015:8;18999:14;18995:29;18991:102;18971:18;18967:127;18957:155;;19108:1;19105;19098:12;18957:155;19135:33;;19187:20;;;-1:-1:-1;19230:18:227;19219:30;;19216:50;;;19262:1;19259;19252:12;19216:50;19295:4;19283:17;;-1:-1:-1;19326:14:227;19322:27;;;19312:38;;19309:58;;;19363:1;19360;19353:12;19378:630;19494:4;19500:6;19560:11;19547:25;19650:66;19639:8;19623:14;19619:29;19615:102;19595:18;19591:127;19581:155;;19732:1;19729;19722:12;19581:155;19759:33;;19811:20;;;-1:-1:-1;19854:18:227;19843:30;;19840:50;;;19886:1;19883;19876:12;19840:50;19919:4;19907:17;;-1:-1:-1;19978:4:227;19966:17;;19950:14;19946:38;19936:49;;19933:69;;;19998:1;19995;19988:12;20296:604;20389:4;20395:6;20455:11;20442:25;20545:66;20534:8;20518:14;20514:29;20510:102;20490:18;20486:127;20476:155;;20627:1;20624;20617:12;20476:155;20654:33;;20706:20;;;-1:-1:-1;20749:18:227;20738:30;;20735:50;;;20781:1;20778;20771:12;20735:50;20814:4;20802:17;;-1:-1:-1;20865:1:227;20861:14;;;20845;20841:35;20831:46;;20828:66;;;20890:1;20887;20880:12;20905:671;21150:2;21139:9;21132:21;21113:4;21176:61;21233:2;21222:9;21218:18;21210:6;21202;21176:61;:::i;:::-;21285:9;21277:6;21273:22;21268:2;21257:9;21253:18;21246:50;21320:6;21312;21305:22;21350:66;21342:6;21339:78;21336:98;;;21430:1;21427;21420:12;21336:98;21464:6;21461:1;21457:14;21518:6;21510;21505:2;21497:6;21493:15;21480:45;21546:19;21567:2;21542:28;;20905:671;-1:-1:-1;;;;;;20905:671:227:o;21581:1097::-;21740:6;21748;21756;21764;21817:3;21805:9;21796:7;21792:23;21788:33;21785:53;;;21834:1;21831;21824:12;21785:53;21866:9;21860:16;21885:31;21910:5;21885:31;:::i;:::-;21985:2;21970:18;;21964:25;21935:5;;-1:-1:-1;21998:33:227;21964:25;21998:33;:::i;:::-;22102:2;22087:18;;22081:25;22050:7;;-1:-1:-1;22115:33:227;22081:25;22115:33;:::i;:::-;22218:2;22203:18;;22197:25;22167:7;;-1:-1:-1;22245:18:227;22234:30;;22231:50;;;22277:1;22274;22267:12;22231:50;22300:22;;22353:4;22345:13;;22341:27;-1:-1:-1;22331:55:227;;22382:1;22379;22372:12;22331:55;22411:2;22405:9;22436:48;22452:31;22480:2;22452:31;:::i;22436:48::-;22507:2;22500:5;22493:17;22547:7;22542:2;22537;22533;22529:11;22525:20;22522:33;22519:53;;;22568:1;22565;22558:12;22519:53;22581:67;22645:2;22640;22633:5;22629:14;22624:2;22620;22616:11;22581:67;:::i;:::-;21581:1097;;;;-1:-1:-1;21581:1097:227;;-1:-1:-1;;;;21581:1097:227:o;22683:218::-;22763:6;22816:2;22804:9;22795:7;22791:23;22787:32;22784:52;;;22832:1;22829;22822:12;22784:52;22855:40;22887:7;22876:9;22855:40;:::i;22906:664::-;22961:3;22999:5;22993:12;23026:6;23021:3;23014:19;23052:4;23081:2;23076:3;23072:12;23065:19;;23118:2;23111:5;23107:14;23139:1;23149:396;23163:6;23160:1;23157:13;23149:396;;;23222:13;;23264:9;;23275:42;23260:58;23248:71;;23363:11;;;23357:18;23377:4;23353:29;23339:12;;;23332:51;23406:4;23450:11;;;23444:18;23430:12;;;23423:40;23492:4;23483:14;;;;23520:15;;;;23185:1;23178:9;23149:396;;;-1:-1:-1;23561:3:227;;22906:664;-1:-1:-1;;;;;22906:664:227:o;23575:835::-;23625:3;23653:42;23734:2;23726:5;23720:12;23716:21;23711:3;23704:34;23801:4;23794:5;23790:16;23784:23;23777:31;23770:39;23763:4;23758:3;23754:14;23747:63;23856:4;23849:5;23845:16;23839:23;23919:2;23904:12;23898:19;23894:28;23887:4;23882:3;23878:14;23871:52;23989:2;23981:4;23967:12;23963:23;23957:30;23953:39;23948:2;23943:3;23939:12;23932:61;24060:2;24052:4;24038:12;24034:23;24028:30;24024:39;24018:3;24013;24009:13;24002:62;;;24112:2;24105:5;24101:14;24095:21;24148:4;24141;24136:3;24132:14;24125:28;24174:62;24230:4;24225:3;24221:14;24205;24174:62;:::i;:::-;24162:74;;24284:3;24277:5;24273:15;24267:22;24331:3;24325:4;24321:14;24314:4;24309:3;24305:14;24298:38;24352:52;24399:4;24383:14;24352:52;:::i;24415:585::-;24674:4;24703:42;24784:2;24776:6;24772:15;24761:9;24754:34;24836:2;24828:6;24824:15;24819:2;24808:9;24804:18;24797:43;;24876:3;24871:2;24860:9;24856:18;24849:31;24897:54;24946:3;24935:9;24931:19;24923:6;24897:54;:::i;:::-;24889:62;;24987:6;24982:2;24971:9;24967:18;24960:34;24415:585;;;;;;;:::o;25005:435::-;25230:42;25222:6;25218:55;25207:9;25200:74;25310:6;25305:2;25294:9;25290:18;25283:34;25353:2;25348;25337:9;25333:18;25326:30;25181:4;25373:61;25430:2;25419:9;25415:18;25407:6;25399;25373:61;:::i;26092:184::-;26144:77;26141:1;26134:88;26241:4;26238:1;26231:15;26265:4;26262:1;26255:15;26281:394;26385:4;26443:11;26430:25;26533:66;26522:8;26506:14;26502:29;26498:102;26478:18;26474:127;26464:155;;26615:1;26612;26605:12;26680:972;26804:9;26863:4;26855:5;26839:14;26835:26;26831:37;26828:57;;;26881:1;26878;26871:12;26828:57;26914:2;26908:9;26956:4;26948:6;26944:17;26980:18;27048:6;27036:10;27033:22;27028:2;27016:10;27013:18;27010:46;27007:72;;;27059:18;;:::i;:::-;27099:10;27095:2;27088:22;27146:5;27133:19;27119:33;;27175:2;27167:6;27164:14;27161:34;;;27191:1;27188;27181:12;27161:34;27219:61;27265:14;27256:6;27249:5;27245:18;27219:61;:::i;:::-;27211:6;27204:77;27338:2;27331:5;27327:14;27314:28;27309:2;27301:6;27297:15;27290:53;27400:2;27393:5;27389:14;27376:28;27371:2;27363:6;27359:15;27352:53;27454:2;27447:5;27443:14;27430:28;27414:44;;27483:2;27473:8;27470:16;27467:36;;;27499:1;27496;27489:12;27467:36;;27536:81;27602:14;27591:8;27584:5;27580:20;27536:81;:::i;:::-;27531:2;27519:15;;27512:106;-1:-1:-1;27523:6:227;26680:972;-1:-1:-1;;26680:972:227:o;27657:384::-;27751:4;27809:11;27796:25;27899:66;27888:8;27872:14;27868:29;27864:102;27844:18;27840:127;27830:155;;27981:1;27978;27971:12;28378:182;28435:6;28488:2;28476:9;28467:7;28463:23;28459:32;28456:52;;;28504:1;28501;28494:12;28456:52;28527:27;28544:9;28527:27;:::i;29235:128::-;29302:9;;;29323:11;;;29320:37;;;29337:18;;:::i;29368:435::-;29421:3;29459:5;29453:12;29486:6;29481:3;29474:19;29512:4;29541:2;29536:3;29532:12;29525:19;;29578:2;29571:5;29567:14;29599:1;29609:169;29623:6;29620:1;29617:13;29609:169;;;29684:13;;29672:26;;29718:12;;;;29753:15;;;;29645:1;29638:9;29609:169;;29808:2006;30056:4;30085:42;30166:2;30158:6;30154:15;30143:9;30136:34;30189:2;30227:3;30222:2;30211:9;30207:18;30200:31;30266:6;30260:13;30310:3;30304;30293:9;30289:19;30282:32;30337:60;30392:3;30381:9;30377:19;30363:12;30337:60;:::i;:::-;30323:74;;30452:2;30444:6;30440:15;30434:22;30428:3;30417:9;30413:19;30406:51;30476:4;30535:2;30527:6;30523:15;30517:22;30511:3;30500:9;30496:19;30489:51;30559:4;30612:2;30604:6;30600:15;30594:22;30681:66;30669:9;30661:6;30657:22;30653:95;30647:3;30636:9;30632:19;30625:124;30769:6;30804:14;30798:21;30843:6;30835;30828:22;30878:2;30870:6;30866:15;30859:22;;30937:2;30927:6;30924:1;30920:14;30912:6;30908:27;30904:36;30983:2;30967:14;30963:23;30949:37;;31004:1;31014:685;31028:6;31025:1;31022:13;31014:685;;;31114:66;31105:6;31097;31093:19;31089:92;31084:3;31077:105;31211:6;31205:13;31261:2;31256;31250:9;31246:18;31238:6;31231:34;31314:2;31310;31306:11;31300:18;31355:2;31350;31342:6;31338:15;31331:27;31385:61;31442:2;31434:6;31430:15;31414:14;31385:61;:::i;:::-;31487:11;;;31481:18;31536:19;;;31519:15;;;31512:44;31481:18;31371:75;-1:-1:-1;31579:40:227;31371:75;31481:18;31579:40;:::i;:::-;31642:15;;;;31677:12;;;;31569:50;-1:-1:-1;;;31050:1:227;31043:9;31014:685;;;-1:-1:-1;31738:18:227;;;31731:34;;;;-1:-1:-1;;31781:18:227;;;31774:34;;;;-1:-1:-1;31716:6:227;;29808:2006;-1:-1:-1;;;;;;29808:2006:227:o;31819:1089::-;32161:4;32190:3;32232:42;32224:6;32220:55;32209:9;32202:74;32312:2;32307;32296:9;32292:18;32285:30;32338:53;32387:2;32376:9;32372:18;32364:6;32338:53;:::i;:::-;32324:67;;32439:9;32431:6;32427:22;32422:2;32411:9;32407:18;32400:50;32467:41;32501:6;32493;32467:41;:::i;:::-;32459:49;;;32557:6;32544:20;32539:2;32528:9;32524:18;32517:48;32627:2;32619:6;32615:15;32602:29;32596:3;32585:9;32581:19;32574:58;32694:2;32686:6;32682:15;32669:29;32663:3;32652:9;32648:19;32641:58;32761:2;32753:6;32749:15;32736:29;32730:3;32719:9;32715:19;32708:58;32828:3;32820:6;32816:16;32803:30;32797:3;32786:9;32782:19;32775:59;32896:3;32888:6;32884:16;32871:30;32865:3;32854:9;32850:19;32843:59;31819:1089;;;;;;;:::o;33471:195::-;33510:3;33541:66;33534:5;33531:77;33528:103;;33611:18;;:::i;:::-;-1:-1:-1;33658:1:227;33647:13;;33471:195::o;34218:::-;34322:9;34359:48;34392:14;34385:5;34359:48;:::i;34418:593::-;34499:5;34506:6;34566:3;34553:17;34648:66;34637:8;34621:14;34617:29;34613:102;34593:18;34589:127;34579:155;;34730:1;34727;34720:12;34579:155;34758:33;;34862:4;34849:18;;;-1:-1:-1;34810:21:227;;-1:-1:-1;34890:18:227;34879:30;;34876:50;;;34922:1;34919;34912:12;34876:50;34981:4;34973:6;34969:17;34953:14;34949:38;34942:5;34938:50;34935:70;;;35001:1;34998;34991:12;35016:753;35127:6;35122:3;35115:19;35097:3;35153:4;35182:2;35177:3;35173:12;35166:19;;35208:5;35231:1;35241:503;35255:6;35252:1;35249:13;35241:503;;;35332:6;35319:20;35352:33;35377:7;35352:33;:::i;:::-;35423:42;35410:56;35398:69;;35540:4;35505:33;35522:15;;;35505:33;:::i;:::-;35501:44;35487:12;;;35480:66;35569:4;35620:15;;;35607:29;35593:12;;;35586:51;35660:4;35684:12;;;;35719:15;;;;35277:1;35270:9;35241:503;;35774:1791;35976:4;36005:42;36086:2;36078:6;36074:15;36063:9;36056:34;36126:2;36121;36110:9;36106:18;36099:30;36164:6;36151:20;36180:31;36205:5;36180:31;:::i;:::-;36247:14;;36242:2;36227:18;;36220:42;36311:2;36299:15;;36286:29;36324:30;36286:29;36324:30;:::i;:::-;36398:15;36391:23;36385:3;36370:19;;36363:52;36464:4;36452:17;;36439:31;36479:33;36439:31;36479:33;:::i;:::-;36549:16;;36543:3;36528:19;;36521:45;36615:2;36603:15;;36590:29;36628:33;36590:29;36628:33;:::i;:::-;36698:16;;36692:3;36677:19;;36670:45;36764:3;36752:16;;36739:30;36778:33;36739:30;36778:33;:::i;:::-;36849:16;36842:4;36827:20;;36820:46;36909:79;36983:3;36971:16;;36975:6;36909:79;:::i;:::-;37025:4;37019:3;37008:9;37004:19;36997:33;37053:97;37145:3;37134:9;37130:19;37116:12;37102;37053:97;:::i;:::-;37039:111;;;37197:79;37271:3;37263:6;37259:16;37251:6;37197:79;:::i;:::-;37341:66;37329:9;37321:6;37317:22;37313:95;37307:3;37296:9;37292:19;37285:124;37426:88;37507:6;37491:14;37475;37426:88;:::i;:::-;37418:96;;;;;37552:6;37545:4;37534:9;37530:20;37523:36;35774:1791;;;;;;:::o;38232:260::-;38413:2;38402:9;38395:21;38376:4;38433:53;38482:2;38471:9;38467:18;38459:6;38433:53;:::i;38497:217::-;38644:2;38633:9;38626:21;38607:4;38664:44;38704:2;38693:9;38689:18;38681:6;38664:44;:::i;38719:673::-;38782:3;38813;38845:5;38839:12;38872:6;38867:3;38860:19;38898:4;38927:2;38922:3;38918:12;38911:19;;38983:2;38973:6;38970:1;38966:14;38959:5;38955:26;38951:35;39020:2;39013:5;39009:14;39041:1;39051:315;39065:6;39062:1;39059:13;39051:315;;;39148:66;39140:5;39134:4;39130:16;39126:89;39121:3;39114:102;39237:49;39281:4;39272:6;39266:13;39237:49;:::i;:::-;39344:12;;;;39229:57;-1:-1:-1;39309:15:227;;;;39087:1;39080:9;39051:315;;39397:901;39911:42;39903:6;39899:55;39888:9;39881:74;39991:6;39986:2;39975:9;39971:18;39964:34;40034:6;40029:2;40018:9;40014:18;40007:34;40077:3;40072:2;40061:9;40057:18;40050:31;39862:4;40104:67;40166:3;40155:9;40151:19;40143:6;40104:67;:::i;:::-;40220:9;40212:6;40208:22;40202:3;40191:9;40187:19;40180:51;40248:44;40285:6;40277;40248:44;:::i;40303:661::-;40368:5;40421:3;40414:4;40406:6;40402:17;40398:27;40388:55;;40439:1;40436;40429:12;40388:55;40468:6;40462:13;40494:4;40518:62;40534:45;40576:2;40534:45;:::i;40518:62::-;40614:15;;;40700:1;40696:10;;;;40684:23;;40680:32;;;40645:12;;;;40724:15;;;40721:35;;;40752:1;40749;40742:12;40721:35;40788:2;40780:6;40776:15;40800:135;40816:6;40811:3;40808:15;40800:135;;;40882:10;;40870:23;;40913:12;;;;40833;;40800:135;;40969:614;41098:6;41106;41159:2;41147:9;41138:7;41134:23;41130:32;41127:52;;;41175:1;41172;41165:12;41127:52;41208:9;41202:16;41237:18;41278:2;41270:6;41267:14;41264:34;;;41294:1;41291;41284:12;41264:34;41317:72;41381:7;41372:6;41361:9;41357:22;41317:72;:::i;:::-;41307:82;;41435:2;41424:9;41420:18;41414:25;41398:41;;41464:2;41454:8;41451:16;41448:36;;;41480:1;41477;41470:12;41448:36;;41503:74;41569:7;41558:8;41547:9;41543:24;41503:74;:::i;:::-;41493:84;;;40969:614;;;;;:::o;41588:441::-;41857:42;41849:6;41845:55;41834:9;41827:74;41937:2;41932;41921:9;41917:18;41910:30;41808:4;41957:66;42019:2;42008:9;42004:18;41996:6;41957:66;:::i;42034:368::-;42277:6;42266:9;42259:25;42320:2;42315;42304:9;42300:18;42293:30;42240:4;42340:56;42392:2;42381:9;42377:18;42369:6;42340:56;:::i;42407:245::-;42474:6;42527:2;42515:9;42506:7;42502:23;42498:32;42495:52;;;42543:1;42540;42533:12;42495:52;42575:9;42569:16;42594:28;42616:5;42594:28;:::i;43068:184::-;43120:77;43117:1;43110:88;43217:4;43214:1;43207:15;43241:4;43238:1;43231:15;43257:168;43330:9;;;43361;;43378:15;;;43372:22;;43358:37;43348:71;;43399:18;;:::i;43430:482::-;43519:1;43562:5;43519:1;43576:330;43597:7;43587:8;43584:21;43576:330;;;43716:4;43648:66;43644:77;43638:4;43635:87;43632:113;;;43725:18;;:::i;:::-;43775:7;43765:8;43761:22;43758:55;;;43795:16;;;;43758:55;43874:22;;;;43834:15;;;;43576:330;;;43580:3;43430:482;;;;;:::o;43917:866::-;43966:5;43996:8;43986:80;;-1:-1:-1;44037:1:227;44051:5;;43986:80;44085:4;44075:76;;-1:-1:-1;44122:1:227;44136:5;;44075:76;44167:4;44185:1;44180:59;;;;44253:1;44248:130;;;;44160:218;;44180:59;44210:1;44201:10;;44224:5;;;44248:130;44285:3;44275:8;44272:17;44269:43;;;44292:18;;:::i;:::-;-1:-1:-1;;44348:1:227;44334:16;;44363:5;;44160:218;;44462:2;44452:8;44449:16;44443:3;44437:4;44434:13;44430:36;44424:2;44414:8;44411:16;44406:2;44400:4;44397:12;44393:35;44390:77;44387:159;;;-1:-1:-1;44499:19:227;;;44531:5;;44387:159;44578:34;44603:8;44597:4;44578:34;:::i;:::-;44708:6;44640:66;44636:79;44627:7;44624:92;44621:118;;;44719:18;;:::i;:::-;44757:20;;43917:866;-1:-1:-1;;;43917:866:227:o;44788:131::-;44848:5;44877:36;44904:8;44898:4;44877:36;:::i;44924:184::-;44976:77;44973:1;44966:88;45073:4;45070:1;45063:15;45097:4;45094:1;45087:15;45113:287;45242:3;45280:6;45274:13;45296:66;45355:6;45350:3;45343:4;45335:6;45331:17;45296:66;:::i;45405:288::-;45580:2;45569:9;45562:21;45543:4;45600:44;45640:2;45629:9;45625:18;45617:6;45600:44;:::i;:::-;45592:52;;45680:6;45675:2;45664:9;45660:18;45653:34;45405:288;;;;;:::o;46813:::-;46988:6;46977:9;46970:25;47031:2;47026;47015:9;47011:18;47004:30;46951:4;47051:44;47091:2;47080:9;47076:18;47068:6;47051: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 DeployerDiscoverableMetaV3ConstructionConfig\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":[],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoSources\",\"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\":\"SourceIndexOutOfBounds\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"}],\"name\":\"UnsupportedCalculateInputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"outputs\",\"type\":\"uint256\"}],\"name\":\"UnsupportedCalculateOutputs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"inputs\",\"type\":\"uint256\"}],\"name\":\"UnsupportedHandleInputs\",\"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\":\"ZeroMaximumInput\",\"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 IExpressionDeployerV3\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2\",\"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 IExpressionDeployerV3\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV3\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"aliceOrder\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"bobOrder\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2[]\",\"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\":{\"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.\"}}],\"SourceIndexOutOfBounds(bytes,uint256)\":[{\"params\":{\"bytecode\":\"The bytecode that was inspected.\",\"sourceIndex\":\"The source index that was out of bounds.\"}}],\"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.\"}}],\"UnsupportedCalculateInputs(uint256)\":[{\"params\":{\"inputs\":\"The inputs the expression wants.\"}}],\"UnsupportedCalculateOutputs(uint256)\":[{\"params\":{\"outputs\":\"The outputs the expression offers.\"}}],\"UnsupportedHandleInputs(uint256)\":[{\"params\":{\"inputs\":\"The inputs the expression wants.\"}}],\"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\":{\"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()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"SameOwner(address)\":[{\"notice\":\"Thrown when two orders have the same owner during clear.\"}],\"SourceIndexOutOfBounds(bytes,uint256)\":[{\"notice\":\"Thrown when a bytecode source index 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.\"}],\"UnsupportedCalculateInputs(uint256)\":[{\"notice\":\"Thrown when calculate order expression wants inputs.\"}],\"UnsupportedCalculateOutputs(uint256)\":[{\"notice\":\"Thrown when calculate order expression offers too few outputs.\"}],\"UnsupportedHandleInputs(uint256)\":[{\"notice\":\"Thrown when handle IO expression wants inputs.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"ZeroMaximumInput()\":[{\"notice\":\"Thrown when take orders is called with a zero maximum input.\"}],\"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/\",\":bitwise/=lib/rain.interpreter/src/lib/bitwise/\",\":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/DeployerDiscoverableMetaV3.sol\":{\"keccak256\":\"0xe333361bf503def41107d2e38acb421f11766e636ffe0728fef933097c66857b\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://43b69e65c41a2cb13304d8d8b7fe31ee8d1cb55708b6cf60b799552bb09b4c1b\",\"dweb:/ipfs/QmXy4CDRjBVMezbH72uTkYJNrt6yQLVnjNkheD5773MKrn\"]},\"lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813\",\"dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3\",\"dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d\",\"dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol\":{\"keccak256\":\"0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214\",\"dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c\",\"dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol\":{\"keccak256\":\"0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3\",\"dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol\":{\"keccak256\":\"0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69\",\"dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg\"]},\"lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol\":{\"keccak256\":\"0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8\",\"dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew\"]},\"lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol\":{\"keccak256\":\"0xac53e84486e843acbabd6ba258550ba947c35c33a570e4615e57ff15a77d57e0\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e07c2907da9323f1d6d5b6557e87a904fdf1be3768ad64bb59655d060128bee4\",\"dweb:/ipfs/QmbukDZevfHYZ27yPqfmG1UFw8TsGbCRyH6Uc536QrtgHK\"]},\"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\":\"0x3949de1f4537cd262d54a06a64028343793c6110611c7b4967de3153de4b3b55\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9bdd88ec9a7dc671c33bf73e9fe1801bcf7d4a2eb4e6308186f8a7adc4b712dc\",\"dweb:/ipfs/Qme27jUCKETZ9ASPqVbyiQPGTj7ifgZdmRZcsJqgm5hkEW\"]},\"lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol\":{\"keccak256\":\"0x4f011d07a8fa4b24efccb02022bff68730d53c852424817a4ca3cfc134bbc455\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://fd0ffd2bdc5e2af1f2f67938d70e2ae694a0285a4fae4818530aa86edce400b1\",\"dweb:/ipfs/QmQAcoLvHatMANZpm5aP1vCaVm3xp1tF5MnZjQiX7AfiRe\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1\",\"dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn\"]},\"lib/rain.interpreter/src/lib/ns/LibNamespace.sol\":{\"keccak256\":\"0x29574214b0e499343ea999d676764a18618485dece1cedc732ab73e779302153\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://4de0c0b4d297bbe286bf2e6ec8ba38ef3ea93811826d910c00381df86e54661f\",\"dweb:/ipfs/QmdJv5EgqtuRo2iTdChUE5hjhJgtBhBzztYqPUXevU6J5y\"]},\"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\":\"0x7c8af4eadf49bf142d27079e4d17a508269b40a19672ca8ade7eb436b608e26e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1dc704e5a3e32fd90168f1b297160bffd61090de2a65e4e881f49fd980ce7fd4\",\"dweb:/ipfs/QmZhd6p6XzUEo3qHJTF7iwKkRUSvpwSrNHkEBxYYmumxtW\"]},\"src/concrete/OrderBook.sol\":{\"keccak256\":\"0xe5fb1a2b325029e79ad2129dee22c5954d57f2952b009074fdb55a3cebebcb9c\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://7457d8b36045f51a7200e8013b1f9babd12e7b59f9ae4017030b6d449cdc5a0b\",\"dweb:/ipfs/QmdL5cvSsf8qt3Cj8kjgjMcPqRWqeHA9bquP1KcuZ1oBen\"]},\"src/interface/deprecated/IOrderBookV2.sol\":{\"keccak256\":\"0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc\",\"dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4\",\"dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852\",\"dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT\"]},\"src/interface/unstable/IOrderBookV3OrderTaker.sol\":{\"keccak256\":\"0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9\",\"dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1\"]},\"src/lib/LibOrder.sol\":{\"keccak256\":\"0xa170543b2f0250c5ad500f918e83a3618c86aab9b4fdc428b1e9146d6c914bcb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://134077a0303267df981e9b5868e988989e01432e9eb21778c7432c5ee724c615\",\"dweb:/ipfs/QmSDbRcrBYQJEitQUCBgv9YZmMDiF6uk4HDGeje4qSe4Zc\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct DeployerDiscoverableMetaV3ConstructionConfig", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "meta", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": [], - "type": "error", - "name": "OrderNoHandleIO" - }, - { - "inputs": [], - "type": "error", - "name": "OrderNoInputs" - }, - { - "inputs": [], - "type": "error", - "name": "OrderNoOutputs" - }, - { - "inputs": [], - "type": "error", - "name": "OrderNoSources" - }, - { - "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": "SourceIndexOutOfBounds" - }, - { - "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": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - } - ], - "type": "error", - "name": "UnsupportedCalculateInputs" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "outputs", - "type": "uint256" - } - ], - "type": "error", - "name": "UnsupportedCalculateOutputs" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "inputs", - "type": "uint256" - } - ], - "type": "error", - "name": "UnsupportedHandleInputs" - }, - { - "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": "ZeroMaximumInput" - }, - { - "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 IExpressionDeployerV3", - "name": "expressionDeployer", - "type": "address", - "indexed": false - }, - { - "internalType": "struct OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 TakeOrderConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 EvaluableConfigV3", - "name": "evaluableConfig", - "type": "tuple", - "components": [ - { - "internalType": "contract IExpressionDeployerV3", - "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 OrderV2", - "name": "aliceOrder", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "bobOrder", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 TakeOrderConfigV2[]", - "name": "orders", - "type": "tuple[]", - "components": [ - { - "internalType": "struct OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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/", - "bitwise/=lib/rain.interpreter/src/lib/bitwise/", - "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/DeployerDiscoverableMetaV3.sol": { - "keccak256": "0xe333361bf503def41107d2e38acb421f11766e636ffe0728fef933097c66857b", - "urls": [ - "bzz-raw://43b69e65c41a2cb13304d8d8b7fe31ee8d1cb55708b6cf60b799552bb09b4c1b", - "dweb:/ipfs/QmXy4CDRjBVMezbH72uTkYJNrt6yQLVnjNkheD5773MKrn" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { - "keccak256": "0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc", - "urls": [ - "bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813", - "dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19", - "urls": [ - "bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3", - "dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol": { - "keccak256": "0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d", - "urls": [ - "bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d", - "dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol": { - "keccak256": "0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365", - "urls": [ - "bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214", - "dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol": { - "keccak256": "0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2", - "urls": [ - "bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c", - "dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol": { - "keccak256": "0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518", - "urls": [ - "bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3", - "dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol": { - "keccak256": "0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79", - "urls": [ - "bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69", - "dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol": { - "keccak256": "0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50", - "urls": [ - "bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8", - "dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol": { - "keccak256": "0xac53e84486e843acbabd6ba258550ba947c35c33a570e4615e57ff15a77d57e0", - "urls": [ - "bzz-raw://e07c2907da9323f1d6d5b6557e87a904fdf1be3768ad64bb59655d060128bee4", - "dweb:/ipfs/QmbukDZevfHYZ27yPqfmG1UFw8TsGbCRyH6Uc536QrtgHK" - ], - "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": "0x3949de1f4537cd262d54a06a64028343793c6110611c7b4967de3153de4b3b55", - "urls": [ - "bzz-raw://9bdd88ec9a7dc671c33bf73e9fe1801bcf7d4a2eb4e6308186f8a7adc4b712dc", - "dweb:/ipfs/Qme27jUCKETZ9ASPqVbyiQPGTj7ifgZdmRZcsJqgm5hkEW" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol": { - "keccak256": "0x4f011d07a8fa4b24efccb02022bff68730d53c852424817a4ca3cfc134bbc455", - "urls": [ - "bzz-raw://fd0ffd2bdc5e2af1f2f67938d70e2ae694a0285a4fae4818530aa86edce400b1", - "dweb:/ipfs/QmQAcoLvHatMANZpm5aP1vCaVm3xp1tF5MnZjQiX7AfiRe" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { - "keccak256": "0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21", - "urls": [ - "bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1", - "dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/ns/LibNamespace.sol": { - "keccak256": "0x29574214b0e499343ea999d676764a18618485dece1cedc732ab73e779302153", - "urls": [ - "bzz-raw://4de0c0b4d297bbe286bf2e6ec8ba38ef3ea93811826d910c00381df86e54661f", - "dweb:/ipfs/QmdJv5EgqtuRo2iTdChUE5hjhJgtBhBzztYqPUXevU6J5y" - ], - "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": "0x7c8af4eadf49bf142d27079e4d17a508269b40a19672ca8ade7eb436b608e26e", - "urls": [ - "bzz-raw://1dc704e5a3e32fd90168f1b297160bffd61090de2a65e4e881f49fd980ce7fd4", - "dweb:/ipfs/QmZhd6p6XzUEo3qHJTF7iwKkRUSvpwSrNHkEBxYYmumxtW" - ], - "license": "CAL" - }, - "src/concrete/OrderBook.sol": { - "keccak256": "0xe5fb1a2b325029e79ad2129dee22c5954d57f2952b009074fdb55a3cebebcb9c", - "urls": [ - "bzz-raw://7457d8b36045f51a7200e8013b1f9babd12e7b59f9ae4017030b6d449cdc5a0b", - "dweb:/ipfs/QmdL5cvSsf8qt3Cj8kjgjMcPqRWqeHA9bquP1KcuZ1oBen" - ], - "license": "CAL" - }, - "src/interface/deprecated/IOrderBookV2.sol": { - "keccak256": "0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb", - "urls": [ - "bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc", - "dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8" - ], - "license": "CAL" - }, - "src/interface/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", - "urls": [ - "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", - "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" - ], - "license": "CC0" - }, - "src/interface/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72", - "urls": [ - "bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4", - "dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie" - ], - "license": "CC0" - }, - "src/interface/unstable/IOrderBookV3.sol": { - "keccak256": "0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1", - "urls": [ - "bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852", - "dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT" - ], - "license": "CAL" - }, - "src/interface/unstable/IOrderBookV3OrderTaker.sol": { - "keccak256": "0x256cda8259c6c344e80ea5db35c7899e2c6f337ca040653ebdf7527e2e1d776e", - "urls": [ - "bzz-raw://5b26e4385457c5c18b0c4cb394d00662364912f082510df6015e0127059c05b9", - "dweb:/ipfs/QmaQmiW8dDDAcfzRJZVavcZo9QLeFrN44obvRydJouJbL1" - ], - "license": "CAL" - }, - "src/lib/LibOrder.sol": { - "keccak256": "0xa170543b2f0250c5ad500f918e83a3618c86aab9b4fdc428b1e9146d6c914bcb", - "urls": [ - "bzz-raw://134077a0303267df981e9b5868e988989e01432e9eb21778c7432c5ee724c615", - "dweb:/ipfs/QmSDbRcrBYQJEitQUCBgv9YZmMDiF6uk4HDGeje4qSe4Zc" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/concrete/OrderBook.sol", - "id": 78179, - "exportedSymbols": { - "CALCULATE_ORDER_ENTRYPOINT": [ - 75941 - ], - "CALCULATE_ORDER_MAX_OUTPUTS": [ - 75957 - ], - "CALCULATE_ORDER_MIN_OUTPUTS": [ - 75953 - ], - "CALLER_META_HASH": [ - 76020 - ], - "CALLING_CONTEXT_COLUMNS": [ - 75969 - ], - "CONTEXT_BASE_COLUMN": [ - 75973 - ], - "CONTEXT_CALCULATIONS_COLUMN": [ - 75981 - ], - "CONTEXT_CALLING_CONTEXT_COLUMN": [ - 75977 - ], - "CONTEXT_VAULT_INPUTS_COLUMN": [ - 75985 - ], - "CONTEXT_VAULT_IO_BALANCE_BEFORE": [ - 76005 - ], - "CONTEXT_VAULT_IO_BALANCE_DIFF": [ - 76009 - ], - "CONTEXT_VAULT_IO_ROWS": [ - 76013 - ], - "CONTEXT_VAULT_IO_TOKEN": [ - 75993 - ], - "CONTEXT_VAULT_IO_TOKEN_DECIMALS": [ - 75997 - ], - "CONTEXT_VAULT_IO_VAULT_ID": [ - 76001 - ], - "CONTEXT_VAULT_OUTPUTS_COLUMN": [ - 75989 - ], - "ClearConfig": [ - 78728 - ], - "ClearStateChange": [ - 78737 - ], - "DeployerDiscoverableMetaV3": [ - 54788 - ], - "DeployerDiscoverableMetaV3ConstructionConfig": [ - 54743 - ], - "EncodedDispatch": [ - 55875 - ], - "EvaluableV2": [ - 55632 - ], - "FLAG_ROUND_UP": [ - 72386 - ], - "FLAG_SATURATE": [ - 72392 - ], - "HANDLE_IO_ENTRYPOINT": [ - 75949 - ], - "HANDLE_IO_MAX_OUTPUTS": [ - 75965 - ], - "HANDLE_IO_MIN_OUTPUTS": [ - 75961 - ], - "IERC20": [ - 44376 - ], - "IExpressionDeployerV3": [ - 55986 - ], - "IInterpreterStoreV1": [ - 55698 - ], - "IInterpreterV2": [ - 56032 - ], - "IOrderBookV3": [ - 79289 - ], - "IOrderBookV3OrderTaker": [ - 79323 - ], - "Input18Amount": [ - 76045 - ], - "LibBytecode": [ - 56710 - ], - "LibContext": [ - 57009 - ], - "LibEncodedDispatch": [ - 57164 - ], - "LibFixedPointDecimalArithmeticOpenZeppelin": [ - 72453 - ], - "LibFixedPointDecimalScale": [ - 72859 - ], - "LibMeta": [ - 73191 - ], - "LibNamespace": [ - 57900 - ], - "LibOrder": [ - 79345 - ], - "LibUint256Array": [ - 73827 - ], - "Math": [ - 46932 - ], - "MinimumInput": [ - 75905 - ], - "Multicall": [ - 45336 - ], - "NoOrders": [ - 78997 - ], - "NotOrderOwner": [ - 75884 - ], - "ORDER_DEAD": [ - 75933 - ], - "ORDER_LIVE": [ - 75929 - ], - "OrderBook": [ - 78178 - ], - "OrderBookV3FlashLender": [ - 75553 - ], - "OrderConfigV2": [ - 79014 - ], - "OrderIOCalculationV2": [ - 76041 - ], - "OrderV2": [ - 79042 - ], - "Output18Amount": [ - 76043 - ], - "ReentrancyGuard": [ - 43711 - ], - "ReentrancyGuardReentrantCall": [ - 75877 - ], - "SafeERC20": [ - 44813 - ], - "SameOwner": [ - 75910 - ], - "SignedContextV1": [ - 55640 - ], - "SourceIndexV2": [ - 55998 - ], - "StateNamespace": [ - 55877 - ], - "TakeOrderConfigV2": [ - 79026 - ], - "TakeOrdersConfigV2": [ - 79055 - ], - "TokenDecimalsMismatch": [ - 75898 - ], - "TokenMismatch": [ - 75891 - ], - "UnsupportedCalculateInputs": [ - 75915 - ], - "UnsupportedCalculateOutputs": [ - 75920 - ], - "UnsupportedHandleInputs": [ - 75925 - ], - "ZeroMaximumInput": [ - 79000 - ] - }, - "nodeType": "SourceUnit", - "src": "32:47201:172", - "nodes": [ - { - "id": 75814, - "nodeType": "PragmaDirective", - "src": "32:24:172", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 75816, - "nodeType": "ImportDirective", - "src": "58:74:172", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "openzeppelin-contracts/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 46933, - "symbolAliases": [ - { - "foreign": { - "id": 75815, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46932, - "src": "66:4:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75818, - "nodeType": "ImportDirective", - "src": "133:79:172", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/Multicall.sol", - "file": "openzeppelin-contracts/contracts/utils/Multicall.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 45337, - "symbolAliases": [ - { - "foreign": { - "id": 75817, - "name": "Multicall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45336, - "src": "141:9:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75820, - "nodeType": "ImportDirective", - "src": "213:79:172", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 44377, - "symbolAliases": [ - { - "foreign": { - "id": 75819, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "221:6:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75822, - "nodeType": "ImportDirective", - "src": "293:91:172", - "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": 78179, - "sourceUnit": 44814, - "symbolAliases": [ - { - "foreign": { - "id": 75821, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44813, - "src": "301:9:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75824, - "nodeType": "ImportDirective", - "src": "385:94:172", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "file": "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 43712, - "symbolAliases": [ - { - "foreign": { - "id": 75823, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43711, - "src": "393:15:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75827, - "nodeType": "ImportDirective", - "src": "481:101:172", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/lib/FixedPointDecimalConstants.sol", - "file": "rain.math.fixedpoint/lib/FixedPointDecimalConstants.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 72403, - "symbolAliases": [ - { - "foreign": { - "id": 75825, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72392, - "src": "489:13:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75826, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72386, - "src": "504:13:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75829, - "nodeType": "ImportDirective", - "src": "583:135:172", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", - "file": "rain.math.fixedpoint/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 72454, - "symbolAliases": [ - { - "foreign": { - "id": 75828, - "name": "LibFixedPointDecimalArithmeticOpenZeppelin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72453, - "src": "591:42:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75831, - "nodeType": "ImportDirective", - "src": "719:97:172", - "nodes": [], - "absolutePath": "lib/rain.math.fixedpoint/src/lib/LibFixedPointDecimalScale.sol", - "file": "rain.math.fixedpoint/lib/LibFixedPointDecimalScale.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 72860, - "symbolAliases": [ - { - "foreign": { - "id": 75830, - "name": "LibFixedPointDecimalScale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72859, - "src": "727:25:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75834, - "nodeType": "ImportDirective", - "src": "817:107:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "file": "rain.interpreter/src/lib/caller/LibEncodedDispatch.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 57165, - "symbolAliases": [ - { - "foreign": { - "id": 75832, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57164, - "src": "825:18:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75833, - "name": "EncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55875, - "src": "845:15:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75836, - "nodeType": "ImportDirective", - "src": "925:74:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibContext.sol", - "file": "rain.interpreter/src/lib/caller/LibContext.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 57010, - "symbolAliases": [ - { - "foreign": { - "id": 75835, - "name": "LibContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57009, - "src": "933:10:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75840, - "nodeType": "ImportDirective", - "src": "1000:173:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/abstract/DeployerDiscoverableMetaV3.sol", - "file": "rain.interpreter/src/abstract/DeployerDiscoverableMetaV3.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 54789, - "symbolAliases": [ - { - "foreign": { - "id": 75837, - "name": "DeployerDiscoverableMetaV3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54788, - "src": "1013:26:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75838, - "name": "DeployerDiscoverableMetaV3ConstructionConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54743, - "src": "1045:44:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75839, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73191, - "src": "1095:7:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75842, - "nodeType": "ImportDirective", - "src": "1174:78:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "file": "rain.interpreter/src/lib/bytecode/LibBytecode.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 56711, - "symbolAliases": [ - { - "foreign": { - "id": 75841, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56710, - "src": "1182:11:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75846, - "nodeType": "ImportDirective", - "src": "1253:127:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol", - "file": "rain.interpreter/src/interface/unstable/IInterpreterV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 56033, - "symbolAliases": [ - { - "foreign": { - "id": 75843, - "name": "SourceIndexV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55998, - "src": "1266:13:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75844, - "name": "StateNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55877, - "src": "1281:14:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75845, - "name": "IInterpreterV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56032, - "src": "1297:14:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75856, - "nodeType": "ImportDirective", - "src": "1381:228:172", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3.sol", - "file": "../interface/unstable/IOrderBookV3.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 79290, - "symbolAliases": [ - { - "foreign": { - "id": 75847, - "name": "IOrderBookV3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79289, - "src": "1394:12:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75848, - "name": "NoOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78997, - "src": "1412:8:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75849, - "name": "OrderV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79042, - "src": "1426:7:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75850, - "name": "OrderConfigV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79014, - "src": "1439:13:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75851, - "name": "TakeOrderConfigV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79026, - "src": "1458:17:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75852, - "name": "TakeOrdersConfigV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79055, - "src": "1481:18:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75853, - "name": "ClearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78728, - "src": "1505:11:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75854, - "name": "ClearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78737, - "src": "1522:16:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 75855, - "name": "ZeroMaximumInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79000, - "src": "1544:16:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75858, - "nodeType": "ImportDirective", - "src": "1610:88:172", - "nodes": [], - "absolutePath": "src/interface/unstable/IOrderBookV3OrderTaker.sol", - "file": "../interface/unstable/IOrderBookV3OrderTaker.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 79324, - "symbolAliases": [ - { - "foreign": { - "id": 75857, - "name": "IOrderBookV3OrderTaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79323, - "src": "1618:22:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75860, - "nodeType": "ImportDirective", - "src": "1699:45:172", - "nodes": [], - "absolutePath": "src/lib/LibOrder.sol", - "file": "../lib/LibOrder.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 79346, - "symbolAliases": [ - { - "foreign": { - "id": 75859, - "name": "LibOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79345, - "src": "1707:8:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75862, - "nodeType": "ImportDirective", - "src": "1745:78:172", - "nodes": [], - "absolutePath": "src/abstract/OrderBookV3FlashLender.sol", - "file": "../abstract/OrderBookV3FlashLender.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 75554, - "symbolAliases": [ - { - "foreign": { - "id": 75861, - "name": "OrderBookV3FlashLender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75553, - "src": "1753:22:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75864, - "nodeType": "ImportDirective", - "src": "1824:68:172", - "nodes": [], - "absolutePath": "lib/rain.solmem/src/lib/LibUint256Array.sol", - "file": "rain.solmem/lib/LibUint256Array.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 73828, - "symbolAliases": [ - { - "foreign": { - "id": 75863, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "1832:15:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75866, - "nodeType": "ImportDirective", - "src": "1893:88:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol", - "file": "rain.interpreter/src/interface/IInterpreterCallerV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 55661, - "symbolAliases": [ - { - "foreign": { - "id": 75865, - "name": "SignedContextV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55640, - "src": "1901:15:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75868, - "nodeType": "ImportDirective", - "src": "1982:77:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol", - "file": "rain.interpreter/src/lib/caller/LibEvaluable.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 57188, - "symbolAliases": [ - { - "foreign": { - "id": 75867, - "name": "EvaluableV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55632, - "src": "1990:11:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75870, - "nodeType": "ImportDirective", - "src": "2060:91:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol", - "file": "rain.interpreter/src/interface/IInterpreterStoreV1.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 55699, - "symbolAliases": [ - { - "foreign": { - "id": 75869, - "name": "IInterpreterStoreV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55698, - "src": "2068:19:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75872, - "nodeType": "ImportDirective", - "src": "2152:104:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol", - "file": "rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 55987, - "symbolAliases": [ - { - "foreign": { - "id": 75871, - "name": "IExpressionDeployerV3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55986, - "src": "2160:21:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75874, - "nodeType": "ImportDirective", - "src": "2257:74:172", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/ns/LibNamespace.sol", - "file": "rain.interpreter/src/lib/ns/LibNamespace.sol", - "nameLocation": "-1:-1:-1", - "scope": 78179, - "sourceUnit": 57901, - "symbolAliases": [ - { - "foreign": { - "id": 75873, - "name": "LibNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57900, - "src": "2265:12:172", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 75877, - "nodeType": "ErrorDefinition", - "src": "2434:37:172", - "nodes": [], - "documentation": { - "id": 75875, - "nodeType": "StructuredDocumentation", - "src": "2333: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": "2440:28:172", - "parameters": { - "id": 75876, - "nodeType": "ParameterList", - "parameters": [], - "src": "2468:2:172" - } - }, - { - "id": 75884, - "nodeType": "ErrorDefinition", - "src": "2647:51:172", - "nodes": [], - "documentation": { - "id": 75878, - "nodeType": "StructuredDocumentation", - "src": "2473: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": "2653:13:172", - "parameters": { - "id": 75883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75880, - "mutability": "mutable", - "name": "sender", - "nameLocation": "2675:6:172", - "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "2667:14:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2667:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75882, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2691:5:172", - "nodeType": "VariableDeclaration", - "scope": 75884, - "src": "2683:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75881, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2683:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2666:31:172" - } - }, - { - "id": 75891, - "nodeType": "ErrorDefinition", - "src": "2915:58:172", - "nodes": [], - "documentation": { - "id": 75885, - "nodeType": "StructuredDocumentation", - "src": "2700: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": "2921:13:172", - "parameters": { - "id": 75890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75887, - "mutability": "mutable", - "name": "aliceToken", - "nameLocation": "2943:10:172", - "nodeType": "VariableDeclaration", - "scope": 75891, - "src": "2935:18:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2935:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75889, - "mutability": "mutable", - "name": "bobToken", - "nameLocation": "2963:8:172", - "nodeType": "VariableDeclaration", - "scope": 75891, - "src": "2955:16:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75888, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2955:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2934:38:172" - } - }, - { - "id": 75898, - "nodeType": "ErrorDefinition", - "src": "3215:78:172", - "nodes": [], - "documentation": { - "id": 75892, - "nodeType": "StructuredDocumentation", - "src": "2975: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": "3221:21:172", - "parameters": { - "id": 75897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75894, - "mutability": "mutable", - "name": "aliceTokenDecimals", - "nameLocation": "3249:18:172", - "nodeType": "VariableDeclaration", - "scope": 75898, - "src": "3243:24:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75893, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3243:5:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75896, - "mutability": "mutable", - "name": "bobTokenDecimals", - "nameLocation": "3275:16:172", - "nodeType": "VariableDeclaration", - "scope": 75898, - "src": "3269:22:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75895, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3269:5:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "3242:50:172" - } - }, - { - "id": 75905, - "nodeType": "ErrorDefinition", - "src": "3439:56:172", - "nodes": [], - "documentation": { - "id": 75899, - "nodeType": "StructuredDocumentation", - "src": "3295: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": "3445:12:172", - "parameters": { - "id": 75904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75901, - "mutability": "mutable", - "name": "minimumInput", - "nameLocation": "3466:12:172", - "nodeType": "VariableDeclaration", - "scope": 75905, - "src": "3458:20:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3458:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75903, - "mutability": "mutable", - "name": "input", - "nameLocation": "3488:5:172", - "nodeType": "VariableDeclaration", - "scope": 75905, - "src": "3480:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3480:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3457:37:172" - } - }, - { - "id": 75910, - "nodeType": "ErrorDefinition", - "src": "3601:31:172", - "nodes": [], - "documentation": { - "id": 75906, - "nodeType": "StructuredDocumentation", - "src": "3497: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": "3607:9:172", - "parameters": { - "id": 75909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75908, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3625:5:172", - "nodeType": "VariableDeclaration", - "scope": 75910, - "src": "3617:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3617:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3616:15:172" - } - }, - { - "id": 75915, - "nodeType": "ErrorDefinition", - "src": "3742:49:172", - "nodes": [], - "documentation": { - "id": 75911, - "nodeType": "StructuredDocumentation", - "src": "3634:108:172", - "text": "Thrown when calculate order expression wants inputs.\n @param inputs The inputs the expression wants." - }, - "errorSelector": "9a6f079e", - "name": "UnsupportedCalculateInputs", - "nameLocation": "3748:26:172", - "parameters": { - "id": 75914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75913, - "mutability": "mutable", - "name": "inputs", - "nameLocation": "3783:6:172", - "nodeType": "VariableDeclaration", - "scope": 75915, - "src": "3775:14:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3775:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3774:16:172" - } - }, - { - "id": 75920, - "nodeType": "ErrorDefinition", - "src": "3914:51:172", - "nodes": [], - "documentation": { - "id": 75916, - "nodeType": "StructuredDocumentation", - "src": "3793:121:172", - "text": "Thrown when calculate order expression offers too few outputs.\n @param outputs The outputs the expression offers." - }, - "errorSelector": "3eee3954", - "name": "UnsupportedCalculateOutputs", - "nameLocation": "3920:27:172", - "parameters": { - "id": 75919, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75918, - "mutability": "mutable", - "name": "outputs", - "nameLocation": "3956:7:172", - "nodeType": "VariableDeclaration", - "scope": 75920, - "src": "3948:15:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75917, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3948:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3947:17:172" - } - }, - { - "id": 75925, - "nodeType": "ErrorDefinition", - "src": "4069:46:172", - "nodes": [], - "documentation": { - "id": 75921, - "nodeType": "StructuredDocumentation", - "src": "3967:102:172", - "text": "Thrown when handle IO expression wants inputs.\n @param inputs The inputs the expression wants." - }, - "errorSelector": "9d5f7098", - "name": "UnsupportedHandleInputs", - "nameLocation": "4075:23:172", - "parameters": { - "id": 75924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75923, - "mutability": "mutable", - "name": "inputs", - "nameLocation": "4107:6:172", - "nodeType": "VariableDeclaration", - "scope": 75925, - "src": "4099:14:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4099:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4098:16:172" - } - }, - { - "id": 75929, - "nodeType": "VariableDeclaration", - "src": "4243:31:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_LIVE", - "nameLocation": "4260:10:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4243:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 75928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4273:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 75933, - "nodeType": "VariableDeclaration", - "src": "4447:31:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "ORDER_DEAD", - "nameLocation": "4464:10:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4447:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 75932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4477:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 75941, - "nodeType": "VariableDeclaration", - "src": "4550:73:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nameLocation": "4573:26:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - }, - "typeName": { - "id": 75936, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75935, - "name": "SourceIndexV2", - "nameLocations": [ - "4550:13:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55998, - "src": "4550:13:172" - }, - "referencedDeclaration": 55998, - "src": "4550:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - }, - "value": { - "arguments": [ - { - "hexValue": "30", - "id": 75939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4621: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": 75937, - "name": "SourceIndexV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55998, - "src": "4602:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndexV2_$55998_$", - "typeString": "type(SourceIndexV2)" - } - }, - "id": 75938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4616:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "4602:18:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_SourceIndexV2_$55998_$", - "typeString": "function (uint256) pure returns (SourceIndexV2)" - } - }, - "id": 75940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4602:21:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - }, - "visibility": "internal" - }, - { - "id": 75949, - "nodeType": "VariableDeclaration", - "src": "4746:67:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_ENTRYPOINT", - "nameLocation": "4769:20:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - }, - "typeName": { - "id": 75944, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75943, - "name": "SourceIndexV2", - "nameLocations": [ - "4746:13:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55998, - "src": "4746:13:172" - }, - "referencedDeclaration": 55998, - "src": "4746:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 75947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4811: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": 75945, - "name": "SourceIndexV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55998, - "src": "4792:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndexV2_$55998_$", - "typeString": "type(SourceIndexV2)" - } - }, - "id": 75946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4806:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "4792:18:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_SourceIndexV2_$55998_$", - "typeString": "function (uint256) pure returns (SourceIndexV2)" - } - }, - "id": 75948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4792:21:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - }, - "visibility": "internal" - }, - { - "id": 75953, - "nodeType": "VariableDeclaration", - "src": "4887:48:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nameLocation": "4904:27:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4887:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 75952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4934:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 75957, - "nodeType": "VariableDeclaration", - "src": "5008:47:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nameLocation": "5024:27:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 75955, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "5008:6:172", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "32", - "id": 75956, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5054:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 75961, - "nodeType": "VariableDeclaration", - "src": "5132:42:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MIN_OUTPUTS", - "nameLocation": "5149:21:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5132:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 75960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5173:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 75965, - "nodeType": "VariableDeclaration", - "src": "5250:41:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "HANDLE_IO_MAX_OUTPUTS", - "nameLocation": "5266:21:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 75963, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "5250:6:172", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": { - "hexValue": "30", - "id": 75964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5290:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 75969, - "nodeType": "VariableDeclaration", - "src": "5829:44:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLING_CONTEXT_COLUMNS", - "nameLocation": "5846:23:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5829:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 75968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5872:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 75973, - "nodeType": "VariableDeclaration", - "src": "5914:40:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_BASE_COLUMN", - "nameLocation": "5931:19:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5914:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 75972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5953:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 75977, - "nodeType": "VariableDeclaration", - "src": "6255:51:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nameLocation": "6272:30:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6255:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 75976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6305:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 75981, - "nodeType": "VariableDeclaration", - "src": "6453:48:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nameLocation": "6470:27:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6453:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 75980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6500:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 75985, - "nodeType": "VariableDeclaration", - "src": "6793:48:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nameLocation": "6810:27:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6793:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 75984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6840:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 75989, - "nodeType": "VariableDeclaration", - "src": "6959:49:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nameLocation": "6976:28:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6959:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 75988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7007:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 75993, - "nodeType": "VariableDeclaration", - "src": "7083:43:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN", - "nameLocation": "7100:22:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7083:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 75992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7125:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "id": 75997, - "nodeType": "VariableDeclaration", - "src": "7201:52:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_TOKEN_DECIMALS", - "nameLocation": "7218:31:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7201:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 75996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7252:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" - }, - { - "id": 76001, - "nodeType": "VariableDeclaration", - "src": "7322:46:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nameLocation": "7339:25:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7322:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "32", - "id": 76000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7367:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "internal" - }, - { - "id": 76005, - "nodeType": "VariableDeclaration", - "src": "7475:52:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_BEFORE", - "nameLocation": "7492:31:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76003, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7475:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "33", - "id": 76004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7526:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "internal" - }, - { - "id": 76009, - "nodeType": "VariableDeclaration", - "src": "7775:50:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nameLocation": "7792:29:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76007, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7775:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "34", - "id": 76008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7824:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "visibility": "internal" - }, - { - "id": 76013, - "nodeType": "VariableDeclaration", - "src": "7865:42:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CONTEXT_VAULT_IO_ROWS", - "nameLocation": "7882:21:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7865:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 76012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7906:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "internal" - }, - { - "id": 76020, - "nodeType": "VariableDeclaration", - "src": "7974:111:172", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "CALLER_META_HASH", - "nameLocation": "7991:16:172", - "scope": 78179, - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 76015, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7974:7:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307834333833646433633561353537663136313033383934303136316638383039363365316434613331653866326461373731343237623839313935366164383331", - "id": 76018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8018:66:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_30537944733617534553462360936136264253483338970165795821887900705454115444785_by_1", - "typeString": "int_const 3053...(69 digits omitted)...4785" - }, - "value": "0x4383dd3c5a557f161038940161f880963e1d4a31e8f2da771427b891956ad831" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_30537944733617534553462360936136264253483338970165795821887900705454115444785_by_1", - "typeString": "int_const 3053...(69 digits omitted)...4785" - } - ], - "id": 76017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8010:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 76016, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8010:7:172", - "typeDescriptions": {} - } - }, - "id": 76019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8010:75:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 76041, - "nodeType": "StructDefinition", - "src": "10212:253:172", - "nodes": [], - "canonicalName": "OrderIOCalculationV2", - "members": [ - { - "constant": false, - "id": 76023, - "mutability": "mutable", - "name": "order", - "nameLocation": "10254:5:172", - "nodeType": "VariableDeclaration", - "scope": 76041, - "src": "10246:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 76022, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76021, - "name": "OrderV2", - "nameLocations": [ - "10246:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "10246:7:172" - }, - "referencedDeclaration": 79042, - "src": "10246:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76025, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "10273:13:172", - "nodeType": "VariableDeclaration", - "scope": 76041, - "src": "10265:21:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10265:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76028, - "mutability": "mutable", - "name": "outputMax", - "nameLocation": "10307:9:172", - "nodeType": "VariableDeclaration", - "scope": 76041, - "src": "10292:24:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76027, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76026, - "name": "Output18Amount", - "nameLocations": [ - "10292:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76043, - "src": "10292:14:172" - }, - "referencedDeclaration": 76043, - "src": "10292:14:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76030, - "mutability": "mutable", - "name": "IORatio", - "nameLocation": "10381:7:172", - "nodeType": "VariableDeclaration", - "scope": 76041, - "src": "10373:15:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10373:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76034, - "mutability": "mutable", - "name": "context", - "nameLocation": "10406:7:172", - "nodeType": "VariableDeclaration", - "scope": 76041, - "src": "10394: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": 76031, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10394:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76032, - "nodeType": "ArrayTypeName", - "src": "10394:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 76033, - "nodeType": "ArrayTypeName", - "src": "10394:11:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76037, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "10434:9:172", - "nodeType": "VariableDeclaration", - "scope": 76041, - "src": "10419:24:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 76036, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76035, - "name": "StateNamespace", - "nameLocations": [ - "10419:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55877, - "src": "10419:14:172" - }, - "referencedDeclaration": 55877, - "src": "10419:14:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76040, - "mutability": "mutable", - "name": "kvs", - "nameLocation": "10459:3:172", - "nodeType": "VariableDeclaration", - "scope": 76041, - "src": "10449:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10449:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76039, - "nodeType": "ArrayTypeName", - "src": "10449:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "name": "OrderIOCalculationV2", - "nameLocation": "10219:20:172", - "scope": 78179, - "visibility": "public" - }, - { - "id": 76043, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "10467:31:172", - "nodes": [], - "canonicalName": "Output18Amount", - "name": "Output18Amount", - "nameLocation": "10472:14:172", - "underlyingType": { - "id": 76042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10490:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 76045, - "nodeType": "UserDefinedValueTypeDefinition", - "src": "10500:30:172", - "nodes": [], - "canonicalName": "Input18Amount", - "name": "Input18Amount", - "nameLocation": "10505:13:172", - "underlyingType": { - "id": 76044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10522:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 78178, - "nodeType": "ContractDefinition", - "src": "10600:36632:172", - "nodes": [ - { - "id": 76060, - "nodeType": "UsingForDirective", - "src": "10721:36:172", - "nodes": [], - "global": false, - "libraryName": { - "id": 76057, - "name": "LibUint256Array", - "nameLocations": [ - "10727:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73827, - "src": "10727:15:172" - }, - "typeName": { - "baseType": { - "id": 76058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10747:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76059, - "nodeType": "ArrayTypeName", - "src": "10747:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - { - "id": 76064, - "nodeType": "UsingForDirective", - "src": "10762:27:172", - "nodes": [], - "global": false, - "libraryName": { - "id": 76061, - "name": "SafeERC20", - "nameLocations": [ - "10768:9:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44813, - "src": "10768:9:172" - }, - "typeName": { - "id": 76063, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76062, - "name": "IERC20", - "nameLocations": [ - "10782:6:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 44376, - "src": "10782:6:172" - }, - "referencedDeclaration": 44376, - "src": "10782:6:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - } - }, - { - "id": 76068, - "nodeType": "UsingForDirective", - "src": "10794:27:172", - "nodes": [], - "global": false, - "libraryName": { - "id": 76065, - "name": "LibOrder", - "nameLocations": [ - "10800:8:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79345, - "src": "10800:8:172" - }, - "typeName": { - "id": 76067, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76066, - "name": "OrderV2", - "nameLocations": [ - "10813:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "10813:7:172" - }, - "referencedDeclaration": 79042, - "src": "10813:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - } - }, - { - "id": 76071, - "nodeType": "UsingForDirective", - "src": "10826:34:172", - "nodes": [], - "global": false, - "libraryName": { - "id": 76069, - "name": "LibUint256Array", - "nameLocations": [ - "10832:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 73827, - "src": "10832:15:172" - }, - "typeName": { - "id": 76070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10852:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 76074, - "nodeType": "UsingForDirective", - "src": "10865:23:172", - "nodes": [], - "global": false, - "libraryName": { - "id": 76072, - "name": "Math", - "nameLocations": [ - "10871:4:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 46932, - "src": "10871:4:172" - }, - "typeName": { - "id": 76073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10880:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 76077, - "nodeType": "UsingForDirective", - "src": "10893:44:172", - "nodes": [], - "global": false, - "libraryName": { - "id": 76075, - "name": "LibFixedPointDecimalScale", - "nameLocations": [ - "10899:25:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72859, - "src": "10899:25:172" - }, - "typeName": { - "id": 76076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10929:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 76080, - "nodeType": "UsingForDirective", - "src": "10942:61:172", - "nodes": [], - "global": false, - "libraryName": { - "id": 76078, - "name": "LibFixedPointDecimalArithmeticOpenZeppelin", - "nameLocations": [ - "10948:42:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 72453, - "src": "10948:42:172" - }, - "typeName": { - "id": 76079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10995:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 76085, - "nodeType": "VariableDeclaration", - "src": "11602:63:172", - "nodes": [], - "constant": false, - "documentation": { - "id": 76081, - "nodeType": "StructuredDocumentation", - "src": "11009: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": "11658:7:172", - "scope": 78178, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 76084, - "keyName": "orderHash", - "keyNameLocation": "11618:9:172", - "keyType": { - "id": 76082, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11610:7:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "11602:46:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueName": "liveness", - "valueNameLocation": "11639:8:172", - "valueType": { - "id": 76083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11631:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "id": 76094, - "nodeType": "VariableDeclaration", - "src": "12013:127:172", - "nodes": [], - "constant": false, - "documentation": { - "id": 76086, - "nodeType": "StructuredDocumentation", - "src": "11672: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": "12126:14:172", - "scope": 78178, - "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": 76093, - "keyName": "owner", - "keyNameLocation": "12029:5:172", - "keyType": { - "id": 76087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12021:7:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "12013: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": 76092, - "keyName": "token", - "keyNameLocation": "12054:5:172", - "keyType": { - "id": 76088, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12046:7:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "12038: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": 76091, - "keyName": "vaultId", - "keyNameLocation": "12079:7:172", - "keyType": { - "id": 76089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12071:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "12063:43:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueName": "balance", - "valueNameLocation": "12098:7:172", - "valueType": { - "id": 76090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12090:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - } - }, - "visibility": "internal" - }, - { - "id": 76106, - "nodeType": "FunctionDefinition", - "src": "12442:139:172", - "nodes": [], - "body": { - "id": 76105, - "nodeType": "Block", - "src": "12579:2:172", - "nodes": [], - "statements": [] - }, - "documentation": { - "id": 76095, - "nodeType": "StructuredDocumentation", - "src": "12147: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": 76101, - "name": "CALLER_META_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76020, - "src": "12549:16:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 76102, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76098, - "src": "12567:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV3ConstructionConfig_$54743_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV3ConstructionConfig memory" - } - } - ], - "id": 76103, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 76100, - "name": "DeployerDiscoverableMetaV3", - "nameLocations": [ - "12522:26:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 54788, - "src": "12522:26:172" - }, - "nodeType": "ModifierInvocation", - "src": "12522:52:172" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 76099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76098, - "mutability": "mutable", - "name": "config", - "nameLocation": "12506:6:172", - "nodeType": "VariableDeclaration", - "scope": 76106, - "src": "12454:58:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV3ConstructionConfig_$54743_memory_ptr", - "typeString": "struct DeployerDiscoverableMetaV3ConstructionConfig" - }, - "typeName": { - "id": 76097, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76096, - "name": "DeployerDiscoverableMetaV3ConstructionConfig", - "nameLocations": [ - "12454:44:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 54743, - "src": "12454:44:172" - }, - "referencedDeclaration": 54743, - "src": "12454:44:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DeployerDiscoverableMetaV3ConstructionConfig_$54743_storage_ptr", - "typeString": "struct DeployerDiscoverableMetaV3ConstructionConfig" - } - }, - "visibility": "internal" - } - ], - "src": "12453:60:172" - }, - "returnParameters": { - "id": 76104, - "nodeType": "ParameterList", - "parameters": [], - "src": "12579:0:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 76128, - "nodeType": "FunctionDefinition", - "src": "12620:171:172", - "nodes": [], - "body": { - "id": 76127, - "nodeType": "Block", - "src": "12730:61:172", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76119, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "12747: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": 76121, - "indexExpression": { - "id": 76120, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76109, - "src": "12762:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12747:21:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76123, - "indexExpression": { - "id": 76122, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76111, - "src": "12769:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12747:28:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76125, - "indexExpression": { - "id": 76124, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76113, - "src": "12776:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12747:37:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76118, - "id": 76126, - "nodeType": "Return", - "src": "12740:44:172" - } - ] - }, - "baseFunctions": [ - 79210 - ], - "documentation": { - "id": 76107, - "nodeType": "StructuredDocumentation", - "src": "12587:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "d97b2e48", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "vaultBalance", - "nameLocation": "12629:12:172", - "overrides": { - "id": 76115, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "12703:8:172" - }, - "parameters": { - "id": 76114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76109, - "mutability": "mutable", - "name": "owner", - "nameLocation": "12650:5:172", - "nodeType": "VariableDeclaration", - "scope": 76128, - "src": "12642:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12642:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76111, - "mutability": "mutable", - "name": "token", - "nameLocation": "12665:5:172", - "nodeType": "VariableDeclaration", - "scope": 76128, - "src": "12657:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12657:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76113, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "12680:7:172", - "nodeType": "VariableDeclaration", - "scope": 76128, - "src": "12672:15:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12672:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12641:47:172" - }, - "returnParameters": { - "id": 76118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76117, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76128, - "src": "12721:7:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12721:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12720:9:172" - }, - "scope": 78178, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76144, - "nodeType": "FunctionDefinition", - "src": "12830:134:172", - "nodes": [], - "body": { - "id": 76143, - "nodeType": "Block", - "src": "12908:56:172", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76137, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "12925:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76139, - "indexExpression": { - "id": 76138, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76131, - "src": "12933:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12925:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76140, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75929, - "src": "12947:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:32:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 76136, - "id": 76142, - "nodeType": "Return", - "src": "12918:39:172" - } - ] - }, - "baseFunctions": [ - 79247 - ], - "documentation": { - "id": 76129, - "nodeType": "StructuredDocumentation", - "src": "12797:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "2cb77e9f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "orderExists", - "nameLocation": "12839:11:172", - "overrides": { - "id": 76133, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "12884:8:172" - }, - "parameters": { - "id": 76132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76131, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "12859:9:172", - "nodeType": "VariableDeclaration", - "scope": 76144, - "src": "12851:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 76130, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12851:7:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "12850:19:172" - }, - "returnParameters": { - "id": 76136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76135, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76144, - "src": "12902:4:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76134, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12902:4:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12901:6:172" - }, - "scope": 78178, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76201, - "nodeType": "FunctionDefinition", - "src": "13003:640:172", - "nodes": [], - "body": { - "id": 76200, - "nodeType": "Block", - "src": "13090:553:172", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76156, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76151, - "src": "13104:6:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13114:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13104:11:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76167, - "nodeType": "IfStatement", - "src": "13100:94:172", - "trueBody": { - "id": 76166, - "nodeType": "Block", - "src": "13117:77:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 76160, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13156:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13160:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13156:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76162, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76147, - "src": "13168:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76163, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76149, - "src": "13175: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": 76159, - "name": "ZeroDepositAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79069, - "src": "13138:17:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 76164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13138:45:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76165, - "nodeType": "RevertStatement", - "src": "13131:52:172" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76169, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13410:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13414:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13410:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76171, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76147, - "src": "13422:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76172, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76149, - "src": "13429:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76173, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76151, - "src": "13438: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": 76168, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79101, - "src": "13402:7:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 76174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13402:43:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76175, - "nodeType": "EmitStatement", - "src": "13397:48:172" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76180, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13540:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13544:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13540:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76184, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13560:4:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - ], - "id": 76183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13552:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13552:7:172", - "typeDescriptions": {} - } - }, - "id": 76185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13552:13:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76186, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76151, - "src": "13567: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": 76177, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76147, - "src": "13516:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76176, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "13509:6:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 76178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13509:13:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 76179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13523:16:172", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44497, - "src": "13509: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": 76187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13509:65:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76188, - "nodeType": "ExpressionStatement", - "src": "13509:65:172" - }, - { - "expression": { - "id": 76198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76189, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "13584: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": 76194, - "indexExpression": { - "expression": { - "id": 76190, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13599:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13603:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13599:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13584:26:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76195, - "indexExpression": { - "id": 76192, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76147, - "src": "13611:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13584:33:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76196, - "indexExpression": { - "id": 76193, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76149, - "src": "13618:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13584:42:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76197, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76151, - "src": "13630:6:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13584:52:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76199, - "nodeType": "ExpressionStatement", - "src": "13584:52:172" - } - ] - }, - "baseFunctions": [ - 79220 - ], - "documentation": { - "id": 76145, - "nodeType": "StructuredDocumentation", - "src": "12970:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "0efe6a8b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 76154, - "kind": "modifierInvocation", - "modifierName": { - "id": 76153, - "name": "nonReentrant", - "nameLocations": [ - "13077:12:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "13077:12:172" - }, - "nodeType": "ModifierInvocation", - "src": "13077:12:172" - } - ], - "name": "deposit", - "nameLocation": "13012:7:172", - "parameters": { - "id": 76152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76147, - "mutability": "mutable", - "name": "token", - "nameLocation": "13028:5:172", - "nodeType": "VariableDeclaration", - "scope": 76201, - "src": "13020:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13020:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76149, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "13043:7:172", - "nodeType": "VariableDeclaration", - "scope": 76201, - "src": "13035:15:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13035:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76151, - "mutability": "mutable", - "name": "amount", - "nameLocation": "13060:6:172", - "nodeType": "VariableDeclaration", - "scope": 76201, - "src": "13052:14:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13052:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13019:48:172" - }, - "returnParameters": { - "id": 76155, - "nodeType": "ParameterList", - "parameters": [], - "src": "13090:0:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76280, - "nodeType": "FunctionDefinition", - "src": "13682:940:172", - "nodes": [], - "body": { - "id": 76279, - "nodeType": "Block", - "src": "13776:846:172", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76213, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76208, - "src": "13790:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13806:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13790:17:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76224, - "nodeType": "IfStatement", - "src": "13786:107:172", - "trueBody": { - "id": 76223, - "nodeType": "Block", - "src": "13809:84:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 76217, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13855:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13859:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13855:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76219, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76204, - "src": "13867:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76220, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76206, - "src": "13874: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": 76216, - "name": "ZeroWithdrawTargetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79078, - "src": "13830:24:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) pure" - } - }, - "id": 76221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13830:52:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76222, - "nodeType": "RevertStatement", - "src": "13823:59:172" - } - ] - } - }, - { - "assignments": [ - 76226 - ], - "declarations": [ - { - "constant": false, - "id": 76226, - "mutability": "mutable", - "name": "currentVaultBalance", - "nameLocation": "13910:19:172", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "13902:27:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76225, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13902:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76235, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76227, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "13932: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": 76230, - "indexExpression": { - "expression": { - "id": 76228, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13947:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13951:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13947:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13932:26:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76232, - "indexExpression": { - "id": 76231, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76204, - "src": "13959:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13932:33:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76234, - "indexExpression": { - "id": 76233, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76206, - "src": "13966:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13932:42:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13902:72:172" - }, - { - "assignments": [ - 76237 - ], - "declarations": [ - { - "constant": false, - "id": 76237, - "mutability": "mutable", - "name": "withdrawAmount", - "nameLocation": "14064:14:172", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "14056:22:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14056:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76242, - "initialValue": { - "arguments": [ - { - "id": 76240, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76226, - "src": "14098:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76238, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76208, - "src": "14081:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14094:3:172", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 46109, - "src": "14081: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": 76241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14081:37:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14056:62:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76243, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "14132:14:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14149:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14132:18:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76278, - "nodeType": "IfStatement", - "src": "14128:488:172", - "trueBody": { - "id": 76277, - "nodeType": "Block", - "src": "14152:464:172", - "statements": [ - { - "expression": { - "id": 76257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 76246, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "14371: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": 76251, - "indexExpression": { - "expression": { - "id": 76247, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14386:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14390:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14386:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14371:26:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 76252, - "indexExpression": { - "id": 76249, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76204, - "src": "14398:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14371:33:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 76253, - "indexExpression": { - "id": 76250, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76206, - "src": "14405:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14371:42:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76254, - "name": "currentVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76226, - "src": "14416:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 76255, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "14438:14:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14416:36:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14371:81:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76258, - "nodeType": "ExpressionStatement", - "src": "14371:81:172" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76260, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14480:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14484:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14480:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76262, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76204, - "src": "14492:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76263, - "name": "vaultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76206, - "src": "14499:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76264, - "name": "targetAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76208, - "src": "14508:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76265, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "14522: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": 76259, - "name": "Withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79114, - "src": "14471: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": 76266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14471:66:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76267, - "nodeType": "EmitStatement", - "src": "14466:71:172" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76272, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14578:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14582:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14578:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76274, - "name": "withdrawAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "14590:14:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 76269, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76204, - "src": "14558:5:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76268, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "14551:6:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 76270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14551:13:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 76271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14565:12:172", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 44470, - "src": "14551:26:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 76275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14551:54:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76276, - "nodeType": "ExpressionStatement", - "src": "14551:54:172" - } - ] - } - } - ] - }, - "baseFunctions": [ - 79230 - ], - "documentation": { - "id": 76202, - "nodeType": "StructuredDocumentation", - "src": "13649:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "b5c5f672", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 76211, - "kind": "modifierInvocation", - "modifierName": { - "id": 76210, - "name": "nonReentrant", - "nameLocations": [ - "13763:12:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "13763:12:172" - }, - "nodeType": "ModifierInvocation", - "src": "13763:12:172" - } - ], - "name": "withdraw", - "nameLocation": "13691:8:172", - "parameters": { - "id": 76209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76204, - "mutability": "mutable", - "name": "token", - "nameLocation": "13708:5:172", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "13700:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13700:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76206, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "13723:7:172", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "13715:15:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13715:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76208, - "mutability": "mutable", - "name": "targetAmount", - "nameLocation": "13740:12:172", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "13732:20:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13732:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13699:54:172" - }, - "returnParameters": { - "id": 76212, - "nodeType": "ParameterList", - "parameters": [], - "src": "13776:0:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76484, - "nodeType": "FunctionDefinition", - "src": "14661:2996:172", - "nodes": [], - "body": { - "id": 76483, - "nodeType": "Block", - "src": "14760:2897:172", - "nodes": [], - "statements": [ - { - "assignments": [ - 76292 - ], - "declarations": [ - { - "constant": false, - "id": 76292, - "mutability": "mutable", - "name": "sourceCount", - "nameLocation": "14778:11:172", - "nodeType": "VariableDeclaration", - "scope": 76483, - "src": "14770:19:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14770:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76299, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 76295, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "14816:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14823:15:172", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 79011, - "src": "14816:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", - "typeString": "struct EvaluableConfigV3 calldata" - } - }, - "id": 76297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14839:8:172", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 55619, - "src": "14816:31:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 76293, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56710, - "src": "14792:11:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56710_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 76294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14804:11:172", - "memberName": "sourceCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 56349, - "src": "14792:23:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes memory) pure returns (uint256)" - } - }, - "id": 76298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14792:56:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14770:78:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76300, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76292, - "src": "14862:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14877:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14862:16:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76307, - "nodeType": "IfStatement", - "src": "14858:70:172", - "trueBody": { - "id": 76306, - "nodeType": "Block", - "src": "14880:48:172", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76303, - "name": "OrderNoSources", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79081, - "src": "14901:14:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14901:16:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76305, - "nodeType": "RevertStatement", - "src": "14894:23:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76308, - "name": "sourceCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76292, - "src": "14941:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "31", - "id": 76309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14956:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14941:16:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76315, - "nodeType": "IfStatement", - "src": "14937:71:172", - "trueBody": { - "id": 76314, - "nodeType": "Block", - "src": "14959:49:172", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76311, - "name": "OrderNoHandleIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79084, - "src": "14980:15:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14980:17:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76313, - "nodeType": "RevertStatement", - "src": "14973:24:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 76316, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "15021:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15028:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79004, - "src": "15021:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15040:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15021:25:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15050:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15021:30:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76325, - "nodeType": "IfStatement", - "src": "15017:83:172", - "trueBody": { - "id": 76324, - "nodeType": "Block", - "src": "15053:47:172", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76321, - "name": "OrderNoInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79087, - "src": "15074:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15074:15:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76323, - "nodeType": "RevertStatement", - "src": "15067:22:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 76326, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "15113:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15120:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79008, - "src": "15113:19:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15133:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15113:26:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15143:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15113:31:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76335, - "nodeType": "IfStatement", - "src": "15109:85:172", - "trueBody": { - "id": 76334, - "nodeType": "Block", - "src": "15146:48:172", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76331, - "name": "OrderNoOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79090, - "src": "15167:14:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15167:16:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76333, - "nodeType": "RevertStatement", - "src": "15160:23:172" - } - ] - } - }, - { - "assignments": [ - 76338, - 76341, - 76343, - 76345 - ], - "declarations": [ - { - "constant": false, - "id": 76338, - "mutability": "mutable", - "name": "interpreter", - "nameLocation": "15219:11:172", - "nodeType": "VariableDeclaration", - "scope": 76483, - "src": "15204:26:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV2_$56032", - "typeString": "contract IInterpreterV2" - }, - "typeName": { - "id": 76337, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76336, - "name": "IInterpreterV2", - "nameLocations": [ - "15204:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56032, - "src": "15204:14:172" - }, - "referencedDeclaration": 56032, - "src": "15204:14:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV2_$56032", - "typeString": "contract IInterpreterV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76341, - "mutability": "mutable", - "name": "store", - "nameLocation": "15252:5:172", - "nodeType": "VariableDeclaration", - "scope": 76483, - "src": "15232:25:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - }, - "typeName": { - "id": 76340, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76339, - "name": "IInterpreterStoreV1", - "nameLocations": [ - "15232:19:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55698, - "src": "15232:19:172" - }, - "referencedDeclaration": 55698, - "src": "15232:19:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76343, - "mutability": "mutable", - "name": "expression", - "nameLocation": "15267:10:172", - "nodeType": "VariableDeclaration", - "scope": 76483, - "src": "15259:18:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15259:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76345, - "mutability": "mutable", - "name": "io", - "nameLocation": "15292:2:172", - "nodeType": "VariableDeclaration", - "scope": 76483, - "src": "15279:15:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76344, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15279:5:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 76357, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 76350, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "15387:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15394:15:172", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 79011, - "src": "15387:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", - "typeString": "struct EvaluableConfigV3 calldata" - } - }, - "id": 76352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15410:8:172", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 55619, - "src": "15387:31:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "expression": { - "expression": { - "id": 76353, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "15420:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15427:15:172", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 79011, - "src": "15420:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", - "typeString": "struct EvaluableConfigV3 calldata" - } - }, - "id": 76355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15443:9:172", - "memberName": "constants", - "nodeType": "MemberAccess", - "referencedDeclaration": 55622, - "src": "15420:32:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - ], - "expression": { - "expression": { - "expression": { - "id": 76346, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "15298:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15318:15:172", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 79011, - "src": "15298:35:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", - "typeString": "struct EvaluableConfigV3 calldata" - } - }, - "id": 76348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15347:8:172", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 55617, - "src": "15298:57:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", - "typeString": "contract IExpressionDeployerV3" - } - }, - "id": 76349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15369:17:172", - "memberName": "deployExpression2", - "nodeType": "MemberAccess", - "referencedDeclaration": 55985, - "src": "15298:88:172", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_contract$_IInterpreterV2_$56032_$_t_contract$_IInterpreterStoreV1_$55698_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory,uint256[] memory) external returns (contract IInterpreterV2,contract IInterpreterStoreV1,address,bytes memory)" - } - }, - "id": 76356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15298:155:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_contract$_IInterpreterV2_$56032_$_t_contract$_IInterpreterStoreV1_$55698_$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "tuple(contract IInterpreterV2,contract IInterpreterStoreV1,address,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15203:250:172" - }, - { - "id": 76395, - "nodeType": "Block", - "src": "15463:763:172", - "statements": [ - { - "assignments": [ - 76359 - ], - "declarations": [ - { - "constant": false, - "id": 76359, - "mutability": "mutable", - "name": "calculateInputs", - "nameLocation": "15485:15:172", - "nodeType": "VariableDeclaration", - "scope": 76395, - "src": "15477:23:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15477:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76360, - "nodeType": "VariableDeclarationStatement", - "src": "15477:23:172" - }, - { - "assignments": [ - 76362 - ], - "declarations": [ - { - "constant": false, - "id": 76362, - "mutability": "mutable", - "name": "calculateOutputs", - "nameLocation": "15522:16:172", - "nodeType": "VariableDeclaration", - "scope": 76395, - "src": "15514:24:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15514:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76363, - "nodeType": "VariableDeclarationStatement", - "src": "15514:24:172" - }, - { - "assignments": [ - 76365 - ], - "declarations": [ - { - "constant": false, - "id": 76365, - "mutability": "mutable", - "name": "handleInputs", - "nameLocation": "15560:12:172", - "nodeType": "VariableDeclaration", - "scope": 76395, - "src": "15552:20:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15552:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76366, - "nodeType": "VariableDeclarationStatement", - "src": "15552:20:172" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "15611:217:172", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "15629:34:172", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "io", - "nodeType": "YulIdentifier", - "src": "15653:2:172" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15657:4:172", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15649:3:172" - }, - "nodeType": "YulFunctionCall", - "src": "15649:13:172" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "15643:5:172" - }, - "nodeType": "YulFunctionCall", - "src": "15643:20:172" - }, - "variables": [ - { - "name": "ioWord", - "nodeType": "YulTypedName", - "src": "15633:6:172", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15680:34:172", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15704:1:172", - "type": "", - "value": "0" - }, - { - "name": "ioWord", - "nodeType": "YulIdentifier", - "src": "15707:6:172" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "15699:4:172" - }, - "nodeType": "YulFunctionCall", - "src": "15699:15:172" - }, - "variableNames": [ - { - "name": "calculateInputs", - "nodeType": "YulIdentifier", - "src": "15680:15:172" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15731:35:172", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15756:1:172", - "type": "", - "value": "1" - }, - { - "name": "ioWord", - "nodeType": "YulIdentifier", - "src": "15759:6:172" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "15751:4:172" - }, - "nodeType": "YulFunctionCall", - "src": "15751:15:172" - }, - "variableNames": [ - { - "name": "calculateOutputs", - "nodeType": "YulIdentifier", - "src": "15731:16:172" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15783:31:172", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15804:1:172", - "type": "", - "value": "2" - }, - { - "name": "ioWord", - "nodeType": "YulIdentifier", - "src": "15807:6:172" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "15799:4:172" - }, - "nodeType": "YulFunctionCall", - "src": "15799:15:172" - }, - "variableNames": [ - { - "name": "handleInputs", - "nodeType": "YulIdentifier", - "src": "15783:12:172" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 76359, - "isOffset": false, - "isSlot": false, - "src": "15680:15:172", - "valueSize": 1 - }, - { - "declaration": 76362, - "isOffset": false, - "isSlot": false, - "src": "15731:16:172", - "valueSize": 1 - }, - { - "declaration": 76365, - "isOffset": false, - "isSlot": false, - "src": "15783:12:172", - "valueSize": 1 - }, - { - "declaration": 76345, - "isOffset": false, - "isSlot": false, - "src": "15653:2:172", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 76367, - "nodeType": "InlineAssembly", - "src": "15586:242:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76368, - "name": "calculateInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76359, - "src": "15846:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 76369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15865:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "15846:20:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76376, - "nodeType": "IfStatement", - "src": "15842:109:172", - "trueBody": { - "id": 76375, - "nodeType": "Block", - "src": "15868:83:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76372, - "name": "calculateInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76359, - "src": "15920:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76371, - "name": "UnsupportedCalculateInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75915, - "src": "15893:26:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15893:43:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76374, - "nodeType": "RevertStatement", - "src": "15886:50:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76377, - "name": "calculateOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76362, - "src": "15969:16:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 76378, - "name": "CALCULATE_ORDER_MIN_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75953, - "src": "15988:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15969:46:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76385, - "nodeType": "IfStatement", - "src": "15965:137:172", - "trueBody": { - "id": 76384, - "nodeType": "Block", - "src": "16017:85:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76381, - "name": "calculateOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76362, - "src": "16070:16:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76380, - "name": "UnsupportedCalculateOutputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75920, - "src": "16042:27:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16042:45:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76383, - "nodeType": "RevertStatement", - "src": "16035:52:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76386, - "name": "handleInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76365, - "src": "16120:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 76387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16136:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16120:17:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76394, - "nodeType": "IfStatement", - "src": "16116:100:172", - "trueBody": { - "id": 76393, - "nodeType": "Block", - "src": "16139:77:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76390, - "name": "handleInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76365, - "src": "16188:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76389, - "name": "UnsupportedHandleInputs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75925, - "src": "16164:23:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16164:37:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76392, - "nodeType": "RevertStatement", - "src": "16157:44:172" - } - ] - } - } - ] - }, - { - "assignments": [ - 76398 - ], - "declarations": [ - { - "constant": false, - "id": 76398, - "mutability": "mutable", - "name": "order", - "nameLocation": "16428:5:172", - "nodeType": "VariableDeclaration", - "scope": 76483, - "src": "16413:20:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 76397, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76396, - "name": "OrderV2", - "nameLocations": [ - "16413:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "16413:7:172" - }, - "referencedDeclaration": 79042, - "src": "16413:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - } - ], - "id": 76424, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 76400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16457:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16461:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "16457:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "expression": { - "id": 76404, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "16508:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16515:15:172", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 79011, - "src": "16508:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", - "typeString": "struct EvaluableConfigV3 calldata" - } - }, - "id": 76406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16531:8:172", - "memberName": "bytecode", - "nodeType": "MemberAccess", - "referencedDeclaration": 55619, - "src": "16508:31:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "arguments": [ - { - "id": 76409, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75949, - "src": "16562:20:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - ], - "expression": { - "id": 76407, - "name": "SourceIndexV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55998, - "src": "16541:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_SourceIndexV2_$55998_$", - "typeString": "type(SourceIndexV2)" - } - }, - "id": 76408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "16555:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "16541:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_SourceIndexV2_$55998_$returns$_t_uint256_$", - "typeString": "function (SourceIndexV2) pure returns (uint256)" - } - }, - "id": 76410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16541:42:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76402, - "name": "LibBytecode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56710, - "src": "16481:11:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytecode_$56710_$", - "typeString": "type(library LibBytecode)" - } - }, - "id": 76403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16493:14:172", - "memberName": "sourceOpsCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 56580, - "src": "16481:26: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": 76411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16481:103:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16587:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16481:107:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "arguments": [ - { - "id": 76415, - "name": "interpreter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76338, - "src": "16614:11:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV2_$56032", - "typeString": "contract IInterpreterV2" - } - }, - { - "id": 76416, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76341, - "src": "16627:5:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "id": 76417, - "name": "expression", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76343, - "src": "16634:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterV2_$56032", - "typeString": "contract IInterpreterV2" - }, - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76414, - "name": "EvaluableV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55632, - "src": "16602:11:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_EvaluableV2_$55632_storage_ptr_$", - "typeString": "type(struct EvaluableV2 storage pointer)" - } - }, - "id": 76418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16602:43:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - { - "expression": { - "id": 76419, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "16659:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16666:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79004, - "src": "16659:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - { - "expression": { - "id": 76421, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "16691:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16698:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79008, - "src": "16691:19:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_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$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - }, - { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - ], - "id": 76399, - "name": "OrderV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79042, - "src": "16436:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderV2_$79042_storage_ptr_$", - "typeString": "type(struct OrderV2 storage pointer)" - } - }, - "id": 76423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16436:284:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16413:307:172" - }, - { - "assignments": [ - 76426 - ], - "declarations": [ - { - "constant": false, - "id": 76426, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "16738:9:172", - "nodeType": "VariableDeclaration", - "scope": 76483, - "src": "16730:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 76425, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16730:7:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 76430, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76427, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76398, - "src": "16750:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16756:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "16750:10:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 76429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16750:12:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16730:32:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76431, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "16852:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76433, - "indexExpression": { - "id": 76432, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76426, - "src": "16860:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16852:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76434, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75933, - "src": "16874:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16852:32:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76482, - "nodeType": "IfStatement", - "src": "16848:803:172", - "trueBody": { - "id": 76481, - "nodeType": "Block", - "src": "16886:765:172", - "statements": [ - { - "expression": { - "id": 76438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76436, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76289, - "src": "16900:12:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16915:4:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16900:19:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76439, - "nodeType": "ExpressionStatement", - "src": "16900:19:172" - }, - { - "expression": { - "id": 76444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76440, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "17180:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76442, - "indexExpression": { - "id": 76441, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76426, - "src": "17188:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17180:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76443, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75929, - "src": "17201:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17180:31:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76445, - "nodeType": "ExpressionStatement", - "src": "17180:31:172" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76447, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17239:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17243:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "17239:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "expression": { - "id": 76449, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "17251:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17258:15:172", - "memberName": "evaluableConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 79011, - "src": "17251:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_calldata_ptr", - "typeString": "struct EvaluableConfigV3 calldata" - } - }, - "id": 76451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17274:8:172", - "memberName": "deployer", - "nodeType": "MemberAccess", - "referencedDeclaration": 55617, - "src": "17251:31:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", - "typeString": "contract IExpressionDeployerV3" - } - }, - { - "id": 76452, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76398, - "src": "17284:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - { - "id": 76453, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76426, - "src": "17291:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", - "typeString": "contract IExpressionDeployerV3" - }, - { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76446, - "name": "AddOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79127, - "src": "17230:8:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IExpressionDeployerV3_$55986_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,contract IExpressionDeployerV3,struct OrderV2 memory,bytes32)" - } - }, - "id": 76454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17230:71:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76455, - "nodeType": "EmitStatement", - "src": "17225:76:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 76456, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "17472:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17479:4:172", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 79013, - "src": "17472:11:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 76458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17484:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "17472:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17493:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17472:22:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76480, - "nodeType": "IfStatement", - "src": "17468:173:172", - "trueBody": { - "id": 76479, - "nodeType": "Block", - "src": "17496:145:172", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76464, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "17540:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17547:4:172", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 79013, - "src": "17540:11:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 76461, - "name": "LibMeta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73191, - "src": "17514:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibMeta_$73191_$", - "typeString": "type(library LibMeta)" - } - }, - "id": 76463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17522:17:172", - "memberName": "checkMetaUnhashed", - "nodeType": "MemberAccess", - "referencedDeclaration": 73161, - "src": "17514:25:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) pure" - } - }, - "id": 76466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17514:38:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76467, - "nodeType": "ExpressionStatement", - "src": "17514:38:172" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76469, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17582:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17586:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "17582:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76473, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76426, - "src": "17602:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17594:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17594:7:172", - "typeDescriptions": {} - } - }, - "id": 76474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17594:18:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76475, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76284, - "src": "17614:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2 calldata" - } - }, - "id": 76476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17621:4:172", - "memberName": "meta", - "nodeType": "MemberAccess", - "referencedDeclaration": 79013, - "src": "17614: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": 76468, - "name": "MetaV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73106, - "src": "17575:6:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 76477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17575:51:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76478, - "nodeType": "EmitStatement", - "src": "17570:56:172" - } - ] - } - } - ] - } - } - ] - }, - "baseFunctions": [ - 79239 - ], - "documentation": { - "id": 76281, - "nodeType": "StructuredDocumentation", - "src": "14628:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "847a1bc9", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 76287, - "kind": "modifierInvocation", - "modifierName": { - "id": 76286, - "name": "nonReentrant", - "nameLocations": [ - "14719:12:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "14719:12:172" - }, - "nodeType": "ModifierInvocation", - "src": "14719:12:172" - } - ], - "name": "addOrder", - "nameLocation": "14670:8:172", - "parameters": { - "id": 76285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76284, - "mutability": "mutable", - "name": "config", - "nameLocation": "14702:6:172", - "nodeType": "VariableDeclaration", - "scope": 76484, - "src": "14679:29:172", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2" - }, - "typeName": { - "id": 76283, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76282, - "name": "OrderConfigV2", - "nameLocations": [ - "14679:13:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79014, - "src": "14679:13:172" - }, - "referencedDeclaration": 79014, - "src": "14679:13:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_storage_ptr", - "typeString": "struct OrderConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "14678:31:172" - }, - "returnParameters": { - "id": 76290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76289, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "14746:12:172", - "nodeType": "VariableDeclaration", - "scope": 76484, - "src": "14741:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76288, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14741:4:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "14740:19:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76540, - "nodeType": "FunctionDefinition", - "src": "17696:450:172", - "nodes": [], - "body": { - "id": 76539, - "nodeType": "Block", - "src": "17791:355:172", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17805:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17809:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "17805:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 76497, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76488, - "src": "17819:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17825:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "17819:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17805:25:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76508, - "nodeType": "IfStatement", - "src": "17801:101:172", - "trueBody": { - "id": 76507, - "nodeType": "Block", - "src": "17832:70:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 76501, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17867:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17871:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "17867:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76503, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76488, - "src": "17879:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17885:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "17879:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76500, - "name": "NotOrderOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75884, - "src": "17853:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 76505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17853:38:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76506, - "nodeType": "RevertStatement", - "src": "17846:45:172" - } - ] - } - }, - { - "assignments": [ - 76510 - ], - "declarations": [ - { - "constant": false, - "id": 76510, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "17919:9:172", - "nodeType": "VariableDeclaration", - "scope": 76539, - "src": "17911:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 76509, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17911:7:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 76514, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76511, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76488, - "src": "17931:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17937:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "17931:10:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 76513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17931:12:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17911:32:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76515, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "17957:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76517, - "indexExpression": { - "id": 76516, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76510, - "src": "17965:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17957:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76518, - "name": "ORDER_LIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75929, - "src": "17979:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17957:32:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76538, - "nodeType": "IfStatement", - "src": "17953:187:172", - "trueBody": { - "id": 76537, - "nodeType": "Block", - "src": "17991:149:172", - "statements": [ - { - "expression": { - "id": 76522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76520, - "name": "stateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76493, - "src": "18005:12:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18020:4:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "18005:19:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76523, - "nodeType": "ExpressionStatement", - "src": "18005:19:172" - }, - { - "expression": { - "id": 76528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76524, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "18038:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76526, - "indexExpression": { - "id": 76525, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76510, - "src": "18046:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18038:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76527, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75933, - "src": "18059:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18038:31:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76529, - "nodeType": "ExpressionStatement", - "src": "18038:31:172" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76531, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18100:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18104:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "18100:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76533, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76488, - "src": "18112:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - { - "id": 76534, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76510, - "src": "18119:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 76530, - "name": "RemoveOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79137, - "src": "18088:11:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (address,struct OrderV2 memory,bytes32)" - } - }, - "id": 76535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18088:41:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76536, - "nodeType": "EmitStatement", - "src": "18083:46:172" - } - ] - } - } - ] - }, - "baseFunctions": [ - 79256 - ], - "documentation": { - "id": 76485, - "nodeType": "StructuredDocumentation", - "src": "17663:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "e23746a3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 76491, - "kind": "modifierInvocation", - "modifierName": { - "id": 76490, - "name": "nonReentrant", - "nameLocations": [ - "17750:12:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "17750:12:172" - }, - "nodeType": "ModifierInvocation", - "src": "17750:12:172" - } - ], - "name": "removeOrder", - "nameLocation": "17705:11:172", - "parameters": { - "id": 76489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76488, - "mutability": "mutable", - "name": "order", - "nameLocation": "17734:5:172", - "nodeType": "VariableDeclaration", - "scope": 76540, - "src": "17717:22:172", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 76487, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76486, - "name": "OrderV2", - "nameLocations": [ - "17717:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "17717:7:172" - }, - "referencedDeclaration": 79042, - "src": "17717:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - } - ], - "src": "17716:24:172" - }, - "returnParameters": { - "id": 76494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76493, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "17777:12:172", - "nodeType": "VariableDeclaration", - "scope": 76540, - "src": "17772:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76492, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17772:4:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "17771:19:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77137, - "nodeType": "FunctionDefinition", - "src": "18373:10265:172", - "nodes": [], - "body": { - "id": 77136, - "nodeType": "Block", - "src": "18539:10099:172", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 76553, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "18553:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18560:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "18553:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18567:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "18553:20:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18577:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18553:25:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76562, - "nodeType": "IfStatement", - "src": "18549:73:172", - "trueBody": { - "id": 76561, - "nodeType": "Block", - "src": "18580:42:172", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76558, - "name": "NoOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78997, - "src": "18601:8:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18601:10:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76560, - "nodeType": "RevertStatement", - "src": "18594:17:172" - } - ] - } - }, - { - "assignments": [ - 76565 - ], - "declarations": [ - { - "constant": false, - "id": 76565, - "mutability": "mutable", - "name": "takeOrderConfig", - "nameLocation": "18657:15:172", - "nodeType": "VariableDeclaration", - "scope": 77136, - "src": "18632:40:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2" - }, - "typeName": { - "id": 76564, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76563, - "name": "TakeOrderConfigV2", - "nameLocations": [ - "18632:17:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79026, - "src": "18632:17:172" - }, - "referencedDeclaration": 79026, - "src": "18632:17:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_storage_ptr", - "typeString": "struct TakeOrderConfigV2" - } - }, - "visibility": "internal" - } - ], - "id": 76566, - "nodeType": "VariableDeclarationStatement", - "src": "18632:40:172" - }, - { - "assignments": [ - 76569 - ], - "declarations": [ - { - "constant": false, - "id": 76569, - "mutability": "mutable", - "name": "order", - "nameLocation": "18697:5:172", - "nodeType": "VariableDeclaration", - "scope": 77136, - "src": "18682:20:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 76568, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76567, - "name": "OrderV2", - "nameLocations": [ - "18682:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "18682:7:172" - }, - "referencedDeclaration": 79042, - "src": "18682:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - } - ], - "id": 76570, - "nodeType": "VariableDeclarationStatement", - "src": "18682:20:172" - }, - { - "assignments": [ - 76575 - ], - "declarations": [ - { - "constant": false, - "id": 76575, - "mutability": "mutable", - "name": "orderIOCalculationsToHandle", - "nameLocation": "19160:27:172", - "nodeType": "VariableDeclaration", - "scope": 77136, - "src": "19130:57:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$dyn_memory_ptr", - "typeString": "struct OrderIOCalculationV2[]" - }, - "typeName": { - "baseType": { - "id": 76573, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76572, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "19130:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "19130:20:172" - }, - "referencedDeclaration": 76041, - "src": "19130:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "id": 76574, - "nodeType": "ArrayTypeName", - "src": "19130:22:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_storage_$dyn_storage_ptr", - "typeString": "struct OrderIOCalculationV2[]" - } - }, - "visibility": "internal" - } - ], - "id": 76576, - "nodeType": "VariableDeclarationStatement", - "src": "19130:57:172" - }, - { - "id": 76584, - "nodeType": "Block", - "src": "19197:271:172", - "statements": [ - { - "assignments": [ - 76578 - ], - "declarations": [ - { - "constant": false, - "id": 76578, - "mutability": "mutable", - "name": "length", - "nameLocation": "19219:6:172", - "nodeType": "VariableDeclaration", - "scope": 76584, - "src": "19211:14:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19211:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76582, - "initialValue": { - "expression": { - "expression": { - "id": 76579, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "19228:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19235:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "19228:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19242:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "19228:20:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19211:37:172" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "19287:171:172", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "19305:22:172", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19322:4:172", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19316:5:172" - }, - "nodeType": "YulFunctionCall", - "src": "19316:11:172" - }, - "variables": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "19309:3:172", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "19344:34:172", - "value": { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "19375:3:172" - }, - "variableNames": [ - { - "name": "orderIOCalculationsToHandle", - "nodeType": "YulIdentifier", - "src": "19344:27:172" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19402:4:172", - "type": "", - "value": "0x40" - }, - { - "arguments": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "19412:3:172" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19425:6:172" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19433:1:172", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19421:3:172" - }, - "nodeType": "YulFunctionCall", - "src": "19421:14:172" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19437:4:172", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "19417:3:172" - }, - "nodeType": "YulFunctionCall", - "src": "19417:25:172" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19408:3:172" - }, - "nodeType": "YulFunctionCall", - "src": "19408:35:172" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19395:6:172" - }, - "nodeType": "YulFunctionCall", - "src": "19395:49:172" - }, - "nodeType": "YulExpressionStatement", - "src": "19395:49:172" - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 76578, - "isOffset": false, - "isSlot": false, - "src": "19425:6:172", - "valueSize": 1 - }, - { - "declaration": 76575, - "isOffset": false, - "isSlot": false, - "src": "19344:27:172", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 76583, - "nodeType": "InlineAssembly", - "src": "19262:196:172" - } - ] - }, - { - "id": 77003, - "nodeType": "Block", - "src": "19478:7319:172", - "statements": [ - { - "assignments": [ - 76586 - ], - "declarations": [ - { - "constant": false, - "id": 76586, - "mutability": "mutable", - "name": "remainingTakerInput", - "nameLocation": "19500:19:172", - "nodeType": "VariableDeclaration", - "scope": 77003, - "src": "19492:27:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76585, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19492:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76589, - "initialValue": { - "expression": { - "id": 76587, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "19522:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19529:12:172", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 79046, - "src": "19522:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19492:49:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76590, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76586, - "src": "19559:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19582:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19559:24:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76597, - "nodeType": "IfStatement", - "src": "19555:88:172", - "trueBody": { - "id": 76596, - "nodeType": "Block", - "src": "19585:58:172", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76593, - "name": "ZeroMaximumInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79000, - "src": "19610:16:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19610:18:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76595, - "nodeType": "RevertStatement", - "src": "19603:25:172" - } - ] - } - }, - { - "assignments": [ - 76599 - ], - "declarations": [ - { - "constant": false, - "id": 76599, - "mutability": "mutable", - "name": "i", - "nameLocation": "19664:1:172", - "nodeType": "VariableDeclaration", - "scope": 77003, - "src": "19656:9:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19656:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76601, - "initialValue": { - "hexValue": "30", - "id": 76600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19668:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "19656:13:172" - }, - { - "body": { - "id": 76994, - "nodeType": "Block", - "src": "19743:6971:172", - "statements": [ - { - "expression": { - "id": 76616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76611, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "19761:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "expression": { - "id": 76612, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "19779:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19786:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "19779:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76615, - "indexExpression": { - "id": 76614, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76599, - "src": "19793:1:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19779:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "src": "19761:34:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76617, - "nodeType": "ExpressionStatement", - "src": "19761:34:172" - }, - { - "expression": { - "id": 76621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76618, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "19813:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 76619, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "19821:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19837:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "19821:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "src": "19813:29:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76622, - "nodeType": "ExpressionStatement", - "src": "19813:29:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76623, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "19944:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19950:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "19944:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76627, - "indexExpression": { - "expression": { - "id": 76625, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "19962:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19978:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "19962:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19944:47:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19992:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "19944:53:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76629, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20025:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20032:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20025:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76632, - "indexExpression": { - "hexValue": "30", - "id": 76631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20039: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": "20025:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20042:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "20025:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20048:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "20025:34:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76640, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76635, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20060:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20067:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20060:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76638, - "indexExpression": { - "hexValue": "30", - "id": 76637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20074: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": "20060:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20077:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "20060:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20025:65:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20091:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "20025:71:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19944:152:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76666, - "nodeType": "IfStatement", - "src": "19919:455:172", - "trueBody": { - "id": 76665, - "nodeType": "Block", - "src": "20115:259:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76644, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "20183:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76645, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20189:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "20183:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76648, - "indexExpression": { - "expression": { - "id": 76646, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "20201:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20217:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "20201:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20183:47:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76649, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20231:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "20183:53:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76650, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20262:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20269:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20262:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76653, - "indexExpression": { - "hexValue": "30", - "id": 76652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20276: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": "20262:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20279:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "20262:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20285:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "20262:34:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76661, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76656, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20297:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20304:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20297:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76659, - "indexExpression": { - "hexValue": "30", - "id": 76658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20311: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": "20297:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20314:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "20297:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20262:65:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20328:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "20262:71:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76643, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75891, - "src": "20144:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 76663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20144:211:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76664, - "nodeType": "RevertStatement", - "src": "20137:218:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76667, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "20476:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76668, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20482:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "20476:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76671, - "indexExpression": { - "expression": { - "id": 76669, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "20495:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20511:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "20495:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20476:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76672, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20526:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "20476:55:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76673, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20559:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20566:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20559:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76676, - "indexExpression": { - "hexValue": "30", - "id": 76675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20573: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": "20559:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20576:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "20559:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20582:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "20559:35:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76684, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76679, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20595:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20602:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20595:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76682, - "indexExpression": { - "hexValue": "30", - "id": 76681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20609: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": "20595:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20612:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "20595:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20559:67:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20627:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "20559:73:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "20476:156:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76710, - "nodeType": "IfStatement", - "src": "20451:463:172", - "trueBody": { - "id": 76709, - "nodeType": "Block", - "src": "20651:263:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76688, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "20719:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20725:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "20719:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76692, - "indexExpression": { - "expression": { - "id": 76690, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "20738:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76691, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20754:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "20738:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20719:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76693, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20769:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "20719:55:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76694, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20800:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20807:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20800:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76697, - "indexExpression": { - "hexValue": "30", - "id": 76696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20814: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": "20800:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20817:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "20800:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20823:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "20800:35:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76705, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76700, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "20836:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20843:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "20836:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76703, - "indexExpression": { - "hexValue": "30", - "id": 76702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20850: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": "20836:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20853:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "20836:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20800:67:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20868:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "20800:73:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76687, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75891, - "src": "20680:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 76707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20680:215:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76708, - "nodeType": "RevertStatement", - "src": "20673:222:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 76730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76711, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "21024:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21030:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "21024:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76715, - "indexExpression": { - "expression": { - "id": 76713, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "21042:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76714, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21058:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "21042:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21024:47:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76716, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21072:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21024:56:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76717, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21108:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21115:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21108:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76720, - "indexExpression": { - "hexValue": "30", - "id": 76719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21122: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": "21108:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21125:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "21108:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21131:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "21108:34:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76728, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76723, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21143:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21150:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21143:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76726, - "indexExpression": { - "hexValue": "30", - "id": 76725, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21157: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": "21143:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21160:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "21143:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21108:65:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21174:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21108:74:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21024:158:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76754, - "nodeType": "IfStatement", - "src": "20999:475:172", - "trueBody": { - "id": 76753, - "nodeType": "Block", - "src": "21201:273:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76732, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "21277:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76733, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21283:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "21277:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76736, - "indexExpression": { - "expression": { - "id": 76734, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "21295:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76735, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21311:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "21295:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21277:47:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76737, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21325:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21277:56:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76738, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21359:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21366:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21359:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76741, - "indexExpression": { - "hexValue": "30", - "id": 76740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21373: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": "21359:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21376:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "21359:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21382:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "21359:34:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76749, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76744, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21394:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21401:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21394:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76747, - "indexExpression": { - "hexValue": "30", - "id": 76746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21408: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": "21394:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21411:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "21394:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21359:65:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21425:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21359:74:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 76731, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75898, - "src": "21230:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 76751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21230:225:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76752, - "nodeType": "RevertStatement", - "src": "21223:232:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 76774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76755, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "21585:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21591:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "21585:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76759, - "indexExpression": { - "expression": { - "id": 76757, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "21604:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76758, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21620:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "21604:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21585:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21635:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21585:58:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76761, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21671:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21678:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21671:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76764, - "indexExpression": { - "hexValue": "30", - "id": 76763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21685: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": "21671:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21688:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "21671:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21694:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "21671:35:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76772, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76767, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21707:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21714:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21707:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76770, - "indexExpression": { - "hexValue": "30", - "id": 76769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21721: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": "21707:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21724:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "21707:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21671:67:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21739:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21671:76:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "21585:162:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76798, - "nodeType": "IfStatement", - "src": "21560:483:172", - "trueBody": { - "id": 76797, - "nodeType": "Block", - "src": "21766:277:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76776, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "21842:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21848:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "21842:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76780, - "indexExpression": { - "expression": { - "id": 76778, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "21861:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76779, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21877:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "21861:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21842:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76781, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21892:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21842:58:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76782, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21926:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21933:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21926:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76785, - "indexExpression": { - "hexValue": "30", - "id": 76784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21940: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": "21926:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21943:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "21926:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 76787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21949:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "21926:35:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 76793, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 76788, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "21962:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21969:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "21962:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76791, - "indexExpression": { - "hexValue": "30", - "id": 76790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21976: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": "21962:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 76792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21979:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "21962:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21926:67:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 76794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21994:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "21926:76:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 76775, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75898, - "src": "21795:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 76795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21795:229:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76796, - "nodeType": "RevertStatement", - "src": "21788:236:172" - } - ] - } - }, - { - "assignments": [ - 76800 - ], - "declarations": [ - { - "constant": false, - "id": 76800, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "22069:9:172", - "nodeType": "VariableDeclaration", - "scope": 76994, - "src": "22061:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 76799, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "22061:7:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 76804, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76801, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "22081:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76802, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22087:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "22081:10:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 76803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22081:12:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22061:32:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76805, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "22115:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 76807, - "indexExpression": { - "id": 76806, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76800, - "src": "22123:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22115:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76808, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75933, - "src": "22137:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22115:32:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 76988, - "nodeType": "Block", - "src": "22250:4378:172", - "statements": [ - { - "assignments": [ - 76821 - ], - "declarations": [ - { - "constant": false, - "id": 76821, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "22300:18:172", - "nodeType": "VariableDeclaration", - "scope": 76988, - "src": "22272:46:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 76820, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76819, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "22272:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "22272:20:172" - }, - "referencedDeclaration": 76041, - "src": "22272:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "id": 76833, - "initialValue": { - "arguments": [ - { - "id": 76823, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "22363:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - { - "expression": { - "id": 76824, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "22394:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22410:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "22394:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76826, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "22448:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22464:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "22448:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76828, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22503:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22507:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "22503:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76830, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "22539:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22555:13:172", - "memberName": "signedContext", - "nodeType": "MemberAccess", - "referencedDeclaration": 79025, - "src": "22539:29:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 76822, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77792, - "src": "22321:16:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_OrderV2_$79042_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$", - "typeString": "function (struct OrderV2 memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculationV2 memory)" - } - }, - "id": 76832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22321:269:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22272:318:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76834, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76821, - "src": "22960:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 76835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22979:7:172", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 76030, - "src": "22960:26:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 76836, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "22989:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22996:14:172", - "memberName": "maximumIORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 79048, - "src": "22989:21:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22960:50:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "id": 76850, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76821, - "src": "23154:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 76851, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23173:9:172", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 76028, - "src": "23154:28:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76848, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "23132:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76849, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "23147:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "23132:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23132:51:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23187:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23132:56:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 76985, - "nodeType": "Block", - "src": "23301:3309:172", - "statements": [ - { - "assignments": [ - 76865 - ], - "declarations": [ - { - "constant": false, - "id": 76865, - "mutability": "mutable", - "name": "takerInputDecimals", - "nameLocation": "23333:18:172", - "nodeType": "VariableDeclaration", - "scope": 76985, - "src": "23327:24:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 76864, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "23327:5:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 76872, - "initialValue": { - "expression": { - "baseExpression": { - "expression": { - "id": 76866, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "23354:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76867, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23360:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "23354:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76870, - "indexExpression": { - "expression": { - "id": 76868, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "23373:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23389:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "23373:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23354:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76871, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23404:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "23354:58:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23327:85:172" - }, - { - "assignments": [ - 76875 - ], - "declarations": [ - { - "constant": false, - "id": 76875, - "mutability": "mutable", - "name": "takerInput18", - "nameLocation": "23531:12:172", - "nodeType": "VariableDeclaration", - "scope": 76985, - "src": "23517:26:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 76874, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76873, - "name": "Input18Amount", - "nameLocations": [ - "23517:13:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76045, - "src": "23517:13:172" - }, - "referencedDeclaration": 76045, - "src": "23517:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76884, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76880, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76821, - "src": "23615:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 76881, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23634:9:172", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 76028, - "src": "23615:28:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76878, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "23593:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "23608:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "23593:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23593:51:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76876, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "23574:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76877, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "23588:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "23574:18:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 76883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23574:71:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23517:128:172" - }, - { - "id": 76912, - "nodeType": "Block", - "src": "23966:534:172", - "statements": [ - { - "assignments": [ - 76887 - ], - "declarations": [ - { - "constant": false, - "id": 76887, - "mutability": "mutable", - "name": "remainingTakerInput18", - "nameLocation": "24119:21:172", - "nodeType": "VariableDeclaration", - "scope": 76912, - "src": "24105:35:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 76886, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76885, - "name": "Input18Amount", - "nameLocations": [ - "24105:13:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76045, - "src": "24105:13:172" - }, - "referencedDeclaration": 76045, - "src": "24105:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76896, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 76892, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "24222:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 76893, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72392, - "src": "24242:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76890, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76586, - "src": "24194:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24214:7:172", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 72704, - "src": "24194: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": 76894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24194:62:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76888, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "24175:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "24189:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "24175:18:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 76895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24175:82:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24105:152:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 76899, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76875, - "src": "24312:12:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76897, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "24291:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "24305:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "24291:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$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": "24291:34:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 76903, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76887, - "src": "24349:21:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76901, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "24328:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "24342:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "24328:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24328:43:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24291:80:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76911, - "nodeType": "IfStatement", - "src": "24287:187:172", - "trueBody": { - "id": 76910, - "nodeType": "Block", - "src": "24373:101:172", - "statements": [ - { - "expression": { - "id": 76908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76906, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76875, - "src": "24407:12:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76907, - "name": "remainingTakerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76887, - "src": "24422:21:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "src": "24407:36:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "id": 76909, - "nodeType": "ExpressionStatement", - "src": "24407:36:172" - } - ] - } - } - ] - }, - { - "assignments": [ - 76914 - ], - "declarations": [ - { - "constant": false, - "id": 76914, - "mutability": "mutable", - "name": "takerOutput", - "nameLocation": "24534:11:172", - "nodeType": "VariableDeclaration", - "scope": 76985, - "src": "24526:19:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76913, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24526:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76915, - "nodeType": "VariableDeclarationStatement", - "src": "24526:19:172" - }, - { - "id": 76950, - "nodeType": "Block", - "src": "24571:772:172", - "statements": [ - { - "assignments": [ - 76918 - ], - "declarations": [ - { - "constant": false, - "id": 76918, - "mutability": "mutable", - "name": "takerOutput18", - "nameLocation": "24703:13:172", - "nodeType": "VariableDeclaration", - "scope": 76950, - "src": "24688:28:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 76917, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76916, - "name": "Output18Amount", - "nameLocations": [ - "24688:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76043, - "src": "24688:14:172" - }, - "referencedDeclaration": 76043, - "src": "24688:14:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 76933, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 76926, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76821, - "src": "24986:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 76927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25005:7:172", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 76030, - "src": "24986:26:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 76928, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46932, - "src": "25014:4:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46932_$", - "typeString": "type(library Math)" - } - }, - "id": 76929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25019:8:172", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 46073, - "src": "25014:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$46073_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 76930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "25028:2:172", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 46071, - "src": "25014:16:172", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$46073", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$46073", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 76923, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76875, - "src": "24921:12:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76921, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "24900:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76922, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "24914:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "24900:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24900:34:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24935:13:172", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 72431, - "src": "24900:48:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$46073_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 76931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24900:164:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76919, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "24719:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "24734:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "24719:19:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 76932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24719:375:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24688:406:172" - }, - { - "expression": { - "id": 76948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76934, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76914, - "src": "25124:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 76940, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "25215:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25221:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "25215:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 76944, - "indexExpression": { - "expression": { - "id": 76942, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "25233:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - "id": 76943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25249:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "25233:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25215:47:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 76945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25263:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "25215:56:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 76946, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72386, - "src": "25273:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 76937, - "name": "takerOutput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "25160:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 76935, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "25138:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 76936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "25153:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "25138:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 76938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25138:36:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25175:6:172", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 72779, - "src": "25138: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": 76947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25138:178:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25124:192:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76949, - "nodeType": "ExpressionStatement", - "src": "25124:192:172" - } - ] - }, - { - "assignments": [ - 76952 - ], - "declarations": [ - { - "constant": false, - "id": 76952, - "mutability": "mutable", - "name": "takerInput", - "nameLocation": "25377:10:172", - "nodeType": "VariableDeclaration", - "scope": 76985, - "src": "25369:18:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25369:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76961, - "initialValue": { - "arguments": [ - { - "id": 76958, - "name": "takerInputDecimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76865, - "src": "25460:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 76959, - "name": "FLAG_SATURATE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72392, - "src": "25480:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 76955, - "name": "takerInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76875, - "src": "25439:12:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 76953, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "25418:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 76954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "25432:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "25418:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 76956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25418:34:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25453:6:172", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 72779, - "src": "25418: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": 76960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25418:76:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25369:125:172" - }, - { - "expression": { - "id": 76964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76962, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76586, - "src": "25521:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76963, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76952, - "src": "25544:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25521:33:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76965, - "nodeType": "ExpressionStatement", - "src": "25521:33:172" - }, - { - "expression": { - "id": 76968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76966, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76551, - "src": "25580:16:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 76967, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76914, - "src": "25600:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25580:31:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76969, - "nodeType": "ExpressionStatement", - "src": "25580:31:172" - }, - { - "expression": { - "arguments": [ - { - "id": 76971, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76914, - "src": "25652:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76972, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76952, - "src": "25665:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76973, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76821, - "src": "25677:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 76970, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77897, - "src": "25638:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,struct OrderIOCalculationV2 memory)" - } - }, - "id": 76974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25638:58:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76975, - "nodeType": "ExpressionStatement", - "src": "25638:58:172" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76977, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "25737:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25741:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "25737:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76979, - "name": "takeOrderConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76565, - "src": "25749:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - } - }, - { - "id": 76980, - "name": "takerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76952, - "src": "25766:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76981, - "name": "takerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76914, - "src": "25778:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2 memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76976, - "name": "TakeOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79149, - "src": "25727:9:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TakeOrderConfigV2_$79026_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,struct TakeOrderConfigV2 memory,uint256,uint256)" - } - }, - "id": 76982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25727:63:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76983, - "nodeType": "EmitStatement", - "src": "25722:68:172" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "26157:431:172", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "26239:59:172", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "orderIOCalculationsToHandle", - "nodeType": "YulIdentifier", - "src": "26266:27:172" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "26260:5:172" - }, - "nodeType": "YulFunctionCall", - "src": "26260:34:172" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26296:1:172", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26256:3:172" - }, - "nodeType": "YulFunctionCall", - "src": "26256:42:172" - }, - "variables": [ - { - "name": "newLength", - "nodeType": "YulTypedName", - "src": "26243:9:172", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "orderIOCalculationsToHandle", - "nodeType": "YulIdentifier", - "src": "26334:27:172" - }, - { - "name": "newLength", - "nodeType": "YulIdentifier", - "src": "26363:9:172" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26327:6:172" - }, - "nodeType": "YulFunctionCall", - "src": "26327:46:172" - }, - "nodeType": "YulExpressionStatement", - "src": "26327:46:172" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "orderIOCalculationsToHandle", - "nodeType": "YulIdentifier", - "src": "26491:27:172" - }, - { - "arguments": [ - { - "name": "newLength", - "nodeType": "YulIdentifier", - "src": "26524:9:172" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26535:4:172", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "26520:3:172" - }, - "nodeType": "YulFunctionCall", - "src": "26520:20:172" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26487:3:172" - }, - "nodeType": "YulFunctionCall", - "src": "26487:54:172" - }, - { - "name": "orderIOCalculation", - "nodeType": "YulIdentifier", - "src": "26543:18:172" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26480:6:172" - }, - "nodeType": "YulFunctionCall", - "src": "26480:82:172" - }, - "nodeType": "YulExpressionStatement", - "src": "26480:82:172" - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 76821, - "isOffset": false, - "isSlot": false, - "src": "26543:18:172", - "valueSize": 1 - }, - { - "declaration": 76575, - "isOffset": false, - "isSlot": false, - "src": "26266:27:172", - "valueSize": 1 - }, - { - "declaration": 76575, - "isOffset": false, - "isSlot": false, - "src": "26334:27:172", - "valueSize": 1 - }, - { - "declaration": 76575, - "isOffset": false, - "isSlot": false, - "src": "26491:27:172", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 76984, - "nodeType": "InlineAssembly", - "src": "26132:456:172" - } - ] - }, - "id": 76986, - "nodeType": "IfStatement", - "src": "23128:3482:172", - "trueBody": { - "id": 76863, - "nodeType": "Block", - "src": "23190:105:172", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76856, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23237:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23241:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23237:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76858, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "23249:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23255:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "23249:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76860, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76800, - "src": "23262: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": 76855, - "name": "OrderZeroAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79167, - "src": "23221:15:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 76861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23221:51:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76862, - "nodeType": "EmitStatement", - "src": "23216:56:172" - } - ] - } - }, - "id": 76987, - "nodeType": "IfStatement", - "src": "22956:3654:172", - "trueBody": { - "id": 76847, - "nodeType": "Block", - "src": "23012:110:172", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76840, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23064:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23068:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "23064:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76842, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "23076:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23082:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "23076:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76844, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76800, - "src": "23089: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": 76839, - "name": "OrderExceedsMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79176, - "src": "23043:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 76845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23043:56:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76846, - "nodeType": "EmitStatement", - "src": "23038:61:172" - } - ] - } - } - ] - }, - "id": 76989, - "nodeType": "IfStatement", - "src": "22111:4517:172", - "trueBody": { - "id": 76818, - "nodeType": "Block", - "src": "22149:95:172", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 76811, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22190:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22194:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "22190:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76813, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76569, - "src": "22202:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 76814, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22208:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "22202:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76815, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76800, - "src": "22215: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": 76810, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79158, - "src": "22176:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 76816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22176:49:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76817, - "nodeType": "EmitStatement", - "src": "22171:54:172" - } - ] - } - }, - { - "id": 76993, - "nodeType": "UncheckedBlock", - "src": "26646:54:172", - "statements": [ - { - "expression": { - "id": 76991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "26678:3:172", - "subExpression": { - "id": 76990, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76599, - "src": "26678:1:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76992, - "nodeType": "ExpressionStatement", - "src": "26678:3:172" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76602, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76599, - "src": "19690:1:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "expression": { - "id": 76603, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "19694:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19701:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "19694:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 76605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19708:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "19694:20:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19690:24:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76607, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76586, - "src": "19718:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19740:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19718:23:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19690:51:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76995, - "nodeType": "WhileStatement", - "src": "19683:7031:172" - }, - { - "expression": { - "id": 77001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76996, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76549, - "src": "26727:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76997, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "26745:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 76998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26752:12:172", - "memberName": "maximumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 79046, - "src": "26745:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 76999, - "name": "remainingTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76586, - "src": "26767:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26745:41:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26727:59:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77002, - "nodeType": "ExpressionStatement", - "src": "26727:59:172" - } - ] - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77004, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76549, - "src": "26811:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 77005, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "26829:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26836:12:172", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 79044, - "src": "26829:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "26811:37:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77015, - "nodeType": "IfStatement", - "src": "26807:125:172", - "trueBody": { - "id": 77014, - "nodeType": "Block", - "src": "26850:82:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 77009, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "26884:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26891:12:172", - "memberName": "minimumInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 79044, - "src": "26884:19:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77011, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76549, - "src": "26905:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77008, - "name": "MinimumInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75905, - "src": "26871:12:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 77012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26871:50:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77013, - "nodeType": "RevertStatement", - "src": "26864:57:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77016, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76549, - "src": "27619:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27637:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27619:19:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77041, - "nodeType": "IfStatement", - "src": "27615:203:172", - "trueBody": { - "id": 77040, - "nodeType": "Block", - "src": "27640:178:172", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 77035, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27766:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27770:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27766:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77037, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76549, - "src": "27778:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77020, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "27661:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27668:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "27661:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77023, - "indexExpression": { - "hexValue": "30", - "id": 77022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27675: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": "27661:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27678:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "27661:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 77025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27684:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "27661:35:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 77031, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77026, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "27697:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27704:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "27697:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77029, - "indexExpression": { - "hexValue": "30", - "id": 77028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27711: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": "27697:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27714:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "27697:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27661:67:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 77032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27729:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "27661:73:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77019, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "27654:6:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 77033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27654:81:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 77034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27736:12:172", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 44470, - "src": "27654:94:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$44376_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$44376_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 77038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27654:153:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77039, - "nodeType": "ExpressionStatement", - "src": "27654:153:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 77042, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "27832:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27839:4:172", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 79054, - "src": "27832:11:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 77044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27844:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "27832:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27853:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27832:22:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77085, - "nodeType": "IfStatement", - "src": "27828:390:172", - "trueBody": { - "id": 77084, - "nodeType": "Block", - "src": "27856:362:172", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77052, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "27935:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27942:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "27935:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77055, - "indexExpression": { - "hexValue": "30", - "id": 77054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27949: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": "27935:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27952:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "27935:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 77057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27958:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "27935:35:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 77063, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77058, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "27971:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27978:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "27971:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77061, - "indexExpression": { - "hexValue": "30", - "id": 77060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27985: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": "27971:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27988:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79021, - "src": "27971:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27935:67:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 77064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28003:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "27935:73:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77065, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "28026:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28033:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "28026:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77068, - "indexExpression": { - "hexValue": "30", - "id": 77067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28040: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": "28026:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28043:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "28026:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 77070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28049:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "28026:34:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 77076, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77071, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "28061:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28068:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "28061:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77074, - "indexExpression": { - "hexValue": "30", - "id": 77073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28075: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": "28061:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28078:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "28061:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28026:65:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 77077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28092:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "28026:71:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77078, - "name": "totalTakerInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76549, - "src": "28115:15:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77079, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76551, - "src": "28148:16:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77080, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "28182:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28189:4:172", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 79054, - "src": "28182: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": 77048, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "27893:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27897:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "27893:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77047, - "name": "IOrderBookV3OrderTaker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79323, - "src": "27870:22:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IOrderBookV3OrderTaker_$79323_$", - "typeString": "type(contract IOrderBookV3OrderTaker)" - } - }, - "id": 77050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27870:34:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IOrderBookV3OrderTaker_$79323", - "typeString": "contract IOrderBookV3OrderTaker" - } - }, - "id": 77051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27905:12:172", - "memberName": "onTakeOrders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79322, - "src": "27870: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": 77082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27870:337:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77083, - "nodeType": "ExpressionStatement", - "src": "27870:337:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77086, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76551, - "src": "28232:16:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28251:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "28232:20:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77115, - "nodeType": "IfStatement", - "src": "28228:222:172", - "trueBody": { - "id": 77114, - "nodeType": "Block", - "src": "28254:196:172", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 77105, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "28382:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28386:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "28382:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 77109, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "28402:4:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - ], - "id": 77108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "28394:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 77107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28394:7:172", - "typeDescriptions": {} - } - }, - "id": 77110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28394:13:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77111, - "name": "totalTakerOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76551, - "src": "28409: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": 77090, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "28275:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28282:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "28275:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77093, - "indexExpression": { - "hexValue": "30", - "id": 77092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28289: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": "28275:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28292:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 79017, - "src": "28275:22:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2 calldata" - } - }, - "id": 77095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28298:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "28275:34:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct IO calldata[] calldata" - } - }, - "id": 77101, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77096, - "name": "config", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "28310:6:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2 calldata" - } - }, - "id": 77097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28317:6:172", - "memberName": "orders", - "nodeType": "MemberAccess", - "referencedDeclaration": 79052, - "src": "28310:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata[] calldata" - } - }, - "id": 77099, - "indexExpression": { - "hexValue": "30", - "id": 77098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28324: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": "28310:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_calldata_ptr", - "typeString": "struct TakeOrderConfigV2 calldata" - } - }, - "id": 77100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28327:12:172", - "memberName": "inputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 79019, - "src": "28310:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28275:65:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_calldata_ptr", - "typeString": "struct IO calldata" - } - }, - "id": 77102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28341:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "28275:71:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77089, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44376, - "src": "28268:6:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$44376_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 77103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28268:79:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$44376", - "typeString": "contract IERC20" - } - }, - "id": 77104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28348:16:172", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 44497, - "src": "28268: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": 77112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28268:171:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77113, - "nodeType": "ExpressionStatement", - "src": "28268:171:172" - } - ] - } - }, - { - "id": 77135, - "nodeType": "UncheckedBlock", - "src": "28460:172:172", - "statements": [ - { - "body": { - "id": 77133, - "nodeType": "Block", - "src": "28549:73:172", - "statements": [ - { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 77128, - "name": "orderIOCalculationsToHandle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76575, - "src": "28576:27:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$dyn_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory[] memory" - } - }, - "id": 77130, - "indexExpression": { - "id": 77129, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77117, - "src": "28604:1:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28576:30:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 77127, - "name": "handleIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77995, - "src": "28567:8:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", - "typeString": "function (struct OrderIOCalculationV2 memory)" - } - }, - "id": 77131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28567:40:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77132, - "nodeType": "ExpressionStatement", - "src": "28567:40:172" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77120, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77117, - "src": "28504:1:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 77121, - "name": "orderIOCalculationsToHandle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76575, - "src": "28508:27:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$dyn_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory[] memory" - } - }, - "id": 77122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28536:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "28508:34:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28504:38:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77134, - "initializationExpression": { - "assignments": [ - 77117 - ], - "declarations": [ - { - "constant": false, - "id": 77117, - "mutability": "mutable", - "name": "i", - "nameLocation": "28497:1:172", - "nodeType": "VariableDeclaration", - "scope": 77134, - "src": "28489:9:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28489:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77119, - "initialValue": { - "hexValue": "30", - "id": 77118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28501:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "28489:13:172" - }, - "loopExpression": { - "expression": { - "id": 77125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "28544:3:172", - "subExpression": { - "id": 77124, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77117, - "src": "28544:1:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77126, - "nodeType": "ExpressionStatement", - "src": "28544:3:172" - }, - "nodeType": "ForStatement", - "src": "28484:138:172" - } - ] - } - ] - }, - "baseFunctions": [ - 79267 - ], - "documentation": { - "id": 76541, - "nodeType": "StructuredDocumentation", - "src": "18152:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "8a44689c", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 76547, - "kind": "modifierInvocation", - "modifierName": { - "id": 76546, - "name": "nonReentrant", - "nameLocations": [ - "18454:12:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "18454:12:172" - }, - "nodeType": "ModifierInvocation", - "src": "18454:12:172" - } - ], - "name": "takeOrders", - "nameLocation": "18382:10:172", - "parameters": { - "id": 76545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76544, - "mutability": "mutable", - "name": "config", - "nameLocation": "18421:6:172", - "nodeType": "VariableDeclaration", - "scope": 77137, - "src": "18393:34:172", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2" - }, - "typeName": { - "id": 76543, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76542, - "name": "TakeOrdersConfigV2", - "nameLocations": [ - "18393:18:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79055, - "src": "18393:18:172" - }, - "referencedDeclaration": 79055, - "src": "18393:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_storage_ptr", - "typeString": "struct TakeOrdersConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "18392:36:172" - }, - "returnParameters": { - "id": 76552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76549, - "mutability": "mutable", - "name": "totalTakerInput", - "nameLocation": "18492:15:172", - "nodeType": "VariableDeclaration", - "scope": 77137, - "src": "18484:23:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18484:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76551, - "mutability": "mutable", - "name": "totalTakerOutput", - "nameLocation": "18517:16:172", - "nodeType": "VariableDeclaration", - "scope": 77137, - "src": "18509:24:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76550, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18509:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "18483:51:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77469, - "nodeType": "FunctionDefinition", - "src": "28677:4498:172", - "nodes": [], - "body": { - "id": 77468, - "nodeType": "Block", - "src": "28934:4241:172", - "nodes": [], - "statements": [ - { - "id": 77340, - "nodeType": "Block", - "src": "28944:2546:172", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 77164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77160, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "28962:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77161, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28973:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "28962:16:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 77162, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "28982:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28991:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "28982:14:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "28962:34:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77171, - "nodeType": "IfStatement", - "src": "28958:107:172", - "trueBody": { - "id": 77170, - "nodeType": "Block", - "src": "28998:67:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "id": 77166, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "29033:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29044:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "29033:16:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77165, - "name": "SameOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75910, - "src": "29023:9:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 77168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29023:27:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77169, - "nodeType": "RevertStatement", - "src": "29016:34:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 77184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77172, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "29099:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29110:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "29099:23:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77176, - "indexExpression": { - "expression": { - "id": 77174, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29123:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29135:18:172", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78719, - "src": "29123:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29099:55:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77177, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29155:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "29099:61:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77178, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "29184:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77179, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29193:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "29184:20:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77182, - "indexExpression": { - "expression": { - "id": 77180, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29205:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29217:15:172", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78721, - "src": "29205:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29184:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29234:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "29184:55:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "29099:140:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77201, - "nodeType": "IfStatement", - "src": "29078:407:172", - "trueBody": { - "id": 77200, - "nodeType": "Block", - "src": "29254:231:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 77186, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "29314:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29325:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "29314:23:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77190, - "indexExpression": { - "expression": { - "id": 77188, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29338:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29350:18:172", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78719, - "src": "29338:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29314:55:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77191, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29370:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "29314:61:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77192, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "29397:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77193, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29406:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "29397:20:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77196, - "indexExpression": { - "expression": { - "id": 77194, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29418:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29430:15:172", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78721, - "src": "29418:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29397:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29447:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "29397:55:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77185, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75891, - "src": "29279:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 77198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29279:191:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77199, - "nodeType": "RevertStatement", - "src": "29272:198:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 77214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77202, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "29520:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29531:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "29520:23:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77206, - "indexExpression": { - "expression": { - "id": 77204, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29544:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29556:18:172", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78719, - "src": "29544:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29520:55:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77207, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29576:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "29520:64:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77208, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "29608:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29617:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "29608:20:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77212, - "indexExpression": { - "expression": { - "id": 77210, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29629:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29641:15:172", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78721, - "src": "29629:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29608:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77213, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29658:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "29608:58:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "29520:146:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77231, - "nodeType": "IfStatement", - "src": "29499:427:172", - "trueBody": { - "id": 77230, - "nodeType": "Block", - "src": "29681:245:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 77216, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "29749:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77217, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29760:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "29749:23:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77220, - "indexExpression": { - "expression": { - "id": 77218, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29773:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29785:18:172", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78719, - "src": "29773:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29749:55:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77221, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29805:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "29749:64:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77222, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "29835:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77223, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29844:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "29835:20:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77226, - "indexExpression": { - "expression": { - "id": 77224, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29856:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29868:15:172", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78721, - "src": "29856:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29835:49:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29885:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "29835:58:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 77215, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75898, - "src": "29706:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 77228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29706:205:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77229, - "nodeType": "RevertStatement", - "src": "29699:212:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 77244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77232, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "29961:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29970:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "29961:21:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77236, - "indexExpression": { - "expression": { - "id": 77234, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "29983:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29995:16:172", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78723, - "src": "29983:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29961:51:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30013:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "29961:57:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77238, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "30042:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30053:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "30042:22:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77242, - "indexExpression": { - "expression": { - "id": 77240, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "30065:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30077:17:172", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78717, - "src": "30065:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30042:53:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77243, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30096:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "30042:59:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "29961:140:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77261, - "nodeType": "IfStatement", - "src": "29940:407:172", - "trueBody": { - "id": 77260, - "nodeType": "Block", - "src": "30116:231:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 77246, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "30176:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30187:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "30176:22:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77250, - "indexExpression": { - "expression": { - "id": 77248, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "30199:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30211:17:172", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78717, - "src": "30199:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30176:53:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30230:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "30176:59:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77252, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "30257:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77253, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30266:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "30257:21:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77256, - "indexExpression": { - "expression": { - "id": 77254, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "30279:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30291:16:172", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78723, - "src": "30279:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30257:51:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30309:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "30257:57:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77245, - "name": "TokenMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75891, - "src": "30141:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 77258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30141:191:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77259, - "nodeType": "RevertStatement", - "src": "30134:198:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 77274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77262, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "30382:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77263, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30391:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "30382:21:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77266, - "indexExpression": { - "expression": { - "id": 77264, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "30404:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30416:16:172", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78723, - "src": "30404:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30382:51:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30434:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "30382:60:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77268, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "30466:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77269, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30477:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "30466:22:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77272, - "indexExpression": { - "expression": { - "id": 77270, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "30489:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30501:17:172", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78717, - "src": "30489:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30466:53:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77273, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30520:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "30466:62:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "30382:146:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77291, - "nodeType": "IfStatement", - "src": "30361:427:172", - "trueBody": { - "id": 77290, - "nodeType": "Block", - "src": "30543:245:172", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 77276, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "30611:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77277, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30622:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "30611:22:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77280, - "indexExpression": { - "expression": { - "id": 77278, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "30634:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30646:17:172", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78717, - "src": "30634:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30611:53:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77281, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30665:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "30611:62:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77282, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "30695:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30704:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "30695:21:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77286, - "indexExpression": { - "expression": { - "id": 77284, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "30717:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30729:16:172", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78723, - "src": "30717:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30695:51:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30747:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "30695:60:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 77275, - "name": "TokenDecimalsMismatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75898, - "src": "30568:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint8_$returns$__$", - "typeString": "function (uint8,uint8) pure" - } - }, - "id": 77288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30568:205:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77289, - "nodeType": "RevertStatement", - "src": "30561:212:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 77292, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "31013:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 77296, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 77293, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "31021:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31032:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "31021:15:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 77295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31021:17:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31013:26:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 77297, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75933, - "src": "31043:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31013:40:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77311, - "nodeType": "IfStatement", - "src": "31009:170:172", - "trueBody": { - "id": 77310, - "nodeType": "Block", - "src": "31055:124:172", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 77300, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "31092:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31096:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "31092:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 77302, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "31104:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31115:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "31104:16:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 77304, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "31122:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77305, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31133:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "31122:15:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 77306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31122:17: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": 77299, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79158, - "src": "31078:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 77307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31078:62:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77308, - "nodeType": "EmitStatement", - "src": "31073:67:172" - }, - { - "functionReturnParameters": 77159, - "id": 77309, - "nodeType": "Return", - "src": "31158:7:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 77312, - "name": "sOrders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76085, - "src": "31196:7:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 77316, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 77313, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "31204:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77314, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31213:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "31204:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 77315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31204:15:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31196:24:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 77317, - "name": "ORDER_DEAD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75933, - "src": "31224:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31196:38:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77331, - "nodeType": "IfStatement", - "src": "31192:164:172", - "trueBody": { - "id": 77330, - "nodeType": "Block", - "src": "31236:120:172", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 77320, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "31273:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31277:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "31273:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 77322, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "31285:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31294:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "31285:14:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 77324, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "31301:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77325, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31310:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "31301:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 77326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31301:15: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": 77319, - "name": "OrderNotFound", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79158, - "src": "31259:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,bytes32)" - } - }, - "id": 77327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31259:58:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77328, - "nodeType": "EmitStatement", - "src": "31254:63:172" - }, - { - "functionReturnParameters": 77159, - "id": 77329, - "nodeType": "Return", - "src": "31335:7:172" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 77333, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "31433:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31437:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "31433:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77335, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "31445:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - { - "id": 77336, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "31457:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - { - "id": 77337, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "31467:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - }, - { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - }, - { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - ], - "id": 77332, - "name": "Clear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79190, - "src": "31427:5:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_struct$_OrderV2_$79042_memory_ptr_$_t_struct$_ClearConfig_$78728_memory_ptr_$returns$__$", - "typeString": "function (address,struct OrderV2 memory,struct OrderV2 memory,struct ClearConfig memory)" - } - }, - "id": 77338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31427:52:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77339, - "nodeType": "EmitStatement", - "src": "31422:57:172" - } - ] - }, - { - "assignments": [ - 77343 - ], - "declarations": [ - { - "constant": false, - "id": 77343, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "31527:23:172", - "nodeType": "VariableDeclaration", - "scope": 77468, - "src": "31499:51:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 77342, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77341, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "31499:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "31499:20:172" - }, - "referencedDeclaration": 76041, - "src": "31499:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "id": 77354, - "initialValue": { - "arguments": [ - { - "id": 77345, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "31583:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - { - "expression": { - "id": 77346, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "31595:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31607:17:172", - "memberName": "aliceInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78717, - "src": "31595:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77348, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "31626:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31638:18:172", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78719, - "src": "31626:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77350, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "31658:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31667:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "31658:14:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77352, - "name": "bobSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77155, - "src": "31674:16:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 77344, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77792, - "src": "31553:16:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_OrderV2_$79042_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$", - "typeString": "function (struct OrderV2 memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculationV2 memory)" - } - }, - "id": 77353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31553:147:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31499:201:172" - }, - { - "assignments": [ - 77357 - ], - "declarations": [ - { - "constant": false, - "id": 77357, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "31738:21:172", - "nodeType": "VariableDeclaration", - "scope": 77468, - "src": "31710:49:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 77356, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77355, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "31710:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "31710:20:172" - }, - "referencedDeclaration": 76041, - "src": "31710:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "id": 77368, - "initialValue": { - "arguments": [ - { - "id": 77359, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "31792:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - { - "expression": { - "id": 77360, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "31802:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31814:15:172", - "memberName": "bobInputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78721, - "src": "31802:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77362, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "31831:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31843:16:172", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78723, - "src": "31831:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77364, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "31861:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31872:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "31861:16:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77366, - "name": "aliceSignedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77151, - "src": "31879:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "id": 77358, - "name": "calculateOrderIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77792, - "src": "31762:16:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_OrderV2_$79042_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$", - "typeString": "function (struct OrderV2 memory,uint256,uint256,address,struct SignedContextV1 memory[] memory) view returns (struct OrderIOCalculationV2 memory)" - } - }, - "id": 77367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31762:145:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31710:197:172" - }, - { - "assignments": [ - 77371 - ], - "declarations": [ - { - "constant": false, - "id": 77371, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "31941:16:172", - "nodeType": "VariableDeclaration", - "scope": 77468, - "src": "31917:40:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 77370, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77369, - "name": "ClearStateChange", - "nameLocations": [ - "31917:16:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78737, - "src": "31917:16:172" - }, - "referencedDeclaration": 78737, - "src": "31917:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "id": 77376, - "initialValue": { - "arguments": [ - { - "id": 77373, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77343, - "src": "31998:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - { - "id": 77374, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77357, - "src": "32023:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 77372, - "name": "calculateClearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78033, - "src": "31972:25:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$_t_struct$_ClearStateChange_$78737_memory_ptr_$", - "typeString": "function (struct OrderIOCalculationV2 memory,struct OrderIOCalculationV2 memory) pure returns (struct ClearStateChange memory)" - } - }, - "id": 77375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31972:73:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "31917:128:172" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 77378, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32070:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32087:10:172", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78734, - "src": "32070:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77380, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32099:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32116:11:172", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78730, - "src": "32099:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77382, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77343, - "src": "32129:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 77377, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77897, - "src": "32056:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,struct OrderIOCalculationV2 memory)" - } - }, - "id": 77383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32056:97:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77384, - "nodeType": "ExpressionStatement", - "src": "32056:97:172" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 77386, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32177:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32194:8:172", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78736, - "src": "32177:25:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77388, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32204:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77389, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32221:9:172", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78732, - "src": "32204:26:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77390, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77357, - "src": "32232:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 77385, - "name": "recordVaultIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77897, - "src": "32163:13:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,struct OrderIOCalculationV2 memory)" - } - }, - "id": 77391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32163:91:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77392, - "nodeType": "ExpressionStatement", - "src": "32163:91:172" - }, - { - "id": 77453, - "nodeType": "Block", - "src": "32265:763:172", - "statements": [ - { - "assignments": [ - 77394 - ], - "declarations": [ - { - "constant": false, - "id": 77394, - "mutability": "mutable", - "name": "aliceBounty", - "nameLocation": "32419:11:172", - "nodeType": "VariableDeclaration", - "scope": 77453, - "src": "32411:19:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32411:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77400, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77395, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32433:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32450:11:172", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78730, - "src": "32433:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 77397, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32464:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32481:8:172", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78736, - "src": "32464:25:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32433:56:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32411:78:172" - }, - { - "assignments": [ - 77402 - ], - "declarations": [ - { - "constant": false, - "id": 77402, - "mutability": "mutable", - "name": "bobBounty", - "nameLocation": "32511:9:172", - "nodeType": "VariableDeclaration", - "scope": 77453, - "src": "32503:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32503:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77408, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77403, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32523:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32540:9:172", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78732, - "src": "32523:26:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 77405, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "32552:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 77406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32569:10:172", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78734, - "src": "32552:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32523:56:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32503:76:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77409, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77394, - "src": "32597:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32611:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32597:15:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77430, - "nodeType": "IfStatement", - "src": "32593:211:172", - "trueBody": { - "id": 77429, - "nodeType": "Block", - "src": "32614:190:172", - "statements": [ - { - "expression": { - "id": 77427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 77412, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "32632: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": 77423, - "indexExpression": { - "expression": { - "id": 77413, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "32647:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32651:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "32647:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32632:26:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 77424, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77415, - "name": "aliceOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77141, - "src": "32659:10:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77416, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32670:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "32659:23:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77419, - "indexExpression": { - "expression": { - "id": 77417, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "32683:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32695:18:172", - "memberName": "aliceOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78719, - "src": "32683:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32659:55:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32715:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "32659:61:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32632:89:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 77425, - "indexExpression": { - "expression": { - "id": 77421, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "32722:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32755:18:172", - "memberName": "aliceBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 78725, - "src": "32722:51:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32632:142:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 77426, - "name": "aliceBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77394, - "src": "32778:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32632:157:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77428, - "nodeType": "ExpressionStatement", - "src": "32632:157:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77431, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77402, - "src": "32821:9:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32833:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32821:13:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77452, - "nodeType": "IfStatement", - "src": "32817:201:172", - "trueBody": { - "id": 77451, - "nodeType": "Block", - "src": "32836:182:172", - "statements": [ - { - "expression": { - "id": 77449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 77434, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "32854: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": 77445, - "indexExpression": { - "expression": { - "id": 77435, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "32869:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32873:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "32869:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32854:26:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 77446, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77437, - "name": "bobOrder", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77144, - "src": "32881:8:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32890:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "32881:21:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77441, - "indexExpression": { - "expression": { - "id": 77439, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "32903:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32915:16:172", - "memberName": "bobOutputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 78723, - "src": "32903:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32881:51:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32933:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "32881:57:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "32854:85:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 77447, - "indexExpression": { - "expression": { - "id": 77443, - "name": "clearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77147, - "src": "32940:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig calldata" - } - }, - "id": 77444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32973:16:172", - "memberName": "bobBountyVaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 78727, - "src": "32940:49:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "32854:136:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 77448, - "name": "bobBounty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77402, - "src": "32994:9:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32854:149:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77450, - "nodeType": "ExpressionStatement", - "src": "32854:149:172" - } - ] - } - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 77455, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "33054:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "33058:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "33054:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77457, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77371, - "src": "33066:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - ], - "id": 77454, - "name": "AfterClear", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79198, - "src": "33043:10:172", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_ClearStateChange_$78737_memory_ptr_$returns$__$", - "typeString": "function (address,struct ClearStateChange memory)" - } - }, - "id": 77458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33043:40:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77459, - "nodeType": "EmitStatement", - "src": "33038:45:172" - }, - { - "expression": { - "arguments": [ - { - "id": 77461, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77343, - "src": "33103:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 77460, - "name": "handleIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77995, - "src": "33094:8:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", - "typeString": "function (struct OrderIOCalculationV2 memory)" - } - }, - "id": 77462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33094:33:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77463, - "nodeType": "ExpressionStatement", - "src": "33094:33:172" - }, - { - "expression": { - "arguments": [ - { - "id": 77465, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77357, - "src": "33146:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 77464, - "name": "handleIO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77995, - "src": "33137:8:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$__$", - "typeString": "function (struct OrderIOCalculationV2 memory)" - } - }, - "id": 77466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33137:31:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77467, - "nodeType": "ExpressionStatement", - "src": "33137:31:172" - } - ] - }, - "baseFunctions": [ - 79288 - ], - "documentation": { - "id": 77138, - "nodeType": "StructuredDocumentation", - "src": "28644:28:172", - "text": "@inheritdoc IOrderBookV3" - }, - "functionSelector": "9e18968b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 77158, - "kind": "modifierInvocation", - "modifierName": { - "id": 77157, - "name": "nonReentrant", - "nameLocations": [ - "28921:12:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43676, - "src": "28921:12:172" - }, - "nodeType": "ModifierInvocation", - "src": "28921:12:172" - } - ], - "name": "clear", - "nameLocation": "28686:5:172", - "parameters": { - "id": 77156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77141, - "mutability": "mutable", - "name": "aliceOrder", - "nameLocation": "28716:10:172", - "nodeType": "VariableDeclaration", - "scope": 77469, - "src": "28701:25:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 77140, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77139, - "name": "OrderV2", - "nameLocations": [ - "28701:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "28701:7:172" - }, - "referencedDeclaration": 79042, - "src": "28701:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77144, - "mutability": "mutable", - "name": "bobOrder", - "nameLocation": "28751:8:172", - "nodeType": "VariableDeclaration", - "scope": 77469, - "src": "28736:23:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 77143, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77142, - "name": "OrderV2", - "nameLocations": [ - "28736:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "28736:7:172" - }, - "referencedDeclaration": 79042, - "src": "28736:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77147, - "mutability": "mutable", - "name": "clearConfig", - "nameLocation": "28790:11:172", - "nodeType": "VariableDeclaration", - "scope": 77469, - "src": "28769:32:172", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig" - }, - "typeName": { - "id": 77146, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77145, - "name": "ClearConfig", - "nameLocations": [ - "28769:11:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78728, - "src": "28769:11:172" - }, - "referencedDeclaration": 78728, - "src": "28769:11:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_storage_ptr", - "typeString": "struct ClearConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77151, - "mutability": "mutable", - "name": "aliceSignedContext", - "nameLocation": "28836:18:172", - "nodeType": "VariableDeclaration", - "scope": 77469, - "src": "28811:43:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 77149, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77148, - "name": "SignedContextV1", - "nameLocations": [ - "28811:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55640, - "src": "28811:15:172" - }, - "referencedDeclaration": 55640, - "src": "28811:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 77150, - "nodeType": "ArrayTypeName", - "src": "28811:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77155, - "mutability": "mutable", - "name": "bobSignedContext", - "nameLocation": "28889:16:172", - "nodeType": "VariableDeclaration", - "scope": 77469, - "src": "28864:41:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 77153, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77152, - "name": "SignedContextV1", - "nameLocations": [ - "28864:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55640, - "src": "28864:15:172" - }, - "referencedDeclaration": 55640, - "src": "28864:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 77154, - "nodeType": "ArrayTypeName", - "src": "28864:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "28691:220:172" - }, - "returnParameters": { - "id": 77159, - "nodeType": "ParameterList", - "parameters": [], - "src": "28934:0:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77792, - "nodeType": "FunctionDefinition", - "src": "33879:5183:172", - "nodes": [], - "body": { - "id": 77791, - "nodeType": "Block", - "src": "34132:4930:172", - "nodes": [], - "statements": [ - { - "id": 77790, - "nodeType": "UncheckedBlock", - "src": "34142:4914:172", - "statements": [ - { - "assignments": [ - 77490 - ], - "declarations": [ - { - "constant": false, - "id": 77490, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "34174:9:172", - "nodeType": "VariableDeclaration", - "scope": 77790, - "src": "34166:17:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 77489, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "34166:7:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 77494, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 77491, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34186:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77492, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34192:4:172", - "memberName": "hash", - "nodeType": "MemberAccess", - "referencedDeclaration": 79344, - "src": "34186:10:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderV2_$79042_memory_ptr_$returns$_t_bytes32_$attached_to$_t_struct$_OrderV2_$79042_memory_ptr_$", - "typeString": "function (struct OrderV2 memory) pure returns (bytes32)" - } - }, - "id": 77493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34186:12:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34166:32:172" - }, - { - "assignments": [ - 77500 - ], - "declarations": [ - { - "constant": false, - "id": 77500, - "mutability": "mutable", - "name": "context", - "nameLocation": "34232:7:172", - "nodeType": "VariableDeclaration", - "scope": 77790, - "src": "34213: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": 77497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34213:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77498, - "nodeType": "ArrayTypeName", - "src": "34213:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 77499, - "nodeType": "ArrayTypeName", - "src": "34213:11:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 77501, - "nodeType": "VariableDeclarationStatement", - "src": "34213:26:172" - }, - { - "id": 77648, - "nodeType": "Block", - "src": "34253:1502:172", - "statements": [ - { - "assignments": [ - 77507 - ], - "declarations": [ - { - "constant": false, - "id": 77507, - "mutability": "mutable", - "name": "callingContext", - "nameLocation": "34290:14:172", - "nodeType": "VariableDeclaration", - "scope": 77648, - "src": "34271: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": 77504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34271:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77505, - "nodeType": "ArrayTypeName", - "src": "34271:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 77506, - "nodeType": "ArrayTypeName", - "src": "34271:11:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - }, - "visibility": "internal" - } - ], - "id": 77514, - "initialValue": { - "arguments": [ - { - "id": 77512, - "name": "CALLING_CONTEXT_COLUMNS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75969, - "src": "34323:23:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "34307: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": 77508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34311:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77509, - "nodeType": "ArrayTypeName", - "src": "34311:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "id": 77510, - "nodeType": "ArrayTypeName", - "src": "34311:11:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_storage_$dyn_storage_ptr", - "typeString": "uint256[][]" - } - } - }, - "id": 77513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34307:40:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "34271:76:172" - }, - { - "expression": { - "id": 77542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 77515, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77507, - "src": "34365:14:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77519, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 77516, - "name": "CONTEXT_CALLING_CONTEXT_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75977, - "src": "34380:30:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 77517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34413:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "34380:34:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "34365:50:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 77524, - "name": "orderHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77490, - "src": "34473:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 77523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34465:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77522, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34465:7:172", - "typeDescriptions": {} - } - }, - "id": 77525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34465:18:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 77530, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34501:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34507:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "34501:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34493:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 77528, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "34493:7:172", - "typeDescriptions": {} - } - }, - "id": 77532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34493:20:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 77527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34485:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77526, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34485:7:172", - "typeDescriptions": {} - } - }, - "id": 77533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34485:29:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 77538, - "name": "counterparty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77479, - "src": "34532:12:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34524:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 77536, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "34524:7:172", - "typeDescriptions": {} - } - }, - "id": 77539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34524:21:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 77535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34516:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77534, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34516:7:172", - "typeDescriptions": {} - } - }, - "id": 77540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34516: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": 77520, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "34418:15:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 77521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34434:9:172", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 73701, - "src": "34418: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": 77541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34418:146:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "34365:199:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77543, - "nodeType": "ExpressionStatement", - "src": "34365:199:172" - }, - { - "expression": { - "id": 77590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 77544, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77507, - "src": "34583:14:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77548, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 77545, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75985, - "src": "34598:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 77546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34628:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "34598:31:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "34583: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": 77555, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34696:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34702:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "34696:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77558, - "indexExpression": { - "id": 77557, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77475, - "src": "34714:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34696:31:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77559, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34728:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "34696:37:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34688:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 77553, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "34688:7:172", - "typeDescriptions": {} - } - }, - "id": 77560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34688:46:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 77552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34680:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77551, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34680:7:172", - "typeDescriptions": {} - } - }, - "id": 77561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34680:55:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77562, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34757:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34763:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "34757:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77565, - "indexExpression": { - "id": 77564, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77475, - "src": "34775:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34757:31:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77566, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34789:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "34757:40:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77567, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34819:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77568, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34825:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "34819:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77570, - "indexExpression": { - "id": 77569, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77475, - "src": "34837:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34819:31:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77571, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34851:7:172", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 78657, - "src": "34819:39:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 77572, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "34880: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": 77575, - "indexExpression": { - "expression": { - "id": 77573, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34895:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34901:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "34895:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34880:27:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 77581, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77576, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34908:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77577, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34914:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "34908:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77579, - "indexExpression": { - "id": 77578, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77475, - "src": "34926:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34908:31:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77580, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34940:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "34908:37:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34880:66:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 77587, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77582, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "34947:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77583, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34953:11:172", - "memberName": "validInputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79037, - "src": "34947:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77585, - "indexExpression": { - "id": 77584, - "name": "inputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77475, - "src": "34965:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34947:31:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77586, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35004:7:172", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 78657, - "src": "34947:64:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "34880:132:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 77588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35090: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": 77549, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "34633:15:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 77550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "34649:9:172", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 73737, - "src": "34633: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": 77589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34633:476:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "34583:526:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77591, - "nodeType": "ExpressionStatement", - "src": "34583:526:172" - }, - { - "expression": { - "id": 77638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 77592, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77507, - "src": "35128:14:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77596, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "id": 77593, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75989, - "src": "35143:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 77594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35174:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "35143:32:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "35128: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": 77603, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "35242:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35248:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "35242:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77606, - "indexExpression": { - "id": 77605, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "35261:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35242:33:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77607, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35276:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "35242:39:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35234:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 77601, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "35234:7:172", - "typeDescriptions": {} - } - }, - "id": 77608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35234:48:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 77600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35226:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35226:7:172", - "typeDescriptions": {} - } - }, - "id": 77609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35226:57:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77610, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "35305:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35311:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "35305:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77613, - "indexExpression": { - "id": 77612, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "35324:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35305:33:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77614, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35339:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "35305:42:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "expression": { - "baseExpression": { - "expression": { - "id": 77615, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "35369:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35375:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "35369:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77618, - "indexExpression": { - "id": 77617, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "35388:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35369:33:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77619, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35403:7:172", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 78657, - "src": "35369:41:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 77620, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "35432: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": 77623, - "indexExpression": { - "expression": { - "id": 77621, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "35447:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35453:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "35447:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35432:27:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 77629, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77624, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "35460:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35466:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "35460:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77627, - "indexExpression": { - "id": 77626, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "35479:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35460:33:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35494:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "35460:39:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35432:68:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 77635, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77630, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "35501:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35507:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "35501:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77633, - "indexExpression": { - "id": 77632, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "35520:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35501:33:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35560:7:172", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 78657, - "src": "35501:66:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "35432:136:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 77636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35646: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": 77597, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "35179:15:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 77598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35195:9:172", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 73737, - "src": "35179: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": 77637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35179:486:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "35128:537:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77639, - "nodeType": "ExpressionStatement", - "src": "35128:537:172" - }, - { - "expression": { - "id": 77646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77640, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77500, - "src": "35683: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": 77643, - "name": "callingContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77507, - "src": "35710:14:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 77644, - "name": "signedContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77483, - "src": "35726:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_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_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1 memory[] memory" - } - ], - "expression": { - "id": 77641, - "name": "LibContext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57009, - "src": "35693:10:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibContext_$57009_$", - "typeString": "type(library LibContext)" - } - }, - "id": 77642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "35704:5:172", - "memberName": "build", - "nodeType": "MemberAccess", - "referencedDeclaration": 57008, - "src": "35693: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_$55640_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": 77645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35693:47:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "src": "35683:57:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77647, - "nodeType": "ExpressionStatement", - "src": "35683:57:172" - } - ] - }, - { - "assignments": [ - 77651 - ], - "declarations": [ - { - "constant": false, - "id": 77651, - "mutability": "mutable", - "name": "namespace", - "nameLocation": "35946:9:172", - "nodeType": "VariableDeclaration", - "scope": 77790, - "src": "35931:24:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - }, - "typeName": { - "id": 77650, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77649, - "name": "StateNamespace", - "nameLocations": [ - "35931:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55877, - "src": "35931:14:172" - }, - "referencedDeclaration": 55877, - "src": "35931:14:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - "visibility": "internal" - } - ], - "id": 77663, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 77658, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "35994:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77659, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36000:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "35994:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35986:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 77656, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "35986:7:172", - "typeDescriptions": {} - } - }, - "id": 77660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35986:20:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 77655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35978:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35978:7:172", - "typeDescriptions": {} - } - }, - "id": 77661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35978:29:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 77652, - "name": "StateNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55877, - "src": "35958:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_StateNamespace_$55877_$", - "typeString": "type(StateNamespace)" - } - }, - "id": 77653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "35973:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "35958:19:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_StateNamespace_$55877_$", - "typeString": "function (uint256) pure returns (StateNamespace)" - } - }, - "id": 77662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35958:50:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "35931:77:172" - }, - { - "assignments": [ - 77668, - 77671 - ], - "declarations": [ - { - "constant": false, - "id": 77668, - "mutability": "mutable", - "name": "calculateOrderStack", - "nameLocation": "36367:19:172", - "nodeType": "VariableDeclaration", - "scope": 77790, - "src": "36350:36:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 77666, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36350:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77667, - "nodeType": "ArrayTypeName", - "src": "36350:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77671, - "mutability": "mutable", - "name": "calculateOrderKVs", - "nameLocation": "36405:17:172", - "nodeType": "VariableDeclaration", - "scope": 77790, - "src": "36388:34:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 77669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36388:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77670, - "nodeType": "ArrayTypeName", - "src": "36388:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 77699, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "id": 77676, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "36528:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36534:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "36528:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36544:5:172", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 55629, - "src": "36528:21:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "arguments": [ - { - "id": 77681, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77651, - "src": "36597:9:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "id": 77684, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "36616:4:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - ], - "id": 77683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "36608:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 77682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "36608:7:172", - "typeDescriptions": {} - } - }, - "id": 77685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36608:13:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 77679, - "name": "LibNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57900, - "src": "36567:12:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibNamespace_$57900_$", - "typeString": "type(library LibNamespace)" - } - }, - "id": 77680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36580:16:172", - "memberName": "qualifyNamespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 57899, - "src": "36567:29:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$55877_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$", - "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" - } - }, - "id": 77686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36567:55:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", - "typeString": "FullyQualifiedNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 77688, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "36664:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36670:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "36664:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36680:10:172", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 55631, - "src": "36664:26:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77687, - "name": "_calculateOrderDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78161, - "src": "36640:23:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 77691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36640:51:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - } - }, - { - "id": 77692, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77500, - "src": "36709:7:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 77696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36748: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" - } - ], - "id": 77695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "36734:13:172", - "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": 77693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36738:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77694, - "nodeType": "ArrayTypeName", - "src": "36738:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 77697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36734:16:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", - "typeString": "FullyQualifiedNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "id": 77672, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "36426:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36449:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "36426:32:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77674, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36476:11:172", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 55626, - "src": "36426:61:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV2_$56032", - "typeString": "contract IInterpreterV2" - } - }, - "id": 77675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "36505:5:172", - "memberName": "eval2", - "nodeType": "MemberAccess", - "referencedDeclaration": 56031, - "src": "36426:84:172", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$55698_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$_t_userDefinedValueType$_EncodedDispatch_$55875_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,FullyQualifiedNamespace,EncodedDispatch,uint256[] memory[] memory,uint256[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 77698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36426:338: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": "36349:415:172" - }, - { - "assignments": [ - 77702 - ], - "declarations": [ - { - "constant": false, - "id": 77702, - "mutability": "mutable", - "name": "orderOutputMax18", - "nameLocation": "36794:16:172", - "nodeType": "VariableDeclaration", - "scope": 77790, - "src": "36779:31:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 77701, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77700, - "name": "Output18Amount", - "nameLocations": [ - "36779:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76043, - "src": "36779:14:172" - }, - "referencedDeclaration": 76043, - "src": "36779:14:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 77709, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 77705, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77668, - "src": "36833:19:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77707, - "indexExpression": { - "hexValue": "31", - "id": 77706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36853:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36833:22:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 77703, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "36813:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 77704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "36828:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "36813:19:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 77708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36813:43:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36779:77:172" - }, - { - "assignments": [ - 77711 - ], - "declarations": [ - { - "constant": false, - "id": 77711, - "mutability": "mutable", - "name": "orderIORatio", - "nameLocation": "36878:12:172", - "nodeType": "VariableDeclaration", - "scope": 77790, - "src": "36870:20:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36870:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77715, - "initialValue": { - "baseExpression": { - "id": 77712, - "name": "calculateOrderStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77668, - "src": "36893:19:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77714, - "indexExpression": { - "hexValue": "30", - "id": 77713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36913:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "36893:22:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36870:45:172" - }, - { - "id": 77766, - "nodeType": "Block", - "src": "36930:1718:172", - "statements": [ - { - "assignments": [ - 77717 - ], - "declarations": [ - { - "constant": false, - "id": 77717, - "mutability": "mutable", - "name": "ownerVaultBalance", - "nameLocation": "37092:17:172", - "nodeType": "VariableDeclaration", - "scope": 77766, - "src": "37084:25:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37084:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77734, - "initialValue": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 77718, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "37112: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": 77721, - "indexExpression": { - "expression": { - "id": 77719, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "37127:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77720, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37133:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "37127:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37112:27:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 77727, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77722, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "37140:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77723, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37146:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "37140:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77725, - "indexExpression": { - "id": 77724, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "37159:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37140:33:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37174:5:172", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 78653, - "src": "37140:39:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37112:68:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 77733, - "indexExpression": { - "expression": { - "baseExpression": { - "expression": { - "id": 77728, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "37181:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37208:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "37181:39:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77731, - "indexExpression": { - "id": 77730, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "37221:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37181:54:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77732, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "37236:7:172", - "memberName": "vaultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 78657, - "src": "37181:62:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "37112:132:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37084:160:172" - }, - { - "assignments": [ - 77737 - ], - "declarations": [ - { - "constant": false, - "id": 77737, - "mutability": "mutable", - "name": "ownerVaultBalance18", - "nameLocation": "38312:19:172", - "nodeType": "VariableDeclaration", - "scope": 77766, - "src": "38297:34:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 77736, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77735, - "name": "Output18Amount", - "nameLocations": [ - "38297:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76043, - "src": "38297:14:172" - }, - "referencedDeclaration": 76043, - "src": "38297:14:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 77750, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "id": 77742, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "38400:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38406:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "38400:18:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 77745, - "indexExpression": { - "id": 77744, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "38419:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "38400:33:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 77746, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38434:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "38400:42:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 77747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38444: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": 77740, - "name": "ownerVaultBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77717, - "src": "38374:17:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38392:7:172", - "memberName": "scale18", - "nodeType": "MemberAccess", - "referencedDeclaration": 72704, - "src": "38374: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": 77748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38374:72:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 77738, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "38354:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 77739, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "38369:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "38354:19:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 77749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38354:93:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38297:150:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 77753, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77702, - "src": "38491:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 77751, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "38469:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 77752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "38484:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "38469:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 77754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38469:39:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 77757, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77737, - "src": "38533:19:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 77755, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "38511:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 77756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "38526:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "38511:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 77758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38511:42:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38469:84:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77765, - "nodeType": "IfStatement", - "src": "38465:169:172", - "trueBody": { - "id": 77764, - "nodeType": "Block", - "src": "38555:79:172", - "statements": [ - { - "expression": { - "id": 77762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77760, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77702, - "src": "38577:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77761, - "name": "ownerVaultBalance18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77737, - "src": "38596:19:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "src": "38577:38:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "id": 77763, - "nodeType": "ExpressionStatement", - "src": "38577:38:172" - } - ] - } - } - ] - }, - { - "expression": { - "id": 77778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 77767, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77500, - "src": "38745:7:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77769, - "indexExpression": { - "id": 77768, - "name": "CONTEXT_CALCULATIONS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75981, - "src": "38753:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "38745:36:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 77774, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77702, - "src": "38848:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 77772, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "38826:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 77773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "38841:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "38826:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 77775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38826:39:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77776, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77711, - "src": "38867:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 77770, - "name": "LibUint256Array", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73827, - "src": "38800:15:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibUint256Array_$73827_$", - "typeString": "type(library LibUint256Array)" - } - }, - "id": 77771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38816:9:172", - "memberName": "arrayFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 73686, - "src": "38800: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": 77777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38800:80:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "38745:135:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77779, - "nodeType": "ExpressionStatement", - "src": "38745:135:172" - }, - { - "expression": { - "arguments": [ - { - "id": 77781, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77473, - "src": "38940:5:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - { - "id": 77782, - "name": "outputIOIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77477, - "src": "38947:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77783, - "name": "orderOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77702, - "src": "38962:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - { - "id": 77784, - "name": "orderIORatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77711, - "src": "38980:12:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77785, - "name": "context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77500, - "src": "38994:7:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "id": 77786, - "name": "namespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77651, - "src": "39003:9:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - { - "id": 77787, - "name": "calculateOrderKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77671, - "src": "39014:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "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_$55877", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 77780, - "name": "OrderIOCalculationV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76041, - "src": "38902:20:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_OrderIOCalculationV2_$76041_storage_ptr_$", - "typeString": "type(struct OrderIOCalculationV2 storage pointer)" - } - }, - "id": 77788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38902:143:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "functionReturnParameters": 77488, - "id": 77789, - "nodeType": "Return", - "src": "38895:150:172" - } - ] - } - ] - }, - "documentation": { - "id": 77470, - "nodeType": "StructuredDocumentation", - "src": "33181: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": "33888:16:172", - "parameters": { - "id": 77484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77473, - "mutability": "mutable", - "name": "order", - "nameLocation": "33929:5:172", - "nodeType": "VariableDeclaration", - "scope": 77792, - "src": "33914:20:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 77472, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77471, - "name": "OrderV2", - "nameLocations": [ - "33914:7:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "33914:7:172" - }, - "referencedDeclaration": 79042, - "src": "33914:7:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77475, - "mutability": "mutable", - "name": "inputIOIndex", - "nameLocation": "33952:12:172", - "nodeType": "VariableDeclaration", - "scope": 77792, - "src": "33944:20:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33944:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77477, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "33982:13:172", - "nodeType": "VariableDeclaration", - "scope": 77792, - "src": "33974:21:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33974:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77479, - "mutability": "mutable", - "name": "counterparty", - "nameLocation": "34013:12:172", - "nodeType": "VariableDeclaration", - "scope": 77792, - "src": "34005:20:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77478, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "34005:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77483, - "mutability": "mutable", - "name": "signedContext", - "nameLocation": "34060:13:172", - "nodeType": "VariableDeclaration", - "scope": 77792, - "src": "34035:38:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 77481, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77480, - "name": "SignedContextV1", - "nameLocations": [ - "34035:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55640, - "src": "34035:15:172" - }, - "referencedDeclaration": 55640, - "src": "34035:15:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 77482, - "nodeType": "ArrayTypeName", - "src": "34035:17:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "33904:175:172" - }, - "returnParameters": { - "id": 77488, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77487, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77792, - "src": "34103:27:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 77486, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77485, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "34103:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "34103:20:172" - }, - "referencedDeclaration": 76041, - "src": "34103:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "src": "34102:29:172" - }, - "scope": 78178, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77897, - "nodeType": "FunctionDefinition", - "src": "39582:1324:172", - "nodes": [], - "body": { - "id": 77896, - "nodeType": "Block", - "src": "39693:1213:172", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 77803, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "39703:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39722:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "39703:26:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77808, - "indexExpression": { - "id": 77805, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75985, - "src": "39730:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39703:55:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77809, - "indexExpression": { - "id": 77806, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "39759:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "39703:86:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77810, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77795, - "src": "39792:5:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39703:94:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77812, - "nodeType": "ExpressionStatement", - "src": "39703:94:172" - }, - { - "expression": { - "id": 77821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 77813, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "39807:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77817, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39826:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "39807:26:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77818, - "indexExpression": { - "id": 77815, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75989, - "src": "39834:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39807:56:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77819, - "indexExpression": { - "id": 77816, - "name": "CONTEXT_VAULT_IO_BALANCE_DIFF", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "39864:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "39807:87:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77820, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77797, - "src": "39897:6:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39807:96:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77822, - "nodeType": "ExpressionStatement", - "src": "39807:96:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77823, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77795, - "src": "39918:5:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "39926:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "39918:9:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77855, - "nodeType": "IfStatement", - "src": "39914:379:172", - "trueBody": { - "id": 77854, - "nodeType": "Block", - "src": "39929:364:172", - "statements": [ - { - "expression": { - "id": 77852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 77826, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "40014: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": 77848, - "indexExpression": { - "expression": { - "expression": { - "id": 77827, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "40029:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77828, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40048:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "40029:24:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40054:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "40029:30:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40014:46:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 77849, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 77834, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "40094:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40113:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "40094:26:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77837, - "indexExpression": { - "id": 77836, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75985, - "src": "40121:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40094:55:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77839, - "indexExpression": { - "id": 77838, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75993, - "src": "40150:22:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40094:79:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "40086:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 77832, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "40086:7:172", - "typeDescriptions": {} - } - }, - "id": 77840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40086:88:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 77831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "40061:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 77830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40061:7:172", - "typeDescriptions": {} - } - }, - "id": 77841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40061:127:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40014:175:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 77850, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 77842, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "40190:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40209:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "40190:26:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77845, - "indexExpression": { - "id": 77844, - "name": "CONTEXT_VAULT_INPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75985, - "src": "40217:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40190:55:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77847, - "indexExpression": { - "id": 77846, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76001, - "src": "40246:25:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40190:82:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "40014:259:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 77851, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77795, - "src": "40277:5:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40014:268:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77853, - "nodeType": "ExpressionStatement", - "src": "40014:268:172" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77856, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77797, - "src": "40306:6:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "40315:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "40306:10:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77888, - "nodeType": "IfStatement", - "src": "40302:384:172", - "trueBody": { - "id": 77887, - "nodeType": "Block", - "src": "40318:368:172", - "statements": [ - { - "expression": { - "id": 77885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "baseExpression": { - "id": 77859, - "name": "sVaultBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76094, - "src": "40404: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": 77881, - "indexExpression": { - "expression": { - "expression": { - "id": 77860, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "40419:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77861, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40438:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "40419:24:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77862, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40444:5:172", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 79028, - "src": "40419:30:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40404:46:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 77882, - "indexExpression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 77867, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "40484:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77868, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40503:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "40484:26:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77870, - "indexExpression": { - "id": 77869, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75989, - "src": "40511:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40484:56:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77872, - "indexExpression": { - "id": 77871, - "name": "CONTEXT_VAULT_IO_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75993, - "src": "40541:22:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40484:80:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "40476:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 77865, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "40476:7:172", - "typeDescriptions": {} - } - }, - "id": 77873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40476:89:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 77864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "40451:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 77863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40451:7:172", - "typeDescriptions": {} - } - }, - "id": 77874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40451:128:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40404:176:172", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 77883, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "expression": { - "id": 77875, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "40581:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40600:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "40581:26:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - "id": 77878, - "indexExpression": { - "id": 77877, - "name": "CONTEXT_VAULT_OUTPUTS_COLUMN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75989, - "src": "40608:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40581:56:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77880, - "indexExpression": { - "id": 77879, - "name": "CONTEXT_VAULT_IO_VAULT_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76001, - "src": "40638:25:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "40581:83:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "40404:261:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 77884, - "name": "output", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77797, - "src": "40669:6:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40404:271:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77886, - "nodeType": "ExpressionStatement", - "src": "40404:271:172" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 77890, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40860:3:172", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40864:6:172", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40860:10:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 77892, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77800, - "src": "40872:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77893, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40891:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "40872: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": 77889, - "name": "Context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55659, - "src": "40852: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": 77894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40852:47:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77895, - "nodeType": "EmitStatement", - "src": "40847:52:172" - } - ] - }, - "documentation": { - "id": 77793, - "nodeType": "StructuredDocumentation", - "src": "39068:509: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 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": "39591:13:172", - "parameters": { - "id": 77801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77795, - "mutability": "mutable", - "name": "input", - "nameLocation": "39613:5:172", - "nodeType": "VariableDeclaration", - "scope": 77897, - "src": "39605:13:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39605:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77797, - "mutability": "mutable", - "name": "output", - "nameLocation": "39628:6:172", - "nodeType": "VariableDeclaration", - "scope": 77897, - "src": "39620:14:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39620:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77800, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "39664:18:172", - "nodeType": "VariableDeclaration", - "scope": 77897, - "src": "39636:46:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 77799, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77798, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "39636:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "39636:20:172" - }, - "referencedDeclaration": 76041, - "src": "39636:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "src": "39604:79:172" - }, - "returnParameters": { - "id": 77802, - "nodeType": "ParameterList", - "parameters": [], - "src": "39693:0:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77995, - "nodeType": "FunctionDefinition", - "src": "40912:2667:172", - "nodes": [], - "body": { - "id": 77994, - "nodeType": "Block", - "src": "40987:2592:172", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 77903, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "41217:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41236:3:172", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76040, - "src": "41217:22:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41240:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "41217:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "41249:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "41217:33:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77924, - "nodeType": "IfStatement", - "src": "41213:489:172", - "trueBody": { - "id": 77923, - "nodeType": "Block", - "src": "41252:450:172", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 77917, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "41638:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77918, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41657:9:172", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 76037, - "src": "41638:28:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - { - "expression": { - "id": 77919, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "41668:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77920, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41687:3:172", - "memberName": "kvs", - "nodeType": "MemberAccess", - "referencedDeclaration": 76040, - "src": "41668:22:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "expression": { - "id": 77908, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "41593:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41612:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "41593:24:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41618:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "41593:34:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77915, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41628:5:172", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 55629, - "src": "41593:40:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 77916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41634:3:172", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 55686, - "src": "41593:44:172", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$55877_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 77921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "41593:98:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77922, - "nodeType": "ExpressionStatement", - "src": "41593:98:172" - } - ] - } - }, - { - "condition": { - "expression": { - "expression": { - "id": 77925, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "41860:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41879:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "41860:24:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "41885:8:172", - "memberName": "handleIO", - "nodeType": "MemberAccess", - "referencedDeclaration": 79030, - "src": "41860:33:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77993, - "nodeType": "IfStatement", - "src": "41856:1717:172", - "trueBody": { - "id": 77992, - "nodeType": "Block", - "src": "41895:1678:172", - "statements": [ - { - "assignments": [ - 77932, - 77935 - ], - "declarations": [ - { - "constant": false, - "id": 77932, - "mutability": "mutable", - "name": "handleIOStack", - "nameLocation": "42370:13:172", - "nodeType": "VariableDeclaration", - "scope": 77992, - "src": "42353:30:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 77930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "42353:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77931, - "nodeType": "ArrayTypeName", - "src": "42353:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77935, - "mutability": "mutable", - "name": "handleIOKVs", - "nameLocation": "42402:11:172", - "nodeType": "VariableDeclaration", - "scope": 77992, - "src": "42385:28:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 77933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "42385:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77934, - "nodeType": "ArrayTypeName", - "src": "42385:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 77968, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "expression": { - "id": 77941, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "42555:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77942, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42574:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "42555:24:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42580:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "42555:34:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42590:5:172", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 55629, - "src": "42555:40:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - } - }, - { - "arguments": [ - { - "expression": { - "id": 77947, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "42643:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77948, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42662:9:172", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 76037, - "src": "42643:28:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - { - "arguments": [ - { - "id": 77951, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "42681:4:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OrderBook_$78178", - "typeString": "contract OrderBook" - } - ], - "id": 77950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "42673:7:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 77949, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "42673:7:172", - "typeDescriptions": {} - } - }, - "id": 77952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42673:13:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 77945, - "name": "LibNamespace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57900, - "src": "42613:12:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibNamespace_$57900_$", - "typeString": "type(library LibNamespace)" - } - }, - "id": 77946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42626:16:172", - "memberName": "qualifyNamespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 57899, - "src": "42613:29:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_StateNamespace_$55877_$_t_address_$returns$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$", - "typeString": "function (StateNamespace,address) pure returns (FullyQualifiedNamespace)" - } - }, - "id": 77953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42613:74:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", - "typeString": "FullyQualifiedNamespace" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "expression": { - "id": 77955, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "42723:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42742:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "42723:24:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42748:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "42723:34:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42758:10:172", - "memberName": "expression", - "nodeType": "MemberAccess", - "referencedDeclaration": 55631, - "src": "42723:45:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77954, - "name": "_handleIODispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78177, - "src": "42705:17:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", - "typeString": "function (address) pure returns (EncodedDispatch)" - } - }, - "id": 77959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42705:64:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - } - }, - { - "expression": { - "id": 77960, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "42787:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77961, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42806:7:172", - "memberName": "context", - "nodeType": "MemberAccess", - "referencedDeclaration": 76034, - "src": "42787:26:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 77965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "42845: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" - } - ], - "id": 77964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "42831:13:172", - "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": 77962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "42835:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77963, - "nodeType": "ArrayTypeName", - "src": "42835:9:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 77966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42831:16:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - }, - { - "typeIdentifier": "t_userDefinedValueType$_FullyQualifiedNamespace_$55666", - "typeString": "FullyQualifiedNamespace" - }, - { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - }, - { - "typeIdentifier": "t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr", - "typeString": "uint256[] memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "expression": { - "id": 77936, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "42417:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77937, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42453:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "42417:41:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77938, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42476:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "42417:68:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42503:11:172", - "memberName": "interpreter", - "nodeType": "MemberAccess", - "referencedDeclaration": 55626, - "src": "42417:97:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterV2_$56032", - "typeString": "contract IInterpreterV2" - } - }, - "id": 77940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "42532:5:172", - "memberName": "eval2", - "nodeType": "MemberAccess", - "referencedDeclaration": 56031, - "src": "42417:120:172", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_contract$_IInterpreterStoreV1_$55698_$_t_userDefinedValueType$_FullyQualifiedNamespace_$55666_$_t_userDefinedValueType$_EncodedDispatch_$55875_$_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (contract IInterpreterStoreV1,FullyQualifiedNamespace,EncodedDispatch,uint256[] memory[] memory,uint256[] memory) view external returns (uint256[] memory,uint256[] memory)" - } - }, - "id": 77967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "42417:444: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": "42352:509:172" - }, - { - "expression": { - "components": [ - { - "id": 77969, - "name": "handleIOStack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77932, - "src": "42934:13:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 77970, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "42933:15:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77971, - "nodeType": "ExpressionStatement", - "src": "42933:15:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77972, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77935, - "src": "43072:11:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 77973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "43084:6:172", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "43072:18:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "43093:1:172", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "43072:22:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77991, - "nodeType": "IfStatement", - "src": "43068:495:172", - "trueBody": { - "id": 77990, - "nodeType": "Block", - "src": "43096:467:172", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 77985, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "43506:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "43525:9:172", - "memberName": "namespace", - "nodeType": "MemberAccess", - "referencedDeclaration": 76037, - "src": "43506:28:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - } - }, - { - "id": 77987, - "name": "handleIOKVs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77935, - "src": "43536:11:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_StateNamespace_$55877", - "typeString": "StateNamespace" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "expression": { - "expression": { - "expression": { - "expression": { - "id": 77976, - "name": "orderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77900, - "src": "43461:18:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 77981, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "43480:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "43461:24:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 77982, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "43486:9:172", - "memberName": "evaluable", - "nodeType": "MemberAccess", - "referencedDeclaration": 79033, - "src": "43461:34:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_memory_ptr", - "typeString": "struct EvaluableV2 memory" - } - }, - "id": 77983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "43496:5:172", - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 55629, - "src": "43461:40:172", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IInterpreterStoreV1_$55698", - "typeString": "contract IInterpreterStoreV1" - } - }, - "id": 77984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "43502:3:172", - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 55686, - "src": "43461:44:172", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_StateNamespace_$55877_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (StateNamespace,uint256[] memory) external" - } - }, - "id": 77988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "43461:87:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77989, - "nodeType": "ExpressionStatement", - "src": "43461:87:172" - } - ] - } - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "handleIO", - "nameLocation": "40921:8:172", - "parameters": { - "id": 77901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77900, - "mutability": "mutable", - "name": "orderIOCalculation", - "nameLocation": "40958:18:172", - "nodeType": "VariableDeclaration", - "scope": 77995, - "src": "40930:46:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 77899, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77898, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "40930:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "40930:20:172" - }, - "referencedDeclaration": 76041, - "src": "40930:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "src": "40929:48:172" - }, - "returnParameters": { - "id": 77902, - "nodeType": "ParameterList", - "parameters": [], - "src": "40987:0:172" - }, - "scope": 78178, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 78033, - "nodeType": "FunctionDefinition", - "src": "44123:654:172", - "nodes": [], - "body": { - "id": 78032, - "nodeType": "Block", - "src": "44349:428:172", - "nodes": [], - "statements": [ - { - "expression": { - "id": 78018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "expression": { - "id": 78008, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78006, - "src": "44415:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 78010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "44432:10:172", - "memberName": "aliceInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78734, - "src": "44415:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 78011, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78006, - "src": "44444:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 78012, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "44461:11:172", - "memberName": "aliceOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78730, - "src": "44444:28:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 78013, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "44414:59:172", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 78015, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77999, - "src": "44513:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - { - "id": 78016, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78002, - "src": "44538:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 78014, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78145, - "src": "44488:24:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct OrderIOCalculationV2 memory,struct OrderIOCalculationV2 memory) pure returns (uint256,uint256)" - } - }, - "id": 78017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "44488:72:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "44414:146:172", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 78019, - "nodeType": "ExpressionStatement", - "src": "44414:146:172" - }, - { - "expression": { - "id": 78030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "expression": { - "id": 78020, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78006, - "src": "44629:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 78022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "44646:8:172", - "memberName": "bobInput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78736, - "src": "44629:25:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 78023, - "name": "clearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78006, - "src": "44656:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange memory" - } - }, - "id": 78024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "44673:9:172", - "memberName": "bobOutput", - "nodeType": "MemberAccess", - "referencedDeclaration": 78732, - "src": "44656:26:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 78025, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "44628:55:172", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 78027, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78002, - "src": "44723:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - { - "id": 78028, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77999, - "src": "44746:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - }, - { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - ], - "id": 78026, - "name": "calculateClearStateAlice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78145, - "src": "44698:24:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$_t_struct$_OrderIOCalculationV2_$76041_memory_ptr_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct OrderIOCalculationV2 memory,struct OrderIOCalculationV2 memory) pure returns (uint256,uint256)" - } - }, - "id": 78029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "44698:72:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "44628:142:172", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 78031, - "nodeType": "ExpressionStatement", - "src": "44628:142:172" - } - ] - }, - "documentation": { - "id": 77996, - "nodeType": "StructuredDocumentation", - "src": "43585: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": "44132:25:172", - "parameters": { - "id": 78003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77999, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "44195:23:172", - "nodeType": "VariableDeclaration", - "scope": 78033, - "src": "44167:51:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 77998, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77997, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "44167:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "44167:20:172" - }, - "referencedDeclaration": 76041, - "src": "44167:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 78002, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "44256:21:172", - "nodeType": "VariableDeclaration", - "scope": 78033, - "src": "44228:49:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 78001, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78000, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "44228:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "44228:20:172" - }, - "referencedDeclaration": 76041, - "src": "44228:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "src": "44157:126:172" - }, - "returnParameters": { - "id": 78007, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78006, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "44331:16:172", - "nodeType": "VariableDeclaration", - "scope": 78033, - "src": "44307:40:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 78005, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78004, - "name": "ClearStateChange", - "nameLocations": [ - "44307:16:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78737, - "src": "44307:16:172" - }, - "referencedDeclaration": 78737, - "src": "44307:16:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "src": "44306:42:172" - }, - "scope": 78178, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 78145, - "nodeType": "FunctionDefinition", - "src": "44783:2025:172", - "nodes": [], - "body": { - "id": 78144, - "nodeType": "Block", - "src": "45007:1801:172", - "nodes": [], - "statements": [ - { - "assignments": [ - 78048 - ], - "declarations": [ - { - "constant": false, - "id": 78048, - "mutability": "mutable", - "name": "bobInputMax18", - "nameLocation": "45224:13:172", - "nodeType": "VariableDeclaration", - "scope": 78144, - "src": "45210:27:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 78047, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78046, - "name": "Input18Amount", - "nameLocations": [ - "45210:13:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76045, - "src": "45210:13:172" - }, - "referencedDeclaration": 76045, - "src": "45210:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 78064, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 78057, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78039, - "src": "45358:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "45380:7:172", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 76030, - "src": "45358:29:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 78059, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46932, - "src": "45389:4:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46932_$", - "typeString": "type(library Math)" - } - }, - "id": 78060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "45394:8:172", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 46073, - "src": "45389:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$46073_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 78061, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45403:2:172", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 46071, - "src": "45389:16:172", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$46073", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$46073", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 78053, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78039, - "src": "45294:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78054, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "45316:9:172", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 76028, - "src": "45294:31:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 78051, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "45272:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 78052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45287:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "45272:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 78055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45272:54:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 78056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "45327:13:172", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 72431, - "src": "45272:68:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$46073_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 78062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45272:147:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 78049, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "45240:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 78050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45254:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "45240:18:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 78063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45240:189:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "45210:219:172" - }, - { - "assignments": [ - 78067 - ], - "declarations": [ - { - "constant": false, - "id": 78067, - "mutability": "mutable", - "name": "aliceOutputMax18", - "nameLocation": "45454:16:172", - "nodeType": "VariableDeclaration", - "scope": 78144, - "src": "45439:31:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - }, - "typeName": { - "id": 78066, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78065, - "name": "Output18Amount", - "nameLocations": [ - "45439:14:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76043, - "src": "45439:14:172" - }, - "referencedDeclaration": 76043, - "src": "45439:14:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 78070, - "initialValue": { - "expression": { - "id": 78068, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78036, - "src": "45473:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78069, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "45497:9:172", - "memberName": "outputMax", - "nodeType": "MemberAccess", - "referencedDeclaration": 76028, - "src": "45473:33:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "45439:67:172" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 78079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 78073, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78067, - "src": "45619:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 78071, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "45597:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 78072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45612:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "45597:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 78074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45597:39:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [ - { - "id": 78077, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78048, - "src": "45660:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 78075, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "45639:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 78076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45653:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "45639:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 78078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45639:35:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "45597:77:172", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 78091, - "nodeType": "IfStatement", - "src": "45593:183:172", - "trueBody": { - "id": 78090, - "nodeType": "Block", - "src": "45676:100:172", - "statements": [ - { - "expression": { - "id": 78088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 78080, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78067, - "src": "45690:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 78085, - "name": "bobInputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78048, - "src": "45750:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 78083, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "45729:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 78084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45743:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "45729:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 78086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45729:35:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 78081, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "45709:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 78082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45724:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "45709:19:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "function (uint256) pure returns (Output18Amount)" - } - }, - "id": 78087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45709:56:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "src": "45690:75:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - }, - "id": 78089, - "nodeType": "ExpressionStatement", - "src": "45690:75:172" - } - ] - } - }, - { - "expression": { - "id": 78107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 78092, - "name": "aliceOutput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78044, - "src": "45907:11:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 78098, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78036, - "src": "45981:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78099, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46005:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "45981:29:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 78100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46011:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "45981:42:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 78103, - "indexExpression": { - "expression": { - "id": 78101, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78036, - "src": "46024:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46048:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76025, - "src": "46024:37:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "45981:81:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 78104, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46063:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "45981:90:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "30", - "id": 78105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "46073: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": 78095, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78067, - "src": "45943:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 78093, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "45921:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 78094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "45936:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "45921:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 78096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45921:39:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 78097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "45961:6:172", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 72779, - "src": "45921: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": 78106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "45921:163:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "45907:177:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 78108, - "nodeType": "ExpressionStatement", - "src": "45907:177:172" - }, - { - "assignments": [ - 78111 - ], - "declarations": [ - { - "constant": false, - "id": 78111, - "mutability": "mutable", - "name": "aliceInput18", - "nameLocation": "46187:12:172", - "nodeType": "VariableDeclaration", - "scope": 78144, - "src": "46173:26:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - }, - "typeName": { - "id": 78110, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78109, - "name": "Input18Amount", - "nameLocations": [ - "46173:13:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76045, - "src": "46173:13:172" - }, - "referencedDeclaration": 76045, - "src": "46173:13:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "visibility": "internal" - } - ], - "id": 78126, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 78119, - "name": "aliceOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78036, - "src": "46288:23:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46312:7:172", - "memberName": "IORatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 76030, - "src": "46288:31:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "expression": { - "id": 78121, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46932, - "src": "46321:4:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$46932_$", - "typeString": "type(library Math)" - } - }, - "id": 78122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46326:8:172", - "memberName": "Rounding", - "nodeType": "MemberAccess", - "referencedDeclaration": 46073, - "src": "46321:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$46073_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 78123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "46335:2:172", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 46071, - "src": "46321:16:172", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$46073", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_enum$_Rounding_$46073", - "typeString": "enum Math.Rounding" - } - ], - "expression": { - "arguments": [ - { - "id": 78116, - "name": "aliceOutputMax18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78067, - "src": "46256:16:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Output18Amount_$76043", - "typeString": "Output18Amount" - } - ], - "expression": { - "id": 78114, - "name": "Output18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76043, - "src": "46234:14:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Output18Amount_$76043_$", - "typeString": "type(Output18Amount)" - } - }, - "id": 78115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "46249:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "46234:21:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Output18Amount_$76043_$returns$_t_uint256_$", - "typeString": "function (Output18Amount) pure returns (uint256)" - } - }, - "id": 78117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "46234:39:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 78118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46274:13:172", - "memberName": "fixedPointMul", - "nodeType": "MemberAccess", - "referencedDeclaration": 72431, - "src": "46234:53:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_enum$_Rounding_$46073_$returns$_t_uint256_$attached_to$_t_uint256_$", - "typeString": "function (uint256,uint256,enum Math.Rounding) pure returns (uint256)" - } - }, - "id": 78124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "46234:104:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 78112, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "46202:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 78113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "46216:4:172", - "memberName": "wrap", - "nodeType": "MemberAccess", - "src": "46202:18:172", - "typeDescriptions": { - "typeIdentifier": "t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "function (uint256) pure returns (Input18Amount)" - } - }, - "id": 78125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "46202:146:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "46173:175:172" - }, - { - "expression": { - "id": 78142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 78127, - "name": "aliceInput", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78042, - "src": "46358:10:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "baseExpression": { - "expression": { - "expression": { - "id": 78133, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78039, - "src": "46690:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78134, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46712:5:172", - "memberName": "order", - "nodeType": "MemberAccess", - "referencedDeclaration": 76023, - "src": "46690:27:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2 memory" - } - }, - "id": 78135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46718:12:172", - "memberName": "validOutputs", - "nodeType": "MemberAccess", - "referencedDeclaration": 79041, - "src": "46690:40:172", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IO memory[] memory" - } - }, - "id": 78138, - "indexExpression": { - "expression": { - "id": 78136, - "name": "bobOrderIOCalculation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78039, - "src": "46731:21:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2 memory" - } - }, - "id": 78137, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46753:13:172", - "memberName": "outputIOIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 76025, - "src": "46731:35:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "46690:77:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_memory_ptr", - "typeString": "struct IO memory" - } - }, - "id": 78139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46768:8:172", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 78655, - "src": "46690:86:172", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 78140, - "name": "FLAG_ROUND_UP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72386, - "src": "46778:13:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 78130, - "name": "aliceInput18", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78111, - "src": "46656:12:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_userDefinedValueType$_Input18Amount_$76045", - "typeString": "Input18Amount" - } - ], - "expression": { - "id": 78128, - "name": "Input18Amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76045, - "src": "46635:13:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_userDefinedValueType$_Input18Amount_$76045_$", - "typeString": "type(Input18Amount)" - } - }, - "id": 78129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "46649:6:172", - "memberName": "unwrap", - "nodeType": "MemberAccess", - "src": "46635:20:172", - "typeDescriptions": { - "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_Input18Amount_$76045_$returns$_t_uint256_$", - "typeString": "function (Input18Amount) pure returns (uint256)" - } - }, - "id": 78131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "46635:34:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 78132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46670:6:172", - "memberName": "scaleN", - "nodeType": "MemberAccess", - "referencedDeclaration": 72779, - "src": "46635: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": 78141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "46635:166:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "46358:443:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 78143, - "nodeType": "ExpressionStatement", - "src": "46358:443:172" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateClearStateAlice", - "nameLocation": "44792:24:172", - "parameters": { - "id": 78040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78036, - "mutability": "mutable", - "name": "aliceOrderIOCalculation", - "nameLocation": "44854:23:172", - "nodeType": "VariableDeclaration", - "scope": 78145, - "src": "44826:51:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 78035, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78034, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "44826:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "44826:20:172" - }, - "referencedDeclaration": 76041, - "src": "44826:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 78039, - "mutability": "mutable", - "name": "bobOrderIOCalculation", - "nameLocation": "44915:21:172", - "nodeType": "VariableDeclaration", - "scope": 78145, - "src": "44887:49:172", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_memory_ptr", - "typeString": "struct OrderIOCalculationV2" - }, - "typeName": { - "id": 78038, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78037, - "name": "OrderIOCalculationV2", - "nameLocations": [ - "44887:20:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 76041, - "src": "44887:20:172" - }, - "referencedDeclaration": 76041, - "src": "44887:20:172", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderIOCalculationV2_$76041_storage_ptr", - "typeString": "struct OrderIOCalculationV2" - } - }, - "visibility": "internal" - } - ], - "src": "44816:126:172" - }, - "returnParameters": { - "id": 78045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78042, - "mutability": "mutable", - "name": "aliceInput", - "nameLocation": "44974:10:172", - "nodeType": "VariableDeclaration", - "scope": 78145, - "src": "44966:18:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 78041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "44966:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 78044, - "mutability": "mutable", - "name": "aliceOutput", - "nameLocation": "44994:11:172", - "nodeType": "VariableDeclaration", - "scope": 78145, - "src": "44986:19:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 78043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "44986:7:172", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "44965:41:172" - }, - "scope": 78178, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 78161, - "nodeType": "FunctionDefinition", - "src": "46814:214:172", - "nodes": [], - "body": { - "id": 78160, - "nodeType": "Block", - "src": "46908:120:172", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 78155, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78147, - "src": "46952:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 78156, - "name": "CALCULATE_ORDER_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75941, - "src": "46965:26:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - }, - { - "id": 78157, - "name": "CALCULATE_ORDER_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75957, - "src": "46993:27:172", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 78153, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57164, - "src": "46925:18:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57164_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 78154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "46944:7:172", - "memberName": "encode2", - "nodeType": "MemberAccess", - "referencedDeclaration": 57110, - "src": "46925:26:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndexV2_$55998_$_t_uint256_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", - "typeString": "function (address,SourceIndexV2,uint256) pure returns (EncodedDispatch)" - } - }, - "id": 78158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "46925:96:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 78152, - "id": 78159, - "nodeType": "Return", - "src": "46918:103:172" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateOrderDispatch", - "nameLocation": "46823:23:172", - "parameters": { - "id": 78148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78147, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "46855:11:172", - "nodeType": "VariableDeclaration", - "scope": 78161, - "src": "46847:19:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 78146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "46847:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "46846:21:172" - }, - "returnParameters": { - "id": 78152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78151, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 78161, - "src": "46891:15:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 78150, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78149, - "name": "EncodedDispatch", - "nameLocations": [ - "46891:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55875, - "src": "46891:15:172" - }, - "referencedDeclaration": 55875, - "src": "46891:15:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "46890:17:172" - }, - "scope": 78178, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 78177, - "nodeType": "FunctionDefinition", - "src": "47034:196:172", - "nodes": [], - "body": { - "id": 78176, - "nodeType": "Block", - "src": "47122:108:172", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 78171, - "name": "expression_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78163, - "src": "47166:11:172", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 78172, - "name": "HANDLE_IO_ENTRYPOINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75949, - "src": "47179:20:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - } - }, - { - "id": 78173, - "name": "HANDLE_IO_MAX_OUTPUTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75965, - "src": "47201:21:172", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_userDefinedValueType$_SourceIndexV2_$55998", - "typeString": "SourceIndexV2" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - ], - "expression": { - "id": 78169, - "name": "LibEncodedDispatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57164, - "src": "47139:18:172", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibEncodedDispatch_$57164_$", - "typeString": "type(library LibEncodedDispatch)" - } - }, - "id": 78170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "47158:7:172", - "memberName": "encode2", - "nodeType": "MemberAccess", - "referencedDeclaration": 57110, - "src": "47139:26:172", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_userDefinedValueType$_SourceIndexV2_$55998_$_t_uint256_$returns$_t_userDefinedValueType$_EncodedDispatch_$55875_$", - "typeString": "function (address,SourceIndexV2,uint256) pure returns (EncodedDispatch)" - } - }, - "id": 78174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "47139:84:172", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - } - }, - "functionReturnParameters": 78168, - "id": 78175, - "nodeType": "Return", - "src": "47132:91:172" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_handleIODispatch", - "nameLocation": "47043:17:172", - "parameters": { - "id": 78164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78163, - "mutability": "mutable", - "name": "expression_", - "nameLocation": "47069:11:172", - "nodeType": "VariableDeclaration", - "scope": 78177, - "src": "47061:19:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 78162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "47061:7:172", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "47060:21:172" - }, - "returnParameters": { - "id": 78168, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 78167, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 78177, - "src": "47105:15:172", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - }, - "typeName": { - "id": 78166, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 78165, - "name": "EncodedDispatch", - "nameLocations": [ - "47105:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55875, - "src": "47105:15:172" - }, - "referencedDeclaration": 55875, - "src": "47105:15:172", - "typeDescriptions": { - "typeIdentifier": "t_userDefinedValueType$_EncodedDispatch_$55875", - "typeString": "EncodedDispatch" - } - }, - "visibility": "internal" - } - ], - "src": "47104:17:172" - }, - "scope": 78178, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 76047, - "name": "IOrderBookV3", - "nameLocations": [ - "10622:12:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79289, - "src": "10622:12:172" - }, - "id": 76048, - "nodeType": "InheritanceSpecifier", - "src": "10622:12:172" - }, - { - "baseName": { - "id": 76049, - "name": "ReentrancyGuard", - "nameLocations": [ - "10636:15:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 43711, - "src": "10636:15:172" - }, - "id": 76050, - "nodeType": "InheritanceSpecifier", - "src": "10636:15:172" - }, - { - "baseName": { - "id": 76051, - "name": "Multicall", - "nameLocations": [ - "10653:9:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 45336, - "src": "10653:9:172" - }, - "id": 76052, - "nodeType": "InheritanceSpecifier", - "src": "10653:9:172" - }, - { - "baseName": { - "id": 76053, - "name": "OrderBookV3FlashLender", - "nameLocations": [ - "10664:22:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75553, - "src": "10664:22:172" - }, - "id": 76054, - "nodeType": "InheritanceSpecifier", - "src": "10664:22:172" - }, - { - "baseName": { - "id": 76055, - "name": "DeployerDiscoverableMetaV3", - "nameLocations": [ - "10688:26:172" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 54788, - "src": "10688:26:172" - }, - "id": 76056, - "nodeType": "InheritanceSpecifier", - "src": "10688:26:172" - } - ], - "canonicalName": "OrderBook", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 76046, - "nodeType": "StructuredDocumentation", - "src": "10532:68:172", - "text": "@title OrderBook\n See `IOrderBookV1` for more documentation." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 78178, - 54788, - 73107, - 75553, - 45336, - 43711, - 79289, - 55660, - 78980 - ], - "name": "OrderBook", - "nameLocation": "10609:9:172", - "scope": 78179, - "usedErrors": [ - 56287, - 56724, - 73087, - 73092, - 75439, - 75884, - 75891, - 75898, - 75905, - 75910, - 75915, - 75920, - 75925, - 78997, - 79000, - 79069, - 79078, - 79081, - 79084, - 79087, - 79090 - ] - } - ], - "license": "CAL" - }, - "id": 172 -} \ No newline at end of file diff --git a/orderbook-rs/src/orderbook/registry.rs b/orderbook-rs/src/orderbook/registry.rs index 4920a7ed3..4ed0059bb 100644 --- a/orderbook-rs/src/orderbook/registry.rs +++ b/orderbook-rs/src/orderbook/registry.rs @@ -1,7 +1,7 @@ use alloy_sol_types::sol; use ethers::contract::abigen; -sol!(IOrderBookV3, "src/orderbook/abi/OrderBook.json"); +sol!(IOrderBookV3, "src/orderbook/abi/IOrderBookV3.json"); abigen!(IParserV1, "src/interpreter/abi/IParserV1.json"); abigen!(IExpressionDeployerV3, From 629624d8ab59d15a17278616af03878571e5c867 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 21:20:41 +0530 Subject: [PATCH 04/16] added symlink --- orderbook-rs/Cargo.lock | 14 +- orderbook-rs/src/abi/IOrderBookV3.json | 1 + orderbook-rs/src/abi/IParserV1.json | 1 + .../src/interpreter/abi/IParserV1.json | 28 - orderbook-rs/src/interpreter/mod.rs | 2 +- orderbook-rs/src/lib.rs | 2 + .../src/orderbook/abi/IOrderBookV3.json | 7232 ----------------- orderbook-rs/src/orderbook/add_order/v3.rs | 4 +- orderbook-rs/src/orderbook/mod.rs | 1 - orderbook-rs/src/{orderbook => }/registry.rs | 5 +- 10 files changed, 13 insertions(+), 7277 deletions(-) create mode 120000 orderbook-rs/src/abi/IOrderBookV3.json create mode 120000 orderbook-rs/src/abi/IParserV1.json delete mode 100644 orderbook-rs/src/interpreter/abi/IParserV1.json delete mode 100644 orderbook-rs/src/orderbook/abi/IOrderBookV3.json rename orderbook-rs/src/{orderbook => }/registry.rs (70%) diff --git a/orderbook-rs/Cargo.lock b/orderbook-rs/Cargo.lock index af818a3e9..980236e83 100644 --- a/orderbook-rs/Cargo.lock +++ b/orderbook-rs/Cargo.lock @@ -1830,7 +1830,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2", "tokio", "tower-service", "tracing", @@ -3541,16 +3541,6 @@ dependencies = [ "serde", ] -[[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.5" @@ -3852,7 +3842,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2", "tokio-macros", "windows-sys 0.48.0", ] diff --git a/orderbook-rs/src/abi/IOrderBookV3.json b/orderbook-rs/src/abi/IOrderBookV3.json new file mode 120000 index 000000000..097b7fac5 --- /dev/null +++ b/orderbook-rs/src/abi/IOrderBookV3.json @@ -0,0 +1 @@ +/home/siddharth/Documents/rainprotocol/rain.orderbook/out/IOrderBookV3.sol/IOrderBookV3.json \ No newline at end of file diff --git a/orderbook-rs/src/abi/IParserV1.json b/orderbook-rs/src/abi/IParserV1.json new file mode 120000 index 000000000..0a43adcb2 --- /dev/null +++ b/orderbook-rs/src/abi/IParserV1.json @@ -0,0 +1 @@ +/home/siddharth/Documents/rainprotocol/rain.orderbook/out/IParserV1.sol/IParserV1.json \ No newline at end of file diff --git a/orderbook-rs/src/interpreter/abi/IParserV1.json b/orderbook-rs/src/interpreter/abi/IParserV1.json deleted file mode 100644 index 82b6f57f7..000000000 --- a/orderbook-rs/src/interpreter/abi/IParserV1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "abi": [ - { - "type": "function", - "name": "parse", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "bytecode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "constants", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - } - ] -} \ No newline at end of file diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index cd9bccc39..7611e10f8 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -1,6 +1,6 @@ use alloy_primitives::{Address, Bytes, U256}; use anyhow::anyhow; -use crate::orderbook::registry::{IExpressionDeployerV3, IParserV1}; +use crate::registry::{IExpressionDeployerV3, IParserV1}; use std::str::FromStr; use ethers::{ providers::{Http,Provider}, diff --git a/orderbook-rs/src/lib.rs b/orderbook-rs/src/lib.rs index 9c9040f8a..a23175676 100644 --- a/orderbook-rs/src/lib.rs +++ b/orderbook-rs/src/lib.rs @@ -2,5 +2,7 @@ pub mod orderbook; pub mod gasoracle; pub mod interpreter; pub mod transaction; +pub mod registry; + diff --git a/orderbook-rs/src/orderbook/abi/IOrderBookV3.json b/orderbook-rs/src/orderbook/abi/IOrderBookV3.json deleted file mode 100644 index e472574bb..000000000 --- a/orderbook-rs/src/orderbook/abi/IOrderBookV3.json +++ /dev/null @@ -1,7232 +0,0 @@ -{ - "abi": [ - { - "type": "function", - "name": "addOrder", - "inputs": [ - { - "name": "config", - "type": "tuple", - "internalType": "struct OrderConfigV2", - "components": [ - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "evaluableConfig", - "type": "tuple", - "internalType": "struct EvaluableConfigV3", - "components": [ - { - "name": "deployer", - "type": "address", - "internalType": "contract IExpressionDeployerV3" - }, - { - "name": "bytecode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "constants", - "type": "uint256[]", - "internalType": "uint256[]" - } - ] - }, - { - "name": "meta", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "stateChanged", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "clear", - "inputs": [ - { - "name": "alice", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "bob", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "clearConfig", - "type": "tuple", - "internalType": "struct ClearConfig", - "components": [ - { - "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": "uint256" - } - ] - }, - { - "name": "aliceSignedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "bobSignedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashFee", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "contract IERC3156FlashBorrower" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "maxFlashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "orderExists", - "inputs": [ - { - "name": "orderHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "exists", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeOrder", - "inputs": [ - { - "name": "order", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "outputs": [ - { - "name": "stateChanged", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "takeOrders", - "inputs": [ - { - "name": "config", - "type": "tuple", - "internalType": "struct TakeOrdersConfigV2", - "components": [ - { - "name": "minimumInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maximumInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maximumIORatio", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "orders", - "type": "tuple[]", - "internalType": "struct TakeOrderConfigV2[]", - "components": [ - { - "name": "order", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "inputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "outputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "signedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ] - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "totalInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalOutput", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultBalance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "targetAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddOrder", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "expressionDeployer", - "type": "address", - "indexed": false, - "internalType": "contract IExpressionDeployerV3" - }, - { - "name": "order", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AfterClear", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "clearStateChange", - "type": "tuple", - "indexed": false, - "internalType": "struct ClearStateChange", - "components": [ - { - "name": "aliceOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bobOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "aliceInput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bobInput", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Clear", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "alice", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "bob", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "clearConfig", - "type": "tuple", - "indexed": false, - "internalType": "struct ClearConfig", - "components": [ - { - "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": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Context", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[][]", - "indexed": false, - "internalType": "uint256[][]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OrderExceedsMaxRatio", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OrderNotFound", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OrderZeroAmount", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveOrder", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "order", - "type": "tuple", - "indexed": false, - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "orderHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TakeOrder", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "config", - "type": "tuple", - "indexed": false, - "internalType": "struct TakeOrderConfigV2", - "components": [ - { - "name": "order", - "type": "tuple", - "internalType": "struct OrderV2", - "components": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "handleIO", - "type": "bool", - "internalType": "bool" - }, - { - "name": "evaluable", - "type": "tuple", - "internalType": "struct EvaluableV2", - "components": [ - { - "name": "interpreter", - "type": "address", - "internalType": "contract IInterpreterV2" - }, - { - "name": "store", - "type": "address", - "internalType": "contract IInterpreterStoreV1" - }, - { - "name": "expression", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "validInputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "validOutputs", - "type": "tuple[]", - "internalType": "struct IO[]", - "components": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "inputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "outputIOIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "signedContext", - "type": "tuple[]", - "internalType": "struct SignedContextV1[]", - "components": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - }, - { - "name": "context", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "signature", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ] - }, - { - "name": "input", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "output", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "targetAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "OrderNoHandleIO", - "inputs": [] - }, - { - "type": "error", - "name": "OrderNoInputs", - "inputs": [] - }, - { - "type": "error", - "name": "OrderNoOutputs", - "inputs": [] - }, - { - "type": "error", - "name": "OrderNoSources", - "inputs": [] - }, - { - "type": "error", - "name": "ZeroDepositAmount", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ZeroWithdrawTargetAmount", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "vaultId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "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", - "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\":[],\"name\":\"OrderNoHandleIO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoInputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoOutputs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNoSources\",\"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\":[{\"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 IExpressionDeployerV3\",\"name\":\"expressionDeployer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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\":\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2\",\"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 IExpressionDeployerV3\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"constants\",\"type\":\"uint256[]\"}],\"internalType\":\"struct EvaluableConfigV3\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"name\":\"alice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"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\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"}],\"name\":\"orderExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"handleIO\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"contract IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 IInterpreterV2\",\"name\":\"interpreter\",\"type\":\"address\"},{\"internalType\":\"contract IInterpreterStoreV1\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expression\",\"type\":\"address\"}],\"internalType\":\"struct EvaluableV2\",\"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 OrderV2\",\"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 TakeOrderConfigV2[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct TakeOrdersConfigV2\",\"name\":\"config\",\"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\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"vaultBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"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\":{\"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.\"}},\"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.\"}},\"orderExists(bytes32)\":{\"params\":{\"orderHash\":\"The hash of the order to check.\"},\"returns\":{\"exists\":\"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\":{\"totalInput\":\"Total tokens sent to `msg.sender`, taken from order vaults processed.\",\"totalOutput\":\"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\":{\"balance\":\"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.\"}}},\"title\":\"IOrderBookV3\",\"version\":1},\"userdoc\":{\"errors\":{\"OrderNoHandleIO()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated handle IO.\"}],\"OrderNoInputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no inputs.\"}],\"OrderNoOutputs()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no outputs.\"}],\"OrderNoSources()\":[{\"notice\":\"MUST be thrown by `addOrder` if the order has no associated calculation.\"}],\"ZeroDepositAmount(address,address,uint256)\":[{\"notice\":\"MUST be thrown by `deposit` if the amount is zero.\"}],\"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.\"},\"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\"},\"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.\"},\"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.\"}},\"notice\":\"An orderbook that deploys _strategies_ represented as interpreter expressions rather than individual orders. The order book contract itself behaves similarly to an `ERC4626` vault but with much more fine grained control over how tokens are allocated and moved internally by their owners, and without any concept of \\\"shares\\\". Token owners MAY deposit and withdraw their tokens under arbitrary vault IDs on a per-token basis, then define orders that specify how tokens move between vaults according to an expression. The expression returns a maximum amount and a token input/output ratio from the perpective of the order. When two expressions intersect, as in their ratios are the inverse of each other, then tokens can move between vaults. For example, consider order A with input TKNA and output TKNB with a constant ratio of 100:1. This order in isolation has no ability to move tokens. If an order B appears with input TKNB and output TKNA and a ratio of 1:100 then this is a perfect match with order A. In this case 100 TKNA will move from order B to order A and 1 TKNB will move from order A to order B. IO ratios are always specified as input:output and are 18 decimal fixed point values. The maximum amount that can be moved in the current clearance is also set by the order expression as an 18 decimal fixed point value. Typically orders will not clear when their match is exactly 1:1 as the clearer needs to pay gas to process the match. Each order will get exactly the ratio it calculates when it does clear so if there is _overlap_ in the ratios then the clearer keeps the difference. In our above example, consider order B asking a ratio of 1:110 instead of 1:100. In this case 100 TKNA will move from order B to order A and 10 TKNA will move to the clearer's vault and 1 TKNB will move from order A to order B. In the case of fixed prices this is not very interesting as order B could more simply take order A directly for cheaper rather than involving a third party. Indeed, Orderbook supports a direct \\\"take orders\\\" method that works similar to a \\\"market buy\\\". In the case of dynamic expression based ratios, it allows both order A and order B to clear non-interactively according to their strategy, trading off active management, dealing with front-running, MEV, etc. for zero-gas and exact-ratio clearance. The general invariant for clearing and take orders is: ``` ratioA = InputA / OutputA ratioB = InputB / OutputB ratioA * ratioB = ( InputA * InputB ) / ( OutputA * OutputB ) OutputA >= InputB OutputB >= InputA \\u2234 ratioA * ratioB <= 1 ``` Orderbook is `IERC3156FlashLender` compliant with a 0 fee flash loan implementation to allow external liquidity from other onchain DEXes to match against orderbook expressions. All deposited tokens across all vaults are available for flashloan, the flashloan MAY BE REPAID BY CALLING TAKE ORDER such that Orderbook's liability to its vaults is decreased by an incoming trade from the flashloan borrower. See `ZeroExOrderBookFlashBorrower` for an example of how this works in practise. Orderbook supports many to many input/output token relationship, for example some order can specify an array of stables it would be willing to accept in return for some ETH. This removes the need for a combinatorial explosion of order strategies between like assets but introduces the issue of token decimal handling. End users understand that \\\"one\\\" USDT is roughly equal to \\\"one\\\" DAI, but onchain this is incorrect by _12 orders of magnitude_. This is because \\\"one\\\" DAI is `1e18` tokens and \\\"one\\\" USDT is `1e6` tokens. The orderbook is allowing orders to deploy expressions that define _economic equivalence_ but this doesn't map 1:1 with numeric equivalence in a many to many setup behind token decimal convensions. The solution is to require that end users who place orders provide the decimals of each token they include in their valid IO lists, and to calculate all amounts and ratios in their expressions _as though they were 18 decimal fixed point values_. Orderbook will then automatically rescale the expression values before applying the final vault movements. If an order provides the \\\"wrong\\\" decimal values for some token then it will simply calculate its own ratios and amounts incorrectly which will either lead to no matching orders or a very bad trade for the order owner. There is no way that misrepresenting decimals can attack some other order by a counterparty. Orderbook DOES NOT read decimals from tokens onchain because A. this would be gas for an external call to a cold token contract and B. the ERC20 standard specifically states NOT to read decimals from the interface onchain. Token amounts and ratios returned by calculate order MUST be 18 decimal fixed point values. Token amounts input to handle IO MUST be the exact absolute values that move between the vaults, i.e. NOT rescaled to 18 decimals. The author of the handle IO expression MUST use the token decimals and amounts to rescale themselves if they want that logic, notably the expression author will need to specify the desired rounding behaviour in the rescaling process. When two orders clear there are NO TOKEN MOVEMENTS, only internal vault balances are updated from the input and output vaults. Typically this results in less gas per clear than calling external token transfers and also avoids issues with reentrancy, allowances, external balances etc. This also means that REBASING TOKENS AND TOKENS WITH DYNAMIC BALANCE ARE NOT SUPPORTED. Orderbook ONLY WORKS IF TOKEN BALANCES ARE 1:1 WITH ADDITION/SUBTRACTION PER VAULT MOVEMENT. Dust due to rounding errors always favours the order. Output max is rounded down and IO ratios are rounded up. Input and output amounts are always converted to absolute values before applying to vault balances such that orderbook always retains fully collateralised inventory of underlying token balances to support withdrawals, with the caveat that dynamic token balanes are not supported. When an order clears it is NOT removed. Orders remain active until the owner deactivates them. This is gas efficient as order owners MAY deposit more tokens in a vault with an order against it many times and the order strategy will continue to be clearable according to its expression. As vault IDs are `uint256` values there are effectively infinite possible vaults for any token so there is no limit to how many active orders any address can have at one time. This also allows orders to be daisy chained arbitrarily where output vaults for some order are the input vaults for some other order. Expression storage is namespaced by order owner, so gets and sets are unique to each onchain address. Order owners MUST TAKE CARE not to override their storage sets globally across all their orders, which they can do most simply by hashing the order hash into their get/set keys inside the expression. This gives maximum flexibility for shared state across orders without allowing order owners to attack and overwrite values stored by orders placed by their counterparty. Note that each order specifies its own interpreter and deployer so the owner is responsible for not corrupting their own calculations with bad interpreters. This also means the Orderbook MUST assume the interpreter, and notably the interpreter's store, is malicious and guard against reentrancy etc. As Orderbook supports any expression that can run on any `IInterpreterV1` and counterparties are available to the order, order strategies are free to implement KYC/membership, tracking, distributions, stock, buybacks, etc. etc. Main differences between `IOrderBookV2` and `IOderBookV3`: - Most structs are now primitives to save gas. - Order hash is `bytes32`. - `deposit` and `withdraw` MUST revert if the amount is zero. - adding an order MUST revert if there is no calculation entrypoint. - adding an order MUST revert if there is no handle IO entrypoint. - adding an order MUST revert if there are no inputs. - adding an order MUST revert if there are no outputs. - adding and removing orders MUST return a boolean indicating if the state changed. - new `orderExists` method.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interface/unstable/IOrderBookV3.sol\":\"IOrderBookV3\"},\"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/\",\":bitwise/=lib/rain.interpreter/src/lib/bitwise/\",\":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/rain.interpreter/src/interface/IInterpreterCallerV2.sol\":{\"keccak256\":\"0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813\",\"dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E\"]},\"lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol\":{\"keccak256\":\"0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3\",\"dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol\":{\"keccak256\":\"0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d\",\"dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg\"]},\"lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol\":{\"keccak256\":\"0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214\",\"dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol\":{\"keccak256\":\"0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c\",\"dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU\"]},\"lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol\":{\"keccak256\":\"0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3\",\"dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz\"]},\"lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol\":{\"keccak256\":\"0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69\",\"dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg\"]},\"lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol\":{\"keccak256\":\"0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8\",\"dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew\"]},\"lib/rain.interpreter/src/lib/caller/LibEvaluable.sol\":{\"keccak256\":\"0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1\",\"dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn\"]},\"src/interface/deprecated/IOrderBookV2.sol\":{\"keccak256\":\"0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc\",\"dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8\"]},\"src/interface/ierc3156/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c\",\"dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB\"]},\"src/interface/ierc3156/IERC3156FlashLender.sol\":{\"keccak256\":\"0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72\",\"license\":\"CC0\",\"urls\":[\"bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4\",\"dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie\"]},\"src/interface/unstable/IOrderBookV3.sol\":{\"keccak256\":\"0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1\",\"license\":\"CAL\",\"urls\":[\"bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852\",\"dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "type": "error", - "name": "OrderNoHandleIO" - }, - { - "inputs": [], - "type": "error", - "name": "OrderNoInputs" - }, - { - "inputs": [], - "type": "error", - "name": "OrderNoOutputs" - }, - { - "inputs": [], - "type": "error", - "name": "OrderNoSources" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "vaultId", - "type": "uint256" - } - ], - "type": "error", - "name": "ZeroDepositAmount" - }, - { - "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 IExpressionDeployerV3", - "name": "expressionDeployer", - "type": "address", - "indexed": false - }, - { - "internalType": "struct OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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": "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 OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 TakeOrderConfigV2", - "name": "config", - "type": "tuple", - "components": [ - { - "internalType": "struct OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 EvaluableConfigV3", - "name": "evaluableConfig", - "type": "tuple", - "components": [ - { - "internalType": "contract IExpressionDeployerV3", - "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 OrderV2", - "name": "alice", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 OrderV2", - "name": "bob", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "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": "bytes32", - "name": "orderHash", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "orderExists", - "outputs": [ - { - "internalType": "bool", - "name": "exists", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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 TakeOrderConfigV2[]", - "name": "orders", - "type": "tuple[]", - "components": [ - { - "internalType": "struct OrderV2", - "name": "order", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "bool", - "name": "handleIO", - "type": "bool" - }, - { - "internalType": "struct EvaluableV2", - "name": "evaluable", - "type": "tuple", - "components": [ - { - "internalType": "contract IInterpreterV2", - "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": "totalInput", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalOutput", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "vaultBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "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." - } - }, - "orderExists(bytes32)": { - "params": { - "orderHash": "The hash of the order to check." - }, - "returns": { - "exists": "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": { - "totalInput": "Total tokens sent to `msg.sender`, taken from order vaults processed.", - "totalOutput": "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": { - "balance": "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" - }, - "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." - }, - "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/", - "bitwise/=lib/rain.interpreter/src/lib/bitwise/", - "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/interface/unstable/IOrderBookV3.sol": "IOrderBookV3" - }, - "libraries": {} - }, - "sources": { - "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol": { - "keccak256": "0xd6f76317b41d50fb6b3fbfcffa5fa8b4a3bb547a17bf52244f67f5c364fcd6bc", - "urls": [ - "bzz-raw://e7a35981e397564e85c53fab7b46bf8118328cfdb729264f946f7826c205f813", - "dweb:/ipfs/QmfXnGW5RTDgqoMkp3k4E3eWBBS7hXWzmhw56XcfvB766E" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/IInterpreterStoreV1.sol": { - "keccak256": "0x8fe347844f029b84087daae66742fb10aa9e44f94ac90af696318188aa922c19", - "urls": [ - "bzz-raw://5eea5d2116f643db3ede89fd2dc3a5d293e35aec1d62a9daf6531f88a9656fb3", - "dweb:/ipfs/Qmdys5MsEjgpXokb5FhMg96SYB6Bmf3frtVRvX74WrbKTc" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV1.sol": { - "keccak256": "0x5e903fdb445cc16e63bb86d53eeb49172e2472cd7344a762c6d85684aec8251d", - "urls": [ - "bzz-raw://5dab81bd2f092f392afbb295525c3602246ab5620de7630e84dab37b955f7e4d", - "dweb:/ipfs/QmaGiCBSf2KjwjpVtJwG4k6iGqPKYs8dq6gkUYo9EFWkTg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IExpressionDeployerV2.sol": { - "keccak256": "0xc98ea86cd5d633d01b4136258bc0026b3d4bade652f831b482867e97df0e5365", - "urls": [ - "bzz-raw://d412df06ddccb1be19f6e962872297395546c591ccd42ccad91559aa0e5ee214", - "dweb:/ipfs/QmebpvwxNtv9XNoKi9y8Ldqhzy3GWY5kwoSNDQL2vJHrbg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IInterpreterCallerV1.sol": { - "keccak256": "0xdfccb8ca0e4673ac476d1ccfcd1ffa69300f910c41352cc51c3408a58bf095b2", - "urls": [ - "bzz-raw://9a44b64873ed13c9c7d964e1d3b66dc2e80bb457563def325551bf796db8791c", - "dweb:/ipfs/QmWTfH9qtwki5DFRAri1ouV7NVZ1mQzraz9eRumNEbcSNU" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/deprecated/IInterpreterV1.sol": { - "keccak256": "0xb58d3b75312da70f4fb7896dc07d8a3d77de0638d169db4acf6c246ddab0f518", - "urls": [ - "bzz-raw://970029663ca4321640ca0d577213e938046a3fe2995b580f9f7c8f0bfa34a3f3", - "dweb:/ipfs/QmeZgH1RKqLgDh56FWQATBy8BCt6CyGiCuamrKY22QyCRz" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IExpressionDeployerV3.sol": { - "keccak256": "0x408f6c6fa3766cf7d24ffe1c98eb57b77af5bfbe946f266fd7a3b800de4ddb79", - "urls": [ - "bzz-raw://186b12c32030d2b7e4e81f1a11ac7c7a63b0f14b7dc1b6df50cbd2be7459bb69", - "dweb:/ipfs/QmXRV3DGCoQtVxufMtiuXLvN3GF6YNTLyPLVVeoLL53sMg" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/interface/unstable/IInterpreterV2.sol": { - "keccak256": "0xcf050192ba12f7eb129e0262cee4920cbd65bb331e7487cfc21151882464be50", - "urls": [ - "bzz-raw://10ff84f0acf532c5e11e69b7ab41c739ce4ad0f9193d347b5cc4a34f158774a8", - "dweb:/ipfs/QmRvfB8jCdCwDdLrLHQh8yLLLv2eowpwjfwXgy2u629xew" - ], - "license": "CAL" - }, - "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol": { - "keccak256": "0xc3e649c4d698822ae81c4ec0814d2dd506e601795914a7af0883c5c40678ab21", - "urls": [ - "bzz-raw://901d9258689585e338aeb648d77ca083766c423dabc78db46285b3fb69fb12d1", - "dweb:/ipfs/QmPVw7yuoDuqWorxpM7oWPhjSGRXhcEeu1dXQrjBDvpfrn" - ], - "license": "CAL" - }, - "src/interface/deprecated/IOrderBookV2.sol": { - "keccak256": "0xc4f99b2e74b48063eb0383184446e5ad65aa158e12519949e28bed62b49d88fb", - "urls": [ - "bzz-raw://1a2cdc0410026ffc686d4100505564a9dff28b2364cadfeb75b3eea4dde841dc", - "dweb:/ipfs/QmXC1QtN2Go2RLH8bK9GrtsxfMLY5eKaksW53utMTaNuR8" - ], - "license": "CAL" - }, - "src/interface/ierc3156/IERC3156FlashBorrower.sol": { - "keccak256": "0x493227b1bc21c04ba2506d8d63f8fab8eb828683cf41336db1076edee2e010a7", - "urls": [ - "bzz-raw://99b27f1f11576c22462c93ab613835522dfc89a7e28e584df034b339187bc15c", - "dweb:/ipfs/QmQZ1H8PotScE5rSbruZn97MC6pgDNTuCQcjtg8ZWU4SPB" - ], - "license": "CC0" - }, - "src/interface/ierc3156/IERC3156FlashLender.sol": { - "keccak256": "0x1c14bc32c7483a68f5cb3ff65f64a8a32b279472525340033ce8e0b462fd1e72", - "urls": [ - "bzz-raw://e25cbc0c4512d737fd9fb32f30af0f9bcccd10f28870c927057f6bcaac213dd4", - "dweb:/ipfs/Qmey7YDkCTMXgoRDVHUbHRH6f4MJz6mBdfucp7v7bVy1ie" - ], - "license": "CC0" - }, - "src/interface/unstable/IOrderBookV3.sol": { - "keccak256": "0x1aba9fbf5e9c2f410a2c24d56361718ac4ec6d62431ee07107bb83660740b6a1", - "urls": [ - "bzz-raw://12e803376fce4b36bcb7c228faa2aa5360b85688539485212f129b3467e23852", - "dweb:/ipfs/QmV7oBCy2idxp8pY9yhGGcqbdpfVcqgpRvpJ1wYDNg7rZT" - ], - "license": "CAL" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/interface/unstable/IOrderBookV3.sol", - "id": 79290, - "exportedSymbols": { - "ClearConfig": [ - 78728 - ], - "ClearStateChange": [ - 78737 - ], - "EvaluableConfigV3": [ - 55623 - ], - "EvaluableV2": [ - 55632 - ], - "IERC3156FlashBorrower": [ - 78942 - ], - "IERC3156FlashLender": [ - 78980 - ], - "IExpressionDeployerV3": [ - 55986 - ], - "IInterpreterCallerV2": [ - 55660 - ], - "IO": [ - 78658 - ], - "IOrderBookV3": [ - 79289 - ], - "NoOrders": [ - 78997 - ], - "OrderConfigV2": [ - 79014 - ], - "OrderV2": [ - 79042 - ], - "SignedContextV1": [ - 55640 - ], - "TakeOrderConfigV2": [ - 79026 - ], - "TakeOrdersConfigV2": [ - 79055 - ], - "ZeroMaximumInput": [ - 79000 - ] - }, - "nodeType": "SourceUnit", - "src": "32:31563:181", - "nodes": [ - { - "id": 78982, - "nodeType": "PragmaDirective", - "src": "32:24:181", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".18" - ] - }, - { - "id": 78983, - "nodeType": "ImportDirective", - "src": "58:45:181", - "nodes": [], - "absolutePath": "src/interface/ierc3156/IERC3156FlashLender.sol", - "file": "../ierc3156/IERC3156FlashLender.sol", - "nameLocation": "-1:-1:-1", - "scope": 79290, - "sourceUnit": 78981, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 78986, - "nodeType": "ImportDirective", - "src": "104:104:181", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol", - "file": "lib/rain.interpreter/src/lib/caller/LibEvaluable.sol", - "nameLocation": "-1:-1:-1", - "scope": 79290, - "sourceUnit": 57188, - "symbolAliases": [ - { - "foreign": { - "id": 78984, - "name": "IExpressionDeployerV3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55986, - "src": "112:21:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 78985, - "name": "EvaluableV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55632, - "src": "135:11:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 78990, - "nodeType": "ImportDirective", - "src": "209:147:181", - "nodes": [], - "absolutePath": "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol", - "file": "lib/rain.interpreter/src/interface/IInterpreterCallerV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 79290, - "sourceUnit": 55661, - "symbolAliases": [ - { - "foreign": { - "id": 78987, - "name": "EvaluableConfigV3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55623, - "src": "222:17:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 78988, - "name": "IInterpreterCallerV2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55660, - "src": "245:20:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 78989, - "name": "SignedContextV1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55640, - "src": "271:15:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 78994, - "nodeType": "ImportDirective", - "src": "428:81:181", - "nodes": [], - "absolutePath": "src/interface/deprecated/IOrderBookV2.sol", - "file": "../deprecated/IOrderBookV2.sol", - "nameLocation": "-1:-1:-1", - "scope": 79290, - "sourceUnit": 78918, - "symbolAliases": [ - { - "foreign": { - "id": 78991, - "name": "IO", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78658, - "src": "436:2:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 78992, - "name": "ClearConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78728, - "src": "440:11:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 78993, - "name": "ClearStateChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 78737, - "src": "453:16:181", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 78997, - "nodeType": "ErrorDefinition", - "src": "565:17:181", - "nodes": [], - "documentation": { - "id": 78995, - "nodeType": "StructuredDocumentation", - "src": "511:54:181", - "text": "Thrown when take orders is called with no orders." - }, - "errorSelector": "9c95219f", - "name": "NoOrders", - "nameLocation": "571:8:181", - "parameters": { - "id": 78996, - "nodeType": "ParameterList", - "parameters": [], - "src": "579:2:181" - } - }, - { - "id": 79000, - "nodeType": "ErrorDefinition", - "src": "649:25:181", - "nodes": [], - "documentation": { - "id": 78998, - "nodeType": "StructuredDocumentation", - "src": "584:65:181", - "text": "Thrown when take orders is called with a zero maximum input." - }, - "errorSelector": "c2ee7009", - "name": "ZeroMaximumInput", - "nameLocation": "655:16:181", - "parameters": { - "id": 78999, - "nodeType": "ParameterList", - "parameters": [], - "src": "671:2:181" - } - }, - { - "id": 79014, - "nodeType": "StructDefinition", - "src": "1470:124:181", - "nodes": [], - "canonicalName": "OrderConfigV2", - "members": [ - { - "constant": false, - "id": 79004, - "mutability": "mutable", - "name": "validInputs", - "nameLocation": "1502:11:181", - "nodeType": "VariableDeclaration", - "scope": 79014, - "src": "1497:16:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - }, - "typeName": { - "baseType": { - "id": 79002, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79001, - "name": "IO", - "nameLocations": [ - "1497:2:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78658, - "src": "1497:2:181" - }, - "referencedDeclaration": 78658, - "src": "1497:2:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", - "typeString": "struct IO" - } - }, - "id": 79003, - "nodeType": "ArrayTypeName", - "src": "1497:4:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79008, - "mutability": "mutable", - "name": "validOutputs", - "nameLocation": "1524:12:181", - "nodeType": "VariableDeclaration", - "scope": 79014, - "src": "1519:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - }, - "typeName": { - "baseType": { - "id": 79006, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79005, - "name": "IO", - "nameLocations": [ - "1519:2:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78658, - "src": "1519:2:181" - }, - "referencedDeclaration": 78658, - "src": "1519:2:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", - "typeString": "struct IO" - } - }, - "id": 79007, - "nodeType": "ArrayTypeName", - "src": "1519:4:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79011, - "mutability": "mutable", - "name": "evaluableConfig", - "nameLocation": "1560:15:181", - "nodeType": "VariableDeclaration", - "scope": 79014, - "src": "1542:33:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_storage_ptr", - "typeString": "struct EvaluableConfigV3" - }, - "typeName": { - "id": 79010, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79009, - "name": "EvaluableConfigV3", - "nameLocations": [ - "1542:17:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55623, - "src": "1542:17:181" - }, - "referencedDeclaration": 55623, - "src": "1542:17:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableConfigV3_$55623_storage_ptr", - "typeString": "struct EvaluableConfigV3" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79013, - "mutability": "mutable", - "name": "meta", - "nameLocation": "1587:4:181", - "nodeType": "VariableDeclaration", - "scope": 79014, - "src": "1581:10:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 79012, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1581:5:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "name": "OrderConfigV2", - "nameLocation": "1477:13:181", - "scope": 79290, - "visibility": "public" - }, - { - "id": 79026, - "nodeType": "StructDefinition", - "src": "2058:137:181", - "nodes": [], - "canonicalName": "TakeOrderConfigV2", - "members": [ - { - "constant": false, - "id": 79017, - "mutability": "mutable", - "name": "order", - "nameLocation": "2097:5:181", - "nodeType": "VariableDeclaration", - "scope": 79026, - "src": "2089:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79016, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79015, - "name": "OrderV2", - "nameLocations": [ - "2089:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "2089:7:181" - }, - "referencedDeclaration": 79042, - "src": "2089:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79019, - "mutability": "mutable", - "name": "inputIOIndex", - "nameLocation": "2116:12:181", - "nodeType": "VariableDeclaration", - "scope": 79026, - "src": "2108:20:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2108:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79021, - "mutability": "mutable", - "name": "outputIOIndex", - "nameLocation": "2142:13:181", - "nodeType": "VariableDeclaration", - "scope": 79026, - "src": "2134:21:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2134:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79025, - "mutability": "mutable", - "name": "signedContext", - "nameLocation": "2179:13:181", - "nodeType": "VariableDeclaration", - "scope": 79026, - "src": "2161:31:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 79023, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79022, - "name": "SignedContextV1", - "nameLocations": [ - "2161:15:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55640, - "src": "2161:15:181" - }, - "referencedDeclaration": 55640, - "src": "2161:15:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 79024, - "nodeType": "ArrayTypeName", - "src": "2161:17:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "name": "TakeOrderConfigV2", - "nameLocation": "2065:17:181", - "scope": 79290, - "visibility": "public" - }, - { - "id": 79042, - "nodeType": "StructDefinition", - "src": "3181:128:181", - "nodes": [], - "canonicalName": "OrderV2", - "members": [ - { - "constant": false, - "id": 79028, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3210:5:181", - "nodeType": "VariableDeclaration", - "scope": 79042, - "src": "3202:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3202:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79030, - "mutability": "mutable", - "name": "handleIO", - "nameLocation": "3226:8:181", - "nodeType": "VariableDeclaration", - "scope": 79042, - "src": "3221:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 79029, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3221:4:181", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79033, - "mutability": "mutable", - "name": "evaluable", - "nameLocation": "3252:9:181", - "nodeType": "VariableDeclaration", - "scope": 79042, - "src": "3240:21:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_storage_ptr", - "typeString": "struct EvaluableV2" - }, - "typeName": { - "id": 79032, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79031, - "name": "EvaluableV2", - "nameLocations": [ - "3240:11:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55632, - "src": "3240:11:181" - }, - "referencedDeclaration": 55632, - "src": "3240:11:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_EvaluableV2_$55632_storage_ptr", - "typeString": "struct EvaluableV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79037, - "mutability": "mutable", - "name": "validInputs", - "nameLocation": "3272:11:181", - "nodeType": "VariableDeclaration", - "scope": 79042, - "src": "3267:16:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - }, - "typeName": { - "baseType": { - "id": 79035, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79034, - "name": "IO", - "nameLocations": [ - "3267:2:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78658, - "src": "3267:2:181" - }, - "referencedDeclaration": 78658, - "src": "3267:2:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", - "typeString": "struct IO" - } - }, - "id": 79036, - "nodeType": "ArrayTypeName", - "src": "3267:4:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79041, - "mutability": "mutable", - "name": "validOutputs", - "nameLocation": "3294:12:181", - "nodeType": "VariableDeclaration", - "scope": 79042, - "src": "3289:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - }, - "typeName": { - "baseType": { - "id": 79039, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79038, - "name": "IO", - "nameLocations": [ - "3289:2:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78658, - "src": "3289:2:181" - }, - "referencedDeclaration": 78658, - "src": "3289:2:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_IO_$78658_storage_ptr", - "typeString": "struct IO" - } - }, - "id": 79040, - "nodeType": "ArrayTypeName", - "src": "3289:4:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_IO_$78658_storage_$dyn_storage_ptr", - "typeString": "struct IO[]" - } - }, - "visibility": "internal" - } - ], - "name": "OrderV2", - "nameLocation": "3188:7:181", - "scope": 79290, - "visibility": "public" - }, - { - "id": 79055, - "nodeType": "StructDefinition", - "src": "4287:157:181", - "nodes": [], - "canonicalName": "TakeOrdersConfigV2", - "members": [ - { - "constant": false, - "id": 79044, - "mutability": "mutable", - "name": "minimumInput", - "nameLocation": "4327:12:181", - "nodeType": "VariableDeclaration", - "scope": 79055, - "src": "4319:20:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4319:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79046, - "mutability": "mutable", - "name": "maximumInput", - "nameLocation": "4353:12:181", - "nodeType": "VariableDeclaration", - "scope": 79055, - "src": "4345:20:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4345:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79048, - "mutability": "mutable", - "name": "maximumIORatio", - "nameLocation": "4379:14:181", - "nodeType": "VariableDeclaration", - "scope": 79055, - "src": "4371:22:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79047, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4371:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79052, - "mutability": "mutable", - "name": "orders", - "nameLocation": "4419:6:181", - "nodeType": "VariableDeclaration", - "scope": 79055, - "src": "4399:26:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_storage_$dyn_storage_ptr", - "typeString": "struct TakeOrderConfigV2[]" - }, - "typeName": { - "baseType": { - "id": 79050, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79049, - "name": "TakeOrderConfigV2", - "nameLocations": [ - "4399:17:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79026, - "src": "4399:17:181" - }, - "referencedDeclaration": 79026, - "src": "4399:17:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_storage_ptr", - "typeString": "struct TakeOrderConfigV2" - } - }, - "id": 79051, - "nodeType": "ArrayTypeName", - "src": "4399:19:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_TakeOrderConfigV2_$79026_storage_$dyn_storage_ptr", - "typeString": "struct TakeOrderConfigV2[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79054, - "mutability": "mutable", - "name": "data", - "nameLocation": "4437:4:181", - "nodeType": "VariableDeclaration", - "scope": 79055, - "src": "4431:10:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 79053, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4431:5:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "name": "TakeOrdersConfigV2", - "nameLocation": "4294:18:181", - "scope": 79290, - "visibility": "public" - }, - { - "id": 79289, - "nodeType": "ContractDefinition", - "src": "13147:18447:181", - "nodes": [ - { - "id": 79069, - "nodeType": "ErrorDefinition", - "src": "13456:72:181", - "nodes": [], - "documentation": { - "id": 79061, - "nodeType": "StructuredDocumentation", - "src": "13221:230:181", - "text": "MUST be thrown by `deposit` if the amount is zero.\n @param sender `msg.sender` depositing tokens.\n @param token The token being deposited.\n @param vaultId The vault ID the tokens are being deposited under." - }, - "errorSelector": "40e97a5e", - "name": "ZeroDepositAmount", - "nameLocation": "13462:17:181", - "parameters": { - "id": 79068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79063, - "mutability": "mutable", - "name": "sender", - "nameLocation": "13488:6:181", - "nodeType": "VariableDeclaration", - "scope": 79069, - "src": "13480:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13480:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79065, - "mutability": "mutable", - "name": "token", - "nameLocation": "13504:5:181", - "nodeType": "VariableDeclaration", - "scope": 79069, - "src": "13496:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13496:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79067, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "13519:7:181", - "nodeType": "VariableDeclaration", - "scope": 79069, - "src": "13511:15:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13511:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13479:48:181" - } - }, - { - "id": 79078, - "nodeType": "ErrorDefinition", - "src": "13934:79:181", - "nodes": [], - "documentation": { - "id": 79070, - "nodeType": "StructuredDocumentation", - "src": "13534:395:181", - "text": "MUST be thrown by `withdraw` if the amount _requested_ to withdraw is\n zero. The withdrawal MAY still not move any tokens if the vault balance\n is zero, or the withdrawal is used to repay a flash loan.\n @param sender `msg.sender` withdrawing tokens.\n @param token The token being withdrawn.\n @param vaultId The vault ID the tokens are being withdrawn from." - }, - "errorSelector": "f7a898f6", - "name": "ZeroWithdrawTargetAmount", - "nameLocation": "13940:24:181", - "parameters": { - "id": 79077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79072, - "mutability": "mutable", - "name": "sender", - "nameLocation": "13973:6:181", - "nodeType": "VariableDeclaration", - "scope": 79078, - "src": "13965:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13965:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79074, - "mutability": "mutable", - "name": "token", - "nameLocation": "13989:5:181", - "nodeType": "VariableDeclaration", - "scope": 79078, - "src": "13981:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13981:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79076, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "14004:7:181", - "nodeType": "VariableDeclaration", - "scope": 79078, - "src": "13996:15:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13996:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13964:48:181" - } - }, - { - "id": 79081, - "nodeType": "ErrorDefinition", - "src": "14100:23:181", - "nodes": [], - "documentation": { - "id": 79079, - "nodeType": "StructuredDocumentation", - "src": "14019:76:181", - "text": "MUST be thrown by `addOrder` if the order has no associated calculation." - }, - "errorSelector": "b3fc422c", - "name": "OrderNoSources", - "nameLocation": "14106:14:181", - "parameters": { - "id": 79080, - "nodeType": "ParameterList", - "parameters": [], - "src": "14120:2:181" - } - }, - { - "id": 79084, - "nodeType": "ErrorDefinition", - "src": "14208:24:181", - "nodes": [], - "documentation": { - "id": 79082, - "nodeType": "StructuredDocumentation", - "src": "14129:74:181", - "text": "MUST be thrown by `addOrder` if the order has no associated handle IO." - }, - "errorSelector": "f209c2f4", - "name": "OrderNoHandleIO", - "nameLocation": "14214:15:181", - "parameters": { - "id": 79083, - "nodeType": "ParameterList", - "parameters": [], - "src": "14229:2:181" - } - }, - { - "id": 79087, - "nodeType": "ErrorDefinition", - "src": "14303:22:181", - "nodes": [], - "documentation": { - "id": 79085, - "nodeType": "StructuredDocumentation", - "src": "14238:60:181", - "text": "MUST be thrown by `addOrder` if the order has no inputs." - }, - "errorSelector": "6c44ef8f", - "name": "OrderNoInputs", - "nameLocation": "14309:13:181", - "parameters": { - "id": 79086, - "nodeType": "ParameterList", - "parameters": [], - "src": "14322:2:181" - } - }, - { - "id": 79090, - "nodeType": "ErrorDefinition", - "src": "14397:23:181", - "nodes": [], - "documentation": { - "id": 79088, - "nodeType": "StructuredDocumentation", - "src": "14331:61:181", - "text": "MUST be thrown by `addOrder` if the order has no outputs." - }, - "errorSelector": "540e5f0b", - "name": "OrderNoOutputs", - "nameLocation": "14403:14:181", - "parameters": { - "id": 79089, - "nodeType": "ParameterList", - "parameters": [], - "src": "14417:2:181" - } - }, - { - "id": 79101, - "nodeType": "EventDefinition", - "src": "14754:78:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79091, - "nodeType": "StructuredDocumentation", - "src": "14426:323:181", - "text": "Some tokens have been deposited to a vault.\n @param sender `msg.sender` depositing tokens. Delegated deposits are NOT\n supported.\n @param token The token being deposited.\n @param vaultId The vault ID the tokens are being deposited under.\n @param amount The amount of tokens deposited." - }, - "eventSelector": "dcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7", - "name": "Deposit", - "nameLocation": "14760:7:181", - "parameters": { - "id": 79100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79093, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "14776:6:181", - "nodeType": "VariableDeclaration", - "scope": 79101, - "src": "14768:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79092, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14768:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79095, - "indexed": false, - "mutability": "mutable", - "name": "token", - "nameLocation": "14792:5:181", - "nodeType": "VariableDeclaration", - "scope": 79101, - "src": "14784:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14784:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79097, - "indexed": false, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "14807:7:181", - "nodeType": "VariableDeclaration", - "scope": 79101, - "src": "14799:15:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14799:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79099, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "14824:6:181", - "nodeType": "VariableDeclaration", - "scope": 79101, - "src": "14816:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14816:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14767:64:181" - } - }, - { - "id": 79114, - "nodeType": "EventDefinition", - "src": "15454:101:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79102, - "nodeType": "StructuredDocumentation", - "src": "14838:611:181", - "text": "Some tokens have been withdrawn from a vault.\n @param sender `msg.sender` withdrawing tokens. Delegated withdrawals are\n NOT supported.\n @param token The token being withdrawn.\n @param vaultId The vault ID the tokens are being withdrawn from.\n @param targetAmount The amount of tokens requested to withdraw.\n @param amount The amount of tokens withdrawn, can be less than the\n target amount if the vault does not have the funds available to cover\n the target amount. For example an active order might move tokens before\n the withdraw completes." - }, - "eventSelector": "ebff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f", - "name": "Withdraw", - "nameLocation": "15460:8:181", - "parameters": { - "id": 79113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79104, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "15477:6:181", - "nodeType": "VariableDeclaration", - "scope": 79114, - "src": "15469:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15469:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79106, - "indexed": false, - "mutability": "mutable", - "name": "token", - "nameLocation": "15493:5:181", - "nodeType": "VariableDeclaration", - "scope": 79114, - "src": "15485:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15485:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79108, - "indexed": false, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "15508:7:181", - "nodeType": "VariableDeclaration", - "scope": 79114, - "src": "15500:15:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15500:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79110, - "indexed": false, - "mutability": "mutable", - "name": "targetAmount", - "nameLocation": "15525:12:181", - "nodeType": "VariableDeclaration", - "scope": 79114, - "src": "15517:20:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15517:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79112, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "15547:6:181", - "nodeType": "VariableDeclaration", - "scope": 79114, - "src": "15539:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15539:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15468:86:181" - } - }, - { - "id": 79127, - "nodeType": "EventDefinition", - "src": "16459:107:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79115, - "nodeType": "StructuredDocumentation", - "src": "15561:893:181", - "text": "An order has been added to the orderbook. The order is permanently and\n always active according to its expression until/unless it is removed.\n @param sender `msg.sender` adding the order and is owner of the order.\n @param expressionDeployer The expression deployer that ran the integrity\n check for this order. This is NOT included in the `Order` itself but is\n important for offchain processes to ignore untrusted deployers before\n interacting with them.\n @param order The newly added order. MUST be handed back as-is when\n clearing orders and contains derived information in addition to the order\n config that was provided by the order owner.\n @param orderHash The hash of the order as it is recorded onchain. Only\n the hash is stored in Orderbook storage to avoid paying gas to store the\n entire order." - }, - "eventSelector": "6fa57e1a7a1fbbf3623af2b2025fcd9a5e7e4e31a2a6ec7523445f18e9c50ebf", - "name": "AddOrder", - "nameLocation": "16465:8:181", - "parameters": { - "id": 79126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79117, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "16482:6:181", - "nodeType": "VariableDeclaration", - "scope": 79127, - "src": "16474:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16474:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79120, - "indexed": false, - "mutability": "mutable", - "name": "expressionDeployer", - "nameLocation": "16512:18:181", - "nodeType": "VariableDeclaration", - "scope": 79127, - "src": "16490:40:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", - "typeString": "contract IExpressionDeployerV3" - }, - "typeName": { - "id": 79119, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79118, - "name": "IExpressionDeployerV3", - "nameLocations": [ - "16490:21:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55986, - "src": "16490:21:181" - }, - "referencedDeclaration": 55986, - "src": "16490:21:181", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IExpressionDeployerV3_$55986", - "typeString": "contract IExpressionDeployerV3" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79123, - "indexed": false, - "mutability": "mutable", - "name": "order", - "nameLocation": "16540:5:181", - "nodeType": "VariableDeclaration", - "scope": 79127, - "src": "16532:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79122, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79121, - "name": "OrderV2", - "nameLocations": [ - "16532:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "16532:7:181" - }, - "referencedDeclaration": 79042, - "src": "16532:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79125, - "indexed": false, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "16555:9:181", - "nodeType": "VariableDeclaration", - "scope": 79127, - "src": "16547:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 79124, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16547:7:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16473:92:181" - } - }, - { - "id": 79137, - "nodeType": "EventDefinition", - "src": "16885:68:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79128, - "nodeType": "StructuredDocumentation", - "src": "16572:308:181", - "text": "An order has been removed from the orderbook. This effectively\n deactivates it. Orders can be added again after removal.\n @param sender `msg.sender` removing the order and is owner of the order.\n @param order The removed order.\n @param orderHash The hash of the removed order." - }, - "eventSelector": "74037e398a4a92c9c1c49ac01c1dabd7f71165fbb4810b72c068f08edd192448", - "name": "RemoveOrder", - "nameLocation": "16891:11:181", - "parameters": { - "id": 79136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79130, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "16911:6:181", - "nodeType": "VariableDeclaration", - "scope": 79137, - "src": "16903:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16903:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79133, - "indexed": false, - "mutability": "mutable", - "name": "order", - "nameLocation": "16927:5:181", - "nodeType": "VariableDeclaration", - "scope": 79137, - "src": "16919:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79132, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79131, - "name": "OrderV2", - "nameLocations": [ - "16919:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "16919:7:181" - }, - "referencedDeclaration": 79042, - "src": "16919:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79135, - "indexed": false, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "16942:9:181", - "nodeType": "VariableDeclaration", - "scope": 79137, - "src": "16934:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 79134, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16934:7:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16902:50:181" - } - }, - { - "id": 79149, - "nodeType": "EventDefinition", - "src": "17597:89:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79138, - "nodeType": "StructuredDocumentation", - "src": "16959:633:181", - "text": "Some order has been taken by `msg.sender`. This is the same as them\n placing inverse orders then immediately clearing them all, but costs less\n gas and is more convenient and reliable. Analogous to a market buy\n against the specified orders. Each order that is matched within a the\n `takeOrders` loop emits its own individual event.\n @param sender `msg.sender` taking the orders.\n @param config All config defining the orders to attempt to take.\n @param input The input amount from the perspective of sender.\n @param output The output amount from the perspective of sender." - }, - "eventSelector": "219a030b7ae56e7bea2baab709a4a45dc174a1f85e57730e5cb395bc32962542", - "name": "TakeOrder", - "nameLocation": "17603:9:181", - "parameters": { - "id": 79148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79140, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "17621:6:181", - "nodeType": "VariableDeclaration", - "scope": 79149, - "src": "17613:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17613:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79143, - "indexed": false, - "mutability": "mutable", - "name": "config", - "nameLocation": "17647:6:181", - "nodeType": "VariableDeclaration", - "scope": 79149, - "src": "17629:24:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_memory_ptr", - "typeString": "struct TakeOrderConfigV2" - }, - "typeName": { - "id": 79142, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79141, - "name": "TakeOrderConfigV2", - "nameLocations": [ - "17629:17:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79026, - "src": "17629:17:181" - }, - "referencedDeclaration": 79026, - "src": "17629:17:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrderConfigV2_$79026_storage_ptr", - "typeString": "struct TakeOrderConfigV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79145, - "indexed": false, - "mutability": "mutable", - "name": "input", - "nameLocation": "17663:5:181", - "nodeType": "VariableDeclaration", - "scope": 79149, - "src": "17655:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17655:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79147, - "indexed": false, - "mutability": "mutable", - "name": "output", - "nameLocation": "17678:6:181", - "nodeType": "VariableDeclaration", - "scope": 79149, - "src": "17670:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17670:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17612:73:181" - } - }, - { - "id": 79158, - "nodeType": "EventDefinition", - "src": "18126:70:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79150, - "nodeType": "StructuredDocumentation", - "src": "17692:429:181", - "text": "Emitted when attempting to match an order that either never existed or\n was removed. An event rather than an error so that we allow attempting\n many orders in a loop and NOT rollback on \"best effort\" basis to clear.\n @param sender `msg.sender` clearing the order that wasn't found.\n @param owner Owner of the order that was not found.\n @param orderHash Hash of the order that was not found." - }, - "eventSelector": "b70c12fa453793fa6818ec07c91e74363a47aa6a6829dcd9533937fdf30314f3", - "name": "OrderNotFound", - "nameLocation": "18132:13:181", - "parameters": { - "id": 79157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79152, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "18154:6:181", - "nodeType": "VariableDeclaration", - "scope": 79158, - "src": "18146:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18146:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79154, - "indexed": false, - "mutability": "mutable", - "name": "owner", - "nameLocation": "18170:5:181", - "nodeType": "VariableDeclaration", - "scope": 79158, - "src": "18162:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18162:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79156, - "indexed": false, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "18185:9:181", - "nodeType": "VariableDeclaration", - "scope": 79158, - "src": "18177:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 79155, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18177:7:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "18145:50:181" - } - }, - { - "id": 79167, - "nodeType": "EventDefinition", - "src": "18626:72:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79159, - "nodeType": "StructuredDocumentation", - "src": "18202:419:181", - "text": "Emitted when an order evaluates to a zero amount. An event rather than an\n error so that we allow attempting many orders in a loop and NOT rollback\n on a \"best effort\" basis to clear.\n @param sender `msg.sender` clearing the order that had a 0 amount.\n @param owner Owner of the order that evaluated to a 0 amount.\n @param orderHash Hash of the order that evaluated to a 0 amount." - }, - "eventSelector": "500b713857325f9e6dcb52ae832eca9109d107ed1aae9cb4928b4c1e13f051aa", - "name": "OrderZeroAmount", - "nameLocation": "18632:15:181", - "parameters": { - "id": 79166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79161, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "18656:6:181", - "nodeType": "VariableDeclaration", - "scope": 79167, - "src": "18648:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79160, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18648:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79163, - "indexed": false, - "mutability": "mutable", - "name": "owner", - "nameLocation": "18672:5:181", - "nodeType": "VariableDeclaration", - "scope": 79167, - "src": "18664:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18664:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79165, - "indexed": false, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "18687:9:181", - "nodeType": "VariableDeclaration", - "scope": 79167, - "src": "18679:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 79164, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18679:7:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "18647:50:181" - } - }, - { - "id": 79176, - "nodeType": "EventDefinition", - "src": "19162:77:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79168, - "nodeType": "StructuredDocumentation", - "src": "18704:453:181", - "text": "Emitted when an order evaluates to a ratio exceeding the counterparty's\n maximum limit. An error rather than an error so that we allow attempting\n many orders in a loop and NOT rollback on a \"best effort\" basis to clear.\n @param sender `msg.sender` clearing the order that had an excess ratio.\n @param owner Owner of the order that had an excess ratio.\n @param orderHash Hash of the order that had an excess ratio." - }, - "eventSelector": "e3151dc8cb7a54ffc4baabd28c1f241c94d510b5e5b502491ac3cad6c16316d5", - "name": "OrderExceedsMaxRatio", - "nameLocation": "19168:20:181", - "parameters": { - "id": 79175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79170, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "19197:6:181", - "nodeType": "VariableDeclaration", - "scope": 79176, - "src": "19189:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79169, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19189:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79172, - "indexed": false, - "mutability": "mutable", - "name": "owner", - "nameLocation": "19213:5:181", - "nodeType": "VariableDeclaration", - "scope": 79176, - "src": "19205:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19205:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79174, - "indexed": false, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "19228:9:181", - "nodeType": "VariableDeclaration", - "scope": 79176, - "src": "19220:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 79173, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "19220:7:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "19188:50:181" - } - }, - { - "id": 79190, - "nodeType": "EventDefinition", - "src": "19584:81:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79177, - "nodeType": "StructuredDocumentation", - "src": "19245:334:181", - "text": "Emitted before two orders clear. Covers both orders and includes all the\n state before anything is calculated.\n @param sender `msg.sender` clearing both orders.\n @param alice One of the orders.\n @param bob The other order.\n @param clearConfig Additional config required to process the clearance." - }, - "eventSelector": "d153812deb929a6e4378f6f8cf61d010470840bf2e736f43fb2275803958bfa2", - "name": "Clear", - "nameLocation": "19590:5:181", - "parameters": { - "id": 79189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79179, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "19604:6:181", - "nodeType": "VariableDeclaration", - "scope": 79190, - "src": "19596:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19596:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79182, - "indexed": false, - "mutability": "mutable", - "name": "alice", - "nameLocation": "19620:5:181", - "nodeType": "VariableDeclaration", - "scope": 79190, - "src": "19612:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79181, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79180, - "name": "OrderV2", - "nameLocations": [ - "19612:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "19612:7:181" - }, - "referencedDeclaration": 79042, - "src": "19612:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79185, - "indexed": false, - "mutability": "mutable", - "name": "bob", - "nameLocation": "19635:3:181", - "nodeType": "VariableDeclaration", - "scope": 79190, - "src": "19627:11:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79184, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79183, - "name": "OrderV2", - "nameLocations": [ - "19627:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "19627:7:181" - }, - "referencedDeclaration": 79042, - "src": "19627:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79188, - "indexed": false, - "mutability": "mutable", - "name": "clearConfig", - "nameLocation": "19652:11:181", - "nodeType": "VariableDeclaration", - "scope": 79190, - "src": "19640:23:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_memory_ptr", - "typeString": "struct ClearConfig" - }, - "typeName": { - "id": 79187, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79186, - "name": "ClearConfig", - "nameLocations": [ - "19640:11:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78728, - "src": "19640:11:181" - }, - "referencedDeclaration": 78728, - "src": "19640:11:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_storage_ptr", - "typeString": "struct ClearConfig" - } - }, - "visibility": "internal" - } - ], - "src": "19595:69:181" - } - }, - { - "id": 79198, - "nodeType": "EventDefinition", - "src": "19944:68:181", - "nodes": [], - "anonymous": false, - "documentation": { - "id": 79191, - "nodeType": "StructuredDocumentation", - "src": "19671:268:181", - "text": "Emitted after two orders clear. Includes all final state changes in the\n vault balances, including the clearer's vaults.\n @param sender `msg.sender` clearing the order.\n @param clearStateChange The final vault state changes from the clearance." - }, - "eventSelector": "3f20e55919cca701abb2a40ab72542b25ea7eed63a50f979dd2cd3231e5f488d", - "name": "AfterClear", - "nameLocation": "19950:10:181", - "parameters": { - "id": 79197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79193, - "indexed": false, - "mutability": "mutable", - "name": "sender", - "nameLocation": "19969:6:181", - "nodeType": "VariableDeclaration", - "scope": 79198, - "src": "19961:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19961:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79196, - "indexed": false, - "mutability": "mutable", - "name": "clearStateChange", - "nameLocation": "19994:16:181", - "nodeType": "VariableDeclaration", - "scope": 79198, - "src": "19977:33:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_memory_ptr", - "typeString": "struct ClearStateChange" - }, - "typeName": { - "id": 79195, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79194, - "name": "ClearStateChange", - "nameLocations": [ - "19977:16:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78737, - "src": "19977:16:181" - }, - "referencedDeclaration": 78737, - "src": "19977:16:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearStateChange_$78737_storage_ptr", - "typeString": "struct ClearStateChange" - } - }, - "visibility": "internal" - } - ], - "src": "19960:51:181" - } - }, - { - "id": 79210, - "nodeType": "FunctionDefinition", - "src": "20292:104:181", - "nodes": [], - "documentation": { - "id": 79199, - "nodeType": "StructuredDocumentation", - "src": "20018:269:181", - "text": "Get the current balance of a vault for a given owner, token and vault ID.\n @param owner The owner of the vault.\n @param token The token the vault is for.\n @param id The vault ID to read.\n @return balance The current balance of the vault." - }, - "functionSelector": "d97b2e48", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "vaultBalance", - "nameLocation": "20301:12:181", - "parameters": { - "id": 79206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79201, - "mutability": "mutable", - "name": "owner", - "nameLocation": "20322:5:181", - "nodeType": "VariableDeclaration", - "scope": 79210, - "src": "20314:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20314:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79203, - "mutability": "mutable", - "name": "token", - "nameLocation": "20337:5:181", - "nodeType": "VariableDeclaration", - "scope": 79210, - "src": "20329:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20329:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79205, - "mutability": "mutable", - "name": "id", - "nameLocation": "20352:2:181", - "nodeType": "VariableDeclaration", - "scope": 79210, - "src": "20344:10:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79204, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20344:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "20313:42:181" - }, - "returnParameters": { - "id": 79209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79208, - "mutability": "mutable", - "name": "balance", - "nameLocation": "20387:7:181", - "nodeType": "VariableDeclaration", - "scope": 79210, - "src": "20379:15:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20379:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "20378:17:181" - }, - "scope": 79289, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 79220, - "nodeType": "FunctionDefinition", - "src": "22006:74:181", - "nodes": [], - "documentation": { - "id": 79211, - "nodeType": "StructuredDocumentation", - "src": "21379:622:181", - "text": "Vault IDs are namespaced by the token address so there is no risk of\n collision between tokens. For example, vault ID 0 for token A is\n completely different to vault ID 0 for token B.\n `0` amount deposits are unsupported as underlying token contracts\n handle `0` value transfers differently and this would be a source of\n confusion. The order book MUST revert with `ZeroDepositAmount` if the\n amount is zero.\n @param token The token to deposit.\n @param vaultId The vault ID to deposit under.\n @param amount The amount of tokens to deposit." - }, - "functionSelector": "0efe6a8b", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nameLocation": "22015:7:181", - "parameters": { - "id": 79218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79213, - "mutability": "mutable", - "name": "token", - "nameLocation": "22031:5:181", - "nodeType": "VariableDeclaration", - "scope": 79220, - "src": "22023:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22023:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79215, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "22046:7:181", - "nodeType": "VariableDeclaration", - "scope": 79220, - "src": "22038:15:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22038:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79217, - "mutability": "mutable", - "name": "amount", - "nameLocation": "22063:6:181", - "nodeType": "VariableDeclaration", - "scope": 79220, - "src": "22055:14:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22055:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "22022:48:181" - }, - "returnParameters": { - "id": 79219, - "nodeType": "ParameterList", - "parameters": [], - "src": "22079:0:181" - }, - "scope": 79289, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 79230, - "nodeType": "FunctionDefinition", - "src": "23056:81:181", - "nodes": [], - "documentation": { - "id": 79221, - "nodeType": "StructuredDocumentation", - "src": "22086:965:181", - "text": "Allows the sender to withdraw any tokens from their own vaults. If the\n withrawer has an active flash loan debt denominated in the same token\n being withdrawn then Orderbook will merely reduce the debt and NOT send\n the amount of tokens repaid to the flashloan debt.\n MUST revert if the amount _requested_ to withdraw is zero. The withdrawal\n MAY still not move any tokens (without revert) if the vault balance is\n zero, or the withdrawal is used to repay a flash loan, or due to any\n other internal accounting.\n @param token The token to withdraw.\n @param vaultId The vault ID to withdraw from.\n @param targetAmount The amount of tokens to attempt to withdraw. MAY\n result in fewer tokens withdrawn if the vault balance is lower than the\n target amount. MAY NOT be zero, the order book MUST revert with\n `ZeroWithdrawTargetAmount` if the amount is zero." - }, - "functionSelector": "b5c5f672", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nameLocation": "23065:8:181", - "parameters": { - "id": 79228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79223, - "mutability": "mutable", - "name": "token", - "nameLocation": "23082:5:181", - "nodeType": "VariableDeclaration", - "scope": 79230, - "src": "23074:13:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 79222, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23074:7:181", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79225, - "mutability": "mutable", - "name": "vaultId", - "nameLocation": "23097:7:181", - "nodeType": "VariableDeclaration", - "scope": 79230, - "src": "23089:15:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23089:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79227, - "mutability": "mutable", - "name": "targetAmount", - "nameLocation": "23114:12:181", - "nodeType": "VariableDeclaration", - "scope": 79230, - "src": "23106:20:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23106:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "23073:54:181" - }, - "returnParameters": { - "id": 79229, - "nodeType": "ParameterList", - "parameters": [], - "src": "23136:0:181" - }, - "scope": 79289, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 79239, - "nodeType": "FunctionDefinition", - "src": "24497:86:181", - "nodes": [], - "documentation": { - "id": 79231, - "nodeType": "StructuredDocumentation", - "src": "23143:1349:181", - "text": "Given an order config, deploys the expression and builds the full `Order`\n for the config, then records it as an active order. Delegated adding an\n order is NOT supported. The `msg.sender` that adds an order is ALWAYS\n the owner and all resulting vault movements are their own.\n MUST revert with `OrderNoSources` if the order has no associated\n calculation and `OrderNoHandleIO` if the order has no handle IO\n entrypoint. The calculation MUST return at least two values from\n evaluation, the maximum amount and the IO ratio. The handle IO entrypoint\n SHOULD return zero values from evaluation. Either MAY revert during\n evaluation on the interpreter, which MUST prevent the order from\n clearing.\n MUST revert with `OrderNoInputs` if the order has no inputs.\n MUST revert with `OrderNoOutputs` if the order has no outputs.\n If the order already exists, the order book MUST NOT change state, which\n includes not emitting an event. Instead it MUST return false. If the\n order book modifies state it MUST emit an `AddOrder` event and return\n true.\n @param config All config required to build an `Order`.\n @return stateChanged True if the order was added, false if it already\n existed." - }, - "functionSelector": "847a1bc9", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addOrder", - "nameLocation": "24506:8:181", - "parameters": { - "id": 79235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79234, - "mutability": "mutable", - "name": "config", - "nameLocation": "24538:6:181", - "nodeType": "VariableDeclaration", - "scope": 79239, - "src": "24515:29:181", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_calldata_ptr", - "typeString": "struct OrderConfigV2" - }, - "typeName": { - "id": 79233, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79232, - "name": "OrderConfigV2", - "nameLocations": [ - "24515:13:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79014, - "src": "24515:13:181" - }, - "referencedDeclaration": 79014, - "src": "24515:13:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderConfigV2_$79014_storage_ptr", - "typeString": "struct OrderConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "24514:31:181" - }, - "returnParameters": { - "id": 79238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79237, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "24569:12:181", - "nodeType": "VariableDeclaration", - "scope": 79239, - "src": "24564:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 79236, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24564:4:181", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "24563:19:181" - }, - "scope": 79289, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 79247, - "nodeType": "FunctionDefinition", - "src": "24771:76:181", - "nodes": [], - "documentation": { - "id": 79240, - "nodeType": "StructuredDocumentation", - "src": "24589:177:181", - "text": "Returns true if the order exists, false otherwise.\n @param orderHash The hash of the order to check.\n @return exists True if the order exists, false otherwise." - }, - "functionSelector": "2cb77e9f", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "orderExists", - "nameLocation": "24780:11:181", - "parameters": { - "id": 79243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79242, - "mutability": "mutable", - "name": "orderHash", - "nameLocation": "24800:9:181", - "nodeType": "VariableDeclaration", - "scope": 79247, - "src": "24792:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 79241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24792:7:181", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "24791:19:181" - }, - "returnParameters": { - "id": 79246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79245, - "mutability": "mutable", - "name": "exists", - "nameLocation": "24839:6:181", - "nodeType": "VariableDeclaration", - "scope": 79247, - "src": "24834:11:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 79244, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24834:4:181", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "24833:13:181" - }, - "scope": 79289, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 79256, - "nodeType": "FunctionDefinition", - "src": "25349:82:181", - "nodes": [], - "documentation": { - "id": 79248, - "nodeType": "StructuredDocumentation", - "src": "24853:491:181", - "text": "Order owner can remove their own orders. Delegated order removal is NOT\n supported and will revert. Removing an order multiple times or removing\n an order that never existed are valid, the event will be emitted and the\n transaction will complete with that order hash definitely, redundantly\n not live.\n @param order The `Order` data exactly as it was added.\n @return stateChanged True if the order was removed, false if it did not\n exist." - }, - "functionSelector": "e23746a3", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "removeOrder", - "nameLocation": "25358:11:181", - "parameters": { - "id": 79252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79251, - "mutability": "mutable", - "name": "order", - "nameLocation": "25387:5:181", - "nodeType": "VariableDeclaration", - "scope": 79256, - "src": "25370:22:181", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_calldata_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79250, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79249, - "name": "OrderV2", - "nameLocations": [ - "25370:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "25370:7:181" - }, - "referencedDeclaration": 79042, - "src": "25370:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - } - ], - "src": "25369:24:181" - }, - "returnParameters": { - "id": 79255, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79254, - "mutability": "mutable", - "name": "stateChanged", - "nameLocation": "25417:12:181", - "nodeType": "VariableDeclaration", - "scope": 79256, - "src": "25412:17:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 79253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "25412:4:181", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "25411:19:181" - }, - "scope": 79289, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 79267, - "nodeType": "FunctionDefinition", - "src": "28038:131:181", - "nodes": [], - "documentation": { - "id": 79257, - "nodeType": "StructuredDocumentation", - "src": "25437:2596:181", - "text": "Allows `msg.sender` to attempt to fill a list of orders in sequence\n without needing to place their own order and clear them. This works like\n a market buy but against a specific set of orders. Every order will\n looped over and calculated individually then filled maximally until the\n request input is reached for the `msg.sender`. The `msg.sender` is\n responsible for selecting the best orders at the time according to their\n criteria and MAY specify a maximum IO ratio to guard against an order\n spiking the ratio beyond what the `msg.sender` expected and is\n comfortable with. As orders may be removed and calculate their ratios\n dynamically, all issues fulfilling an order other than misconfiguration\n by the `msg.sender` are no-ops and DO NOT revert the transaction. This\n allows the `msg.sender` to optimistically provide a list of orders that\n they aren't sure will completely fill at a good price, and fallback to\n more reliable orders further down their list. Misconfiguration such as\n token mismatches are errors that revert as this is known and static at\n all times to the `msg.sender` so MUST be provided correctly. `msg.sender`\n MAY specify a minimum input that MUST be reached across all orders in the\n list, otherwise the transaction will revert, this MAY be set to zero.\n Exactly like withdraw, if there is an active flash loan for `msg.sender`\n they will have their outstanding loan reduced by the final input amount\n preferentially before sending any tokens. Notably this allows arb bots\n implemented as flash loan borrowers to connect orders against external\n liquidity directly by paying back the loan with a `takeOrders` call and\n outputting the result of the external trade.\n Rounding errors always favour the order never the `msg.sender`.\n @param config The constraints and list of orders to take, orders are\n processed sequentially in order as provided, there is NO ATTEMPT onchain\n to predict/filter/sort these orders other than evaluating them as\n provided. Inputs and outputs are from the perspective of `msg.sender`\n except for values specified by the orders themselves which are the from\n the perspective of that order.\n @return totalInput Total tokens sent to `msg.sender`, taken from order\n vaults processed.\n @return totalOutput Total tokens taken from `msg.sender` and distributed\n between vaults." - }, - "functionSelector": "8a44689c", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "takeOrders", - "nameLocation": "28047:10:181", - "parameters": { - "id": 79261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79260, - "mutability": "mutable", - "name": "config", - "nameLocation": "28086:6:181", - "nodeType": "VariableDeclaration", - "scope": 79267, - "src": "28058:34:181", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_calldata_ptr", - "typeString": "struct TakeOrdersConfigV2" - }, - "typeName": { - "id": 79259, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79258, - "name": "TakeOrdersConfigV2", - "nameLocations": [ - "28058:18:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79055, - "src": "28058:18:181" - }, - "referencedDeclaration": 79055, - "src": "28058:18:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TakeOrdersConfigV2_$79055_storage_ptr", - "typeString": "struct TakeOrdersConfigV2" - } - }, - "visibility": "internal" - } - ], - "src": "28057:36:181" - }, - "returnParameters": { - "id": 79266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79263, - "mutability": "mutable", - "name": "totalInput", - "nameLocation": "28136:10:181", - "nodeType": "VariableDeclaration", - "scope": 79267, - "src": "28128:18:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28128:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79265, - "mutability": "mutable", - "name": "totalOutput", - "nameLocation": "28156:11:181", - "nodeType": "VariableDeclaration", - "scope": 79267, - "src": "28148:19:181", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28148:7:181", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "28127:41:181" - }, - "scope": 79289, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 79288, - "nodeType": "FunctionDefinition", - "src": "31358:234:181", - "nodes": [], - "documentation": { - "id": 79268, - "nodeType": "StructuredDocumentation", - "src": "28175:3178:181", - "text": "Allows `msg.sender` to match two live orders placed earlier by\n non-interactive parties and claim a bounty in the process. The clearer is\n free to select any two live orders on the order book for matching and as\n long as they have compatible tokens, ratios and amounts, the orders will\n clear. Clearing the orders DOES NOT remove them from the orderbook, they\n remain live until explicitly removed by their owner. Even if the input\n vault balances are completely emptied, the orders remain live until\n removed. This allows order owners to deploy a strategy over a long period\n of time and periodically top up the input vaults. Clearing two orders\n from the same owner is disallowed.\n Any mismatch in the ratios between the two orders will cause either more\n inputs than there are available outputs (transaction will revert) or less\n inputs than there are available outputs. In the latter case the excess\n outputs are given to the `msg.sender` of clear, to the vaults they\n specify in the clear config. This not only incentivises \"automatic\" clear\n calls for both alice and bob, but incentivises _prioritising greater\n ratio differences_ with a larger bounty. The second point is important\n because it implicitly prioritises orders that are further from the\n current market price, thus putting constant increasing pressure on the\n entire system the further it drifts from the norm, no matter how esoteric\n the individual order expressions and sizings might be.\n All else equal there are several factors that would impact how reliably\n some order clears relative to the wider market, such as:\n - Bounties are effectively percentages of cleared amounts so larger\n orders have larger bounties and cover gas costs more easily\n - High gas on the network means that orders are harder to clear\n profitably so the negative spread of the ratios will need to be larger\n - Complex and stateful expressions cost more gas to evalulate so the\n negative spread will need to be larger\n - Erratic behavior of the order owner could reduce the willingness of\n third parties to interact if it could result in wasted gas due to\n orders suddently being removed before clearance etc.\n - Dynamic and highly volatile words used in the expression could be\n ignored or low priority by clearers who want to be sure that they can\n accurately predict the ratios that they include in their clearance\n - Geopolitical issues such as sanctions and regulatory restrictions could\n cause issues for certain owners and clearers\n @param alice Some order to clear.\n @param bob Another order to clear.\n @param clearConfig Additional configuration for the clearance such as\n how to handle the bounty payment for the `msg.sender`.\n @param aliceSignedContext Optional signed context that is relevant to A.\n @param bobSignedContext Optional signed context that is relevant to B." - }, - "functionSelector": "9e18968b", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "clear", - "nameLocation": "31367:5:181", - "parameters": { - "id": 79286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79271, - "mutability": "mutable", - "name": "alice", - "nameLocation": "31397:5:181", - "nodeType": "VariableDeclaration", - "scope": 79288, - "src": "31382:20:181", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79270, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79269, - "name": "OrderV2", - "nameLocations": [ - "31382:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "31382:7:181" - }, - "referencedDeclaration": 79042, - "src": "31382:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79274, - "mutability": "mutable", - "name": "bob", - "nameLocation": "31427:3:181", - "nodeType": "VariableDeclaration", - "scope": 79288, - "src": "31412:18:181", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_memory_ptr", - "typeString": "struct OrderV2" - }, - "typeName": { - "id": 79273, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79272, - "name": "OrderV2", - "nameLocations": [ - "31412:7:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 79042, - "src": "31412:7:181" - }, - "referencedDeclaration": 79042, - "src": "31412:7:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_OrderV2_$79042_storage_ptr", - "typeString": "struct OrderV2" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79277, - "mutability": "mutable", - "name": "clearConfig", - "nameLocation": "31461:11:181", - "nodeType": "VariableDeclaration", - "scope": 79288, - "src": "31440:32:181", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_calldata_ptr", - "typeString": "struct ClearConfig" - }, - "typeName": { - "id": 79276, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79275, - "name": "ClearConfig", - "nameLocations": [ - "31440:11:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78728, - "src": "31440:11:181" - }, - "referencedDeclaration": 78728, - "src": "31440:11:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ClearConfig_$78728_storage_ptr", - "typeString": "struct ClearConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79281, - "mutability": "mutable", - "name": "aliceSignedContext", - "nameLocation": "31507:18:181", - "nodeType": "VariableDeclaration", - "scope": 79288, - "src": "31482:43:181", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 79279, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79278, - "name": "SignedContextV1", - "nameLocations": [ - "31482:15:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55640, - "src": "31482:15:181" - }, - "referencedDeclaration": 55640, - "src": "31482:15:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 79280, - "nodeType": "ArrayTypeName", - "src": "31482:17:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 79285, - "mutability": "mutable", - "name": "bobSignedContext", - "nameLocation": "31560:16:181", - "nodeType": "VariableDeclaration", - "scope": 79288, - "src": "31535:41:181", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_memory_ptr_$dyn_memory_ptr", - "typeString": "struct SignedContextV1[]" - }, - "typeName": { - "baseType": { - "id": 79283, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 79282, - "name": "SignedContextV1", - "nameLocations": [ - "31535:15:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55640, - "src": "31535:15:181" - }, - "referencedDeclaration": 55640, - "src": "31535:15:181", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignedContextV1_$55640_storage_ptr", - "typeString": "struct SignedContextV1" - } - }, - "id": 79284, - "nodeType": "ArrayTypeName", - "src": "31535:17:181", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_SignedContextV1_$55640_storage_$dyn_storage_ptr", - "typeString": "struct SignedContextV1[]" - } - }, - "visibility": "internal" - } - ], - "src": "31372:210:181" - }, - "returnParameters": { - "id": 79287, - "nodeType": "ParameterList", - "parameters": [], - "src": "31591:0:181" - }, - "scope": 79289, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 79057, - "name": "IERC3156FlashLender", - "nameLocations": [ - "13173:19:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 78980, - "src": "13173:19:181" - }, - "id": 79058, - "nodeType": "InheritanceSpecifier", - "src": "13173:19:181" - }, - { - "baseName": { - "id": 79059, - "name": "IInterpreterCallerV2", - "nameLocations": [ - "13194:20:181" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55660, - "src": "13194:20:181" - }, - "id": 79060, - "nodeType": "InheritanceSpecifier", - "src": "13194:20:181" - } - ], - "canonicalName": "IOrderBookV3", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 79056, - "nodeType": "StructuredDocumentation", - "src": "4446:8701:181", - "text": "@title IOrderBookV3\n @notice An orderbook that deploys _strategies_ represented as interpreter\n expressions rather than individual orders. The order book contract itself\n behaves similarly to an `ERC4626` vault but with much more fine grained\n control over how tokens are allocated and moved internally by their owners,\n and without any concept of \"shares\". Token owners MAY deposit and withdraw\n their tokens under arbitrary vault IDs on a per-token basis, then define\n orders that specify how tokens move between vaults according to an expression.\n The expression returns a maximum amount and a token input/output ratio from\n the perpective of the order. When two expressions intersect, as in their\n ratios are the inverse of each other, then tokens can move between vaults.\n For example, consider order A with input TKNA and output TKNB with a constant\n ratio of 100:1. This order in isolation has no ability to move tokens. If\n an order B appears with input TKNB and output TKNA and a ratio of 1:100 then\n this is a perfect match with order A. In this case 100 TKNA will move from\n order B to order A and 1 TKNB will move from order A to order B.\n IO ratios are always specified as input:output and are 18 decimal fixed point\n values. The maximum amount that can be moved in the current clearance is also\n set by the order expression as an 18 decimal fixed point value.\n Typically orders will not clear when their match is exactly 1:1 as the\n clearer needs to pay gas to process the match. Each order will get exactly\n the ratio it calculates when it does clear so if there is _overlap_ in the\n ratios then the clearer keeps the difference. In our above example, consider\n order B asking a ratio of 1:110 instead of 1:100. In this case 100 TKNA will\n move from order B to order A and 10 TKNA will move to the clearer's vault and\n 1 TKNB will move from order A to order B. In the case of fixed prices this is\n not very interesting as order B could more simply take order A directly for\n cheaper rather than involving a third party. Indeed, Orderbook supports a\n direct \"take orders\" method that works similar to a \"market buy\". In the case\n of dynamic expression based ratios, it allows both order A and order B to\n clear non-interactively according to their strategy, trading off active\n management, dealing with front-running, MEV, etc. for zero-gas and\n exact-ratio clearance.\n The general invariant for clearing and take orders is:\n ```\n ratioA = InputA / OutputA\n ratioB = InputB / OutputB\n ratioA * ratioB = ( InputA * InputB ) / ( OutputA * OutputB )\n OutputA >= InputB\n OutputB >= InputA\n ∴ ratioA * ratioB <= 1\n ```\n Orderbook is `IERC3156FlashLender` compliant with a 0 fee flash loan\n implementation to allow external liquidity from other onchain DEXes to match\n against orderbook expressions. All deposited tokens across all vaults are\n available for flashloan, the flashloan MAY BE REPAID BY CALLING TAKE ORDER\n such that Orderbook's liability to its vaults is decreased by an incoming\n trade from the flashloan borrower. See `ZeroExOrderBookFlashBorrower` for\n an example of how this works in practise.\n Orderbook supports many to many input/output token relationship, for example\n some order can specify an array of stables it would be willing to accept in\n return for some ETH. This removes the need for a combinatorial explosion of\n order strategies between like assets but introduces the issue of token\n decimal handling. End users understand that \"one\" USDT is roughly equal to\n \"one\" DAI, but onchain this is incorrect by _12 orders of magnitude_. This\n is because \"one\" DAI is `1e18` tokens and \"one\" USDT is `1e6` tokens. The\n orderbook is allowing orders to deploy expressions that define _economic\n equivalence_ but this doesn't map 1:1 with numeric equivalence in a many to\n many setup behind token decimal convensions. The solution is to require that\n end users who place orders provide the decimals of each token they include\n in their valid IO lists, and to calculate all amounts and ratios in their\n expressions _as though they were 18 decimal fixed point values_. Orderbook\n will then automatically rescale the expression values before applying the\n final vault movements. If an order provides the \"wrong\" decimal values for\n some token then it will simply calculate its own ratios and amounts\n incorrectly which will either lead to no matching orders or a very bad trade\n for the order owner. There is no way that misrepresenting decimals can attack\n some other order by a counterparty. Orderbook DOES NOT read decimals from\n tokens onchain because A. this would be gas for an external call to a cold\n token contract and B. the ERC20 standard specifically states NOT to read\n decimals from the interface onchain.\n Token amounts and ratios returned by calculate order MUST be 18 decimal fixed\n point values. Token amounts input to handle IO MUST be the exact absolute\n values that move between the vaults, i.e. NOT rescaled to 18 decimals. The\n author of the handle IO expression MUST use the token decimals and amounts to\n rescale themselves if they want that logic, notably the expression author\n will need to specify the desired rounding behaviour in the rescaling process.\n When two orders clear there are NO TOKEN MOVEMENTS, only internal vault\n balances are updated from the input and output vaults. Typically this results\n in less gas per clear than calling external token transfers and also avoids\n issues with reentrancy, allowances, external balances etc. This also means\n that REBASING TOKENS AND TOKENS WITH DYNAMIC BALANCE ARE NOT SUPPORTED.\n Orderbook ONLY WORKS IF TOKEN BALANCES ARE 1:1 WITH ADDITION/SUBTRACTION PER\n VAULT MOVEMENT.\n Dust due to rounding errors always favours the order. Output max is rounded\n down and IO ratios are rounded up. Input and output amounts are always\n converted to absolute values before applying to vault balances such that\n orderbook always retains fully collateralised inventory of underlying token\n balances to support withdrawals, with the caveat that dynamic token balanes\n are not supported.\n When an order clears it is NOT removed. Orders remain active until the owner\n deactivates them. This is gas efficient as order owners MAY deposit more\n tokens in a vault with an order against it many times and the order strategy\n will continue to be clearable according to its expression. As vault IDs are\n `uint256` values there are effectively infinite possible vaults for any token\n so there is no limit to how many active orders any address can have at one\n time. This also allows orders to be daisy chained arbitrarily where output\n vaults for some order are the input vaults for some other order.\n Expression storage is namespaced by order owner, so gets and sets are unique\n to each onchain address. Order owners MUST TAKE CARE not to override their\n storage sets globally across all their orders, which they can do most simply\n by hashing the order hash into their get/set keys inside the expression. This\n gives maximum flexibility for shared state across orders without allowing\n order owners to attack and overwrite values stored by orders placed by their\n counterparty.\n Note that each order specifies its own interpreter and deployer so the\n owner is responsible for not corrupting their own calculations with bad\n interpreters. This also means the Orderbook MUST assume the interpreter, and\n notably the interpreter's store, is malicious and guard against reentrancy\n etc.\n As Orderbook supports any expression that can run on any `IInterpreterV1` and\n counterparties are available to the order, order strategies are free to\n implement KYC/membership, tracking, distributions, stock, buybacks, etc. etc.\n Main differences between `IOrderBookV2` and `IOderBookV3`:\n - Most structs are now primitives to save gas.\n - Order hash is `bytes32`.\n - `deposit` and `withdraw` MUST revert if the amount is zero.\n - adding an order MUST revert if there is no calculation entrypoint.\n - adding an order MUST revert if there is no handle IO entrypoint.\n - adding an order MUST revert if there are no inputs.\n - adding an order MUST revert if there are no outputs.\n - adding and removing orders MUST return a boolean indicating if the state\n changed.\n - new `orderExists` method." - }, - "fullyImplemented": false, - "linearizedBaseContracts": [ - 79289, - 55660, - 78980 - ], - "name": "IOrderBookV3", - "nameLocation": "13157:12:181", - "scope": 79290, - "usedErrors": [ - 79069, - 79078, - 79081, - 79084, - 79087, - 79090 - ] - } - ], - "license": "CAL" - }, - "id": 181 -} \ No newline at end of file diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index a099db7f9..96e5e3434 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -1,7 +1,7 @@ use alloy_primitives::Address; use alloy_sol_types::SolCall; -use crate::{orderbook::registry::IOrderBookV3::{IO, EvaluableConfigV3, OrderConfigV2, self}, interpreter::{get_disp, parse_rainstring}}; +use crate::{registry::IOrderBookV3::{IO, EvaluableConfigV3, OrderConfigV2, self}, interpreter::{get_disp, parse_rainstring}}; pub async fn add_ob_order( @@ -12,6 +12,8 @@ pub async fn add_ob_order( rpc_url: String ) -> anyhow::Result> { + + let (_,_,rain_parser) = get_disp(deployer_address.clone(),rpc_url.clone()).await.unwrap(); let (bytecode,constants) = parse_rainstring( rain_parser, diff --git a/orderbook-rs/src/orderbook/mod.rs b/orderbook-rs/src/orderbook/mod.rs index c2be38a50..f0cc9bd45 100644 --- a/orderbook-rs/src/orderbook/mod.rs +++ b/orderbook-rs/src/orderbook/mod.rs @@ -1,2 +1 @@ -pub mod registry; pub mod add_order; diff --git a/orderbook-rs/src/orderbook/registry.rs b/orderbook-rs/src/registry.rs similarity index 70% rename from orderbook-rs/src/orderbook/registry.rs rename to orderbook-rs/src/registry.rs index 4ed0059bb..a4b448fc1 100644 --- a/orderbook-rs/src/orderbook/registry.rs +++ b/orderbook-rs/src/registry.rs @@ -1,9 +1,10 @@ use alloy_sol_types::sol; use ethers::contract::abigen; -sol!(IOrderBookV3, "src/orderbook/abi/IOrderBookV3.json"); -abigen!(IParserV1, "src/interpreter/abi/IParserV1.json"); +sol!(IOrderBookV3, "src/abi/IOrderBookV3.json"); + +abigen!(IParserV1, "src/abi/IParserV1.json"); abigen!(IExpressionDeployerV3, r#"[ function iInterpreter() public view returns(address) From 5bb27f7f12bea64c29c23f160ac637d532fd273c Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 21:57:38 +0530 Subject: [PATCH 05/16] relative symlink --- orderbook-rs/src/abi/IOrderBookV3.json | 1 - orderbook-rs/src/abi/IOrderbookV3.json | 1 + orderbook-rs/src/abi/IParserV1.json | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 120000 orderbook-rs/src/abi/IOrderBookV3.json create mode 120000 orderbook-rs/src/abi/IOrderbookV3.json diff --git a/orderbook-rs/src/abi/IOrderBookV3.json b/orderbook-rs/src/abi/IOrderBookV3.json deleted file mode 120000 index 097b7fac5..000000000 --- a/orderbook-rs/src/abi/IOrderBookV3.json +++ /dev/null @@ -1 +0,0 @@ -/home/siddharth/Documents/rainprotocol/rain.orderbook/out/IOrderBookV3.sol/IOrderBookV3.json \ No newline at end of file diff --git a/orderbook-rs/src/abi/IOrderbookV3.json b/orderbook-rs/src/abi/IOrderbookV3.json new file mode 120000 index 000000000..9f7e28567 --- /dev/null +++ b/orderbook-rs/src/abi/IOrderbookV3.json @@ -0,0 +1 @@ +../../../out/IOrderBookV3.sol/IOrderBookV3.json \ No newline at end of file diff --git a/orderbook-rs/src/abi/IParserV1.json b/orderbook-rs/src/abi/IParserV1.json index 0a43adcb2..f0b0e9f97 120000 --- a/orderbook-rs/src/abi/IParserV1.json +++ b/orderbook-rs/src/abi/IParserV1.json @@ -1 +1 @@ -/home/siddharth/Documents/rainprotocol/rain.orderbook/out/IParserV1.sol/IParserV1.json \ No newline at end of file +../../../out/IParserV1.sol/IParserV1.json \ No newline at end of file From ead37cafb11ba2d134f70f69d4c686b9c0242c0c Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 21:58:04 +0530 Subject: [PATCH 06/16] fmt --- orderbook-rs/src/interpreter/mod.rs | 51 +++++++++------------ orderbook-rs/src/lib.rs | 7 +-- orderbook-rs/src/orderbook/add_order/mod.rs | 2 +- orderbook-rs/src/orderbook/add_order/v3.rs | 43 ++++++++--------- orderbook-rs/src/registry.rs | 5 +- orderbook-rs/src/transaction/mod.rs | 18 ++++---- 6 files changed, 58 insertions(+), 68 deletions(-) diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index 7611e10f8..7baa3d8a4 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -1,74 +1,67 @@ +use crate::registry::{IExpressionDeployerV3, IParserV1}; use alloy_primitives::{Address, Bytes, U256}; use anyhow::anyhow; -use crate::registry::{IExpressionDeployerV3, IParserV1}; -use std::str::FromStr; use ethers::{ - providers::{Http,Provider}, - types::H160 + providers::{Http, Provider}, + types::H160, }; +use std::str::FromStr; use std::sync::Arc; - pub async fn get_disp( deployer_npe2: Address, - rpc_url: String -) -> anyhow::Result<(Address, Address, Address)> { - + rpc_url: String, +) -> anyhow::Result<(Address, Address, Address)> { let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, Err(err) => { return Err(anyhow!(err)); } - }; + }; let deployer_npe2_address = H160::from_str(&deployer_npe2.to_string()).unwrap(); - let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); + let deployer_npe2 = + IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); - let interpreter: H160 = deployer_npe2.i_interpreter().call().await.unwrap(); - let store: H160 = deployer_npe2.i_store().call().await.unwrap(); - let parser: H160 = deployer_npe2.i_parser().call().await.unwrap(); + let interpreter: H160 = deployer_npe2.i_interpreter().call().await.unwrap(); + let store: H160 = deployer_npe2.i_store().call().await.unwrap(); + let parser: H160 = deployer_npe2.i_parser().call().await.unwrap(); let store = Address::new(store.to_fixed_bytes()); let intepreter = Address::new(interpreter.to_fixed_bytes()); let parser = Address::new(parser.to_fixed_bytes()); Ok((store, intepreter, parser)) - -} - +} pub async fn parse_rainstring( parser_address: Address, rainstring: String, - rpc_url: String -) -> anyhow::Result<(Bytes,Vec)> { - + rpc_url: String, +) -> anyhow::Result<(Bytes, Vec)> { let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, Err(err) => { return Err(anyhow!(err)); } - }; + }; let parser_address = H160::from_str(&parser_address.to_string()).unwrap(); let rain_parser = IParserV1::new(parser_address, Arc::new(provider.clone())); let (sources, constants) = rain_parser - .parse(ethers::types::Bytes::from( - rainstring.as_bytes().to_vec(), - )) + .parse(ethers::types::Bytes::from(rainstring.as_bytes().to_vec())) .call() .await .unwrap(); let bytecode_npe2 = Bytes::from(sources.to_vec()); - let mut constants_npe2: Vec = vec![]; - + let mut constants_npe2: Vec = vec![]; + for i in constants.into_iter() { constants_npe2.push(U256::from_str(i.to_string().as_str()).unwrap()); - } - - Ok((bytecode_npe2,constants_npe2)) + } -} \ No newline at end of file + Ok((bytecode_npe2, constants_npe2)) +} diff --git a/orderbook-rs/src/lib.rs b/orderbook-rs/src/lib.rs index a23175676..5ce8f5333 100644 --- a/orderbook-rs/src/lib.rs +++ b/orderbook-rs/src/lib.rs @@ -1,8 +1,5 @@ -pub mod orderbook; pub mod gasoracle; pub mod interpreter; -pub mod transaction; +pub mod orderbook; pub mod registry; - - - +pub mod transaction; diff --git a/orderbook-rs/src/orderbook/add_order/mod.rs b/orderbook-rs/src/orderbook/add_order/mod.rs index 1f5656c34..3c0bc30dd 100644 --- a/orderbook-rs/src/orderbook/add_order/mod.rs +++ b/orderbook-rs/src/orderbook/add_order/mod.rs @@ -1 +1 @@ -pub mod v3; \ No newline at end of file +pub mod v3; diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index 96e5e3434..d37e0a790 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -1,42 +1,43 @@ use alloy_primitives::Address; use alloy_sol_types::SolCall; -use crate::{registry::IOrderBookV3::{IO, EvaluableConfigV3, OrderConfigV2, self}, interpreter::{get_disp, parse_rainstring}}; - +use crate::{ + interpreter::{get_disp, parse_rainstring}, + registry::IOrderBookV3::{self, EvaluableConfigV3, OrderConfigV2, IO}, +}; pub async fn add_ob_order( deployer_address: Address, input_vaults: Vec, output_vaults: Vec, rainlang_order_string: String, - rpc_url: String + rpc_url: String, ) -> anyhow::Result> { - - - - let (_,_,rain_parser) = get_disp(deployer_address.clone(),rpc_url.clone()).await.unwrap(); - let (bytecode,constants) = parse_rainstring( - rain_parser, - rainlang_order_string, - rpc_url.clone() - ).await.unwrap(); - - let evaluable_config = EvaluableConfigV3{ + let (_, _, rain_parser) = get_disp(deployer_address.clone(), rpc_url.clone()) + .await + .unwrap(); + let (bytecode, constants) = + parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()) + .await + .unwrap(); + + let evaluable_config = EvaluableConfigV3 { deployer: deployer_address, bytecode: bytecode.to_vec(), - constants: constants + constants: constants, }; - let order_config = OrderConfigV2{ + let order_config = OrderConfigV2 { validInputs: input_vaults, validOutputs: output_vaults, evaluableConfig: evaluable_config, - meta: vec![] + meta: vec![], }; - let add_order_data = IOrderBookV3::addOrderCall{ - config: order_config - }.abi_encode(); + let add_order_data = IOrderBookV3::addOrderCall { + config: order_config, + } + .abi_encode(); Ok(add_order_data) -} \ No newline at end of file +} diff --git a/orderbook-rs/src/registry.rs b/orderbook-rs/src/registry.rs index a4b448fc1..b9878c457 100644 --- a/orderbook-rs/src/registry.rs +++ b/orderbook-rs/src/registry.rs @@ -1,15 +1,14 @@ use alloy_sol_types::sol; use ethers::contract::abigen; - sol!(IOrderBookV3, "src/abi/IOrderBookV3.json"); abigen!(IParserV1, "src/abi/IParserV1.json"); -abigen!(IExpressionDeployerV3, +abigen!( + IExpressionDeployerV3, r#"[ function iInterpreter() public view returns(address) function iStore() public view returns(address) function iParser() public view returns(address) ]"#, ); - diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index ec6962de7..8dc8928e4 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -4,14 +4,14 @@ use anyhow::anyhow; use ethers::prelude::SignerMiddleware; use ethers::{ providers::{Http, Middleware, Provider}, - types::{ Eip1559TransactionRequest, H160, U64}, + types::{Eip1559TransactionRequest, H160, U64}, utils::parse_units, }; use ethers_signers::Ledger; use std::str::FromStr; use tracing::{error, info}; -use crate::gasoracle::{is_block_native_supported, gas_price_oracle}; +use crate::gasoracle::{gas_price_oracle, is_block_native_supported}; pub async fn execute_transaction( tx_data: Vec, @@ -19,9 +19,8 @@ pub async fn execute_transaction( tx_value: U256, rpc_url: String, wallet: Ledger, - blocknative_api_key: Option + blocknative_api_key: Option, ) -> anyhow::Result<()> { - let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, Err(err) => { @@ -30,12 +29,12 @@ pub async fn execute_transaction( } }; - let chain_id = provider.clone().get_chainid().await.unwrap().as_u64(); + let chain_id = provider.clone().get_chainid().await.unwrap().as_u64(); let client = SignerMiddleware::new_with_provider_chain(provider, wallet).await?; let to_address = H160::from_str(&tx_to.to_string()).unwrap(); - let mut tx = Eip1559TransactionRequest::new(); + let mut tx = Eip1559TransactionRequest::new(); tx.to = Some(to_address.into()); tx.value = Some(ethers::types::U256::from_dec_str(tx_value.to_string().as_str()).unwrap()); @@ -46,7 +45,8 @@ pub async fn execute_transaction( let (max_priority, max_fee) = gas_price_oracle(blocknative_api_key, chain_id) .await .unwrap(); - let max_priority: ethers::types::U256 = parse_units(max_priority.to_string(), 9).unwrap().into(); + let max_priority: ethers::types::U256 = + parse_units(max_priority.to_string(), 9).unwrap().into(); let max_fee: ethers::types::U256 = parse_units(max_fee.to_string(), 9).unwrap().into(); tx.max_priority_fee_per_gas = Some(max_priority); @@ -80,7 +80,7 @@ pub async fn execute_transaction( Err(err) => { error!("TRANSACTION REJECTED : {}", err); } - } + } Ok(()) -} \ No newline at end of file +} From d999f4125a7d677e34196b9f7272bfb87cc6585d Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 21:59:23 +0530 Subject: [PATCH 07/16] fix symlink --- orderbook-rs/src/abi/{IOrderbookV3.json => IOrderBookV3.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename orderbook-rs/src/abi/{IOrderbookV3.json => IOrderBookV3.json} (100%) diff --git a/orderbook-rs/src/abi/IOrderbookV3.json b/orderbook-rs/src/abi/IOrderBookV3.json similarity index 100% rename from orderbook-rs/src/abi/IOrderbookV3.json rename to orderbook-rs/src/abi/IOrderBookV3.json From 54ea9815f3940d1c228c3b39c855ed289e4a295b Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sat, 23 Dec 2023 23:27:45 +0530 Subject: [PATCH 08/16] remove symlink --- orderbook-rs/src/abi/IOrderBookV3.json | 1 - orderbook-rs/src/abi/IParserV1.json | 1 - orderbook-rs/src/registry.rs | 4 ++-- 3 files changed, 2 insertions(+), 4 deletions(-) delete mode 120000 orderbook-rs/src/abi/IOrderBookV3.json delete mode 120000 orderbook-rs/src/abi/IParserV1.json diff --git a/orderbook-rs/src/abi/IOrderBookV3.json b/orderbook-rs/src/abi/IOrderBookV3.json deleted file mode 120000 index 9f7e28567..000000000 --- a/orderbook-rs/src/abi/IOrderBookV3.json +++ /dev/null @@ -1 +0,0 @@ -../../../out/IOrderBookV3.sol/IOrderBookV3.json \ No newline at end of file diff --git a/orderbook-rs/src/abi/IParserV1.json b/orderbook-rs/src/abi/IParserV1.json deleted file mode 120000 index f0b0e9f97..000000000 --- a/orderbook-rs/src/abi/IParserV1.json +++ /dev/null @@ -1 +0,0 @@ -../../../out/IParserV1.sol/IParserV1.json \ No newline at end of file diff --git a/orderbook-rs/src/registry.rs b/orderbook-rs/src/registry.rs index b9878c457..8ed8ab3ed 100644 --- a/orderbook-rs/src/registry.rs +++ b/orderbook-rs/src/registry.rs @@ -1,9 +1,9 @@ use alloy_sol_types::sol; use ethers::contract::abigen; -sol!(IOrderBookV3, "src/abi/IOrderBookV3.json"); +sol!(IOrderBookV3, "../out/IOrderBookV3.sol/IOrderBookV3.json"); -abigen!(IParserV1, "src/abi/IParserV1.json"); +abigen!(IParserV1, "../out/IParserV1.sol/IParserV1.json"); abigen!( IExpressionDeployerV3, r#"[ From a12e1374a6e939bb8c278d59e87f96b06d6b500a Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sun, 24 Dec 2023 14:47:33 +0530 Subject: [PATCH 09/16] update crate --- orderbook-rs/src/gasoracle/mod.rs | 4 -- orderbook-rs/src/interpreter/mod.rs | 47 ++++++++++++++++++---- orderbook-rs/src/orderbook/add_order/v3.rs | 23 ++++++++--- orderbook-rs/src/transaction/mod.rs | 29 +++++++------ 4 files changed, 75 insertions(+), 28 deletions(-) diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index 6a877e037..9dc64b530 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -2,10 +2,6 @@ use ethers::middleware::gas_oracle::GasCategory; use ethers::prelude::gas_oracle::blocknative::Response as BlockNativeResponse; use reqwest::{header::AUTHORIZATION, Client}; -pub fn is_block_native_supported(chain_id: u64) -> bool { - chain_id == 1 || chain_id == 137 -} - pub async fn gas_price_oracle( api_key: Option, chain_id: u64, diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index 7baa3d8a4..c41dd610b 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -7,6 +7,7 @@ use ethers::{ }; use std::str::FromStr; use std::sync::Arc; +use tracing::error; pub async fn get_disp( deployer_npe2: Address, @@ -15,6 +16,7 @@ pub async fn get_disp( let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, Err(err) => { + error!("INVALID RPC URL"); return Err(anyhow!(err)); } }; @@ -23,9 +25,27 @@ pub async fn get_disp( let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); - let interpreter: H160 = deployer_npe2.i_interpreter().call().await.unwrap(); - let store: H160 = deployer_npe2.i_store().call().await.unwrap(); - let parser: H160 = deployer_npe2.i_parser().call().await.unwrap(); + let interpreter = match deployer_npe2.i_interpreter().call().await{ + Ok(i_interpreter) => i_interpreter, + Err(err) => { + error!("iInterpreter"); + return Err(anyhow!(err)); + } + }; + let store = match deployer_npe2.i_store().call().await{ + Ok(i_store) => i_store, + Err(err) => { + error!("iStore"); + return Err(anyhow!(err)); + } + }; + let parser = match deployer_npe2.i_parser().call().await{ + Ok(i_parser) => i_parser, + Err(err) => { + error!("iParser"); + return Err(anyhow!(err)); + } + }; let store = Address::new(store.to_fixed_bytes()); let intepreter = Address::new(interpreter.to_fixed_bytes()); @@ -42,18 +62,31 @@ pub async fn parse_rainstring( let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, Err(err) => { + error!("INVALID RPC URL"); return Err(anyhow!(err)); } }; - let parser_address = H160::from_str(&parser_address.to_string()).unwrap(); + let parser_address = match H160::from_str(&parser_address.to_string()){ + Ok(parser) => parser, + Err(err) => { + error!("INVALID PARSER"); + return Err(anyhow!(err)); + } + }; let rain_parser = IParserV1::new(parser_address, Arc::new(provider.clone())); - let (sources, constants) = rain_parser + let (sources, constants) = match rain_parser .parse(ethers::types::Bytes::from(rainstring.as_bytes().to_vec())) .call() - .await - .unwrap(); + .await{ + Ok(parse_result) => parse_result, + Err(err) => { + error!("FAILED TO PARSE"); + return Err(anyhow!(err)); + } + }; + let bytecode_npe2 = Bytes::from(sources.to_vec()); diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index d37e0a790..dd567704d 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -1,10 +1,11 @@ use alloy_primitives::Address; use alloy_sol_types::SolCall; - +use anyhow::anyhow; use crate::{ interpreter::{get_disp, parse_rainstring}, registry::IOrderBookV3::{self, EvaluableConfigV3, OrderConfigV2, IO}, }; +use tracing::error; pub async fn add_ob_order( deployer_address: Address, @@ -13,13 +14,25 @@ pub async fn add_ob_order( rainlang_order_string: String, rpc_url: String, ) -> anyhow::Result> { - let (_, _, rain_parser) = get_disp(deployer_address.clone(), rpc_url.clone()) + let (_, _, rain_parser) = match get_disp(deployer_address.clone(), rpc_url.clone()) .await - .unwrap(); + { + Ok(parse_result) => parse_result, + Err(err) => { + error!("DISP"); + return Err(anyhow!(err)); + } + }; let (bytecode, constants) = - parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()) + match parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()) .await - .unwrap(); + { + Ok(parse_result) => parse_result, + Err(err) => { + error!("FAILED TO PARSE"); + return Err(anyhow!(err)); + } + }; let evaluable_config = EvaluableConfigV3 { deployer: deployer_address, diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index 8dc8928e4..e30e36eb2 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -9,9 +9,9 @@ use ethers::{ }; use ethers_signers::Ledger; use std::str::FromStr; -use tracing::{error, info}; +use tracing::{error, info, warn}; -use crate::gasoracle::{gas_price_oracle, is_block_native_supported}; +use crate::gasoracle::gas_price_oracle; pub async fn execute_transaction( tx_data: Vec, @@ -41,17 +41,22 @@ pub async fn execute_transaction( tx.data = Some(ethers::types::Bytes::from(tx_data)); tx.chain_id = Some(U64::from_dec_str(&chain_id.to_string()).unwrap()); - if is_block_native_supported(chain_id) { - let (max_priority, max_fee) = gas_price_oracle(blocknative_api_key, chain_id) - .await - .unwrap(); - let max_priority: ethers::types::U256 = - parse_units(max_priority.to_string(), 9).unwrap().into(); - let max_fee: ethers::types::U256 = parse_units(max_fee.to_string(), 9).unwrap().into(); - tx.max_priority_fee_per_gas = Some(max_priority); - tx.max_fee_per_gas = Some(max_fee); - } + match gas_price_oracle(blocknative_api_key, chain_id) + .await{ + Ok((max_priority, max_fee)) => { + let max_priority: ethers::types::U256 = + parse_units(max_priority.to_string(), 9).unwrap().into(); + let max_fee: ethers::types::U256 = parse_units(max_fee.to_string(), 9).unwrap().into(); + + tx.max_priority_fee_per_gas = Some(max_priority); + tx.max_fee_per_gas = Some(max_fee); + }, + Err(_) => { + warn!("BLOCKNATIVE UNSUPPORTED NETWORK"); + } + }; + let tx_result = client.send_transaction(tx, None).await; From d1379411bd60cd391c5c0a6df7f35661a2574091 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sun, 24 Dec 2023 16:22:22 +0530 Subject: [PATCH 10/16] doc --- orderbook-rs/src/gasoracle/mod.rs | 7 +++++++ orderbook-rs/src/interpreter/mod.rs | 12 ++++++++++++ orderbook-rs/src/orderbook/add_order/v3.rs | 11 +++++++++++ orderbook-rs/src/transaction/mod.rs | 10 ++++++++++ 4 files changed, 40 insertions(+) diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index 9dc64b530..7b633e6fe 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -2,6 +2,13 @@ use ethers::middleware::gas_oracle::GasCategory; use ethers::prelude::gas_oracle::blocknative::Response as BlockNativeResponse; use reqwest::{header::AUTHORIZATION, Client}; +/// Blocknative Gas Oracle. +/// Returns max priority fee and max fee from blocknative api. +/// +/// # Arguments +/// * `api_key` - Optional blocknative api key. +/// * `chain_id` - Network Chain Id. +/// pub async fn gas_price_oracle( api_key: Option, chain_id: u64, diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index c41dd610b..42ad8a1ac 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -9,6 +9,12 @@ use std::str::FromStr; use std::sync::Arc; use tracing::error; +/// Get RainInterpreterNPE2, RainterpreterStoreNPE2 and RainterpreterParserNPE2 addresses corresponding to a RainterpreterExpressionDeployerNPE2 contract. +/// +/// # Arguments +/// * `deployer_npe2` - Address of RainterpreterExpressionDeployerNPE2. +/// * `rpc_url` - Network RPC URL. +/// pub async fn get_disp( deployer_npe2: Address, rpc_url: String, @@ -54,6 +60,12 @@ pub async fn get_disp( Ok((store, intepreter, parser)) } +/// Parses rainlang expression string with RainterpreterParserNPE2 and returns the expression bytecode and constants +/// +/// # Arguments +/// * `parser_address` - RainterpreterParserNPE2 address. +/// * `rainstring` - Rainlang Expression string. +/// * `rpc_url` - Network RPC URL. pub async fn parse_rainstring( parser_address: Address, rainstring: String, diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index dd567704d..6b2f17ab7 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -7,6 +7,17 @@ use crate::{ }; use tracing::error; +/// Returns [IOrderBookV3::addOrderCall] transaction data encoded with +/// the function selector, encoding [IOrderBookV3::OrderConfigV2] built from +/// the function parameters : Input Vaults, Output Vaults, and Order expression rainlang string. +/// +/// # Arguments +/// * `deployer_address` - Address of RainterpreterExpressionDeployerNPE2. +/// * `input_vaults` - [IOrderBookV3::IO] Order Input Vaults +/// * `output_vaults` - [IOrderBookV3::IO] Order Output Vaults +/// * `rainlang_order_string` - Order Expression String +/// * `rpc_url` - Network RPC URL +/// pub async fn add_ob_order( deployer_address: Address, input_vaults: Vec, diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index e30e36eb2..61d239d0f 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -13,6 +13,16 @@ use tracing::{error, info, warn}; use crate::gasoracle::gas_price_oracle; +/// Sign and submit transaction on chain via [Ledger] wallet. +/// +/// # Arguments +/// * `tx_data` - Abi encoded transaction data, encoded with the function selector. +/// * `tx_to` - [Eip1559TransactionRequest::to] +/// * `tx_value` - [Eip1559TransactionRequest::value] +/// * `rpc_url` - Network RPC +/// * `wallet` - [Ledger] wallet instance +/// * `blocknative_api_key` - Optional Blocknative API Key. +/// pub async fn execute_transaction( tx_data: Vec, tx_to: Address, From 192f30d494a502ed30d4e4f88646f35f9cfb8816 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Sun, 24 Dec 2023 16:22:37 +0530 Subject: [PATCH 11/16] fmt --- orderbook-rs/src/gasoracle/mod.rs | 4 +-- orderbook-rs/src/interpreter/mod.rs | 30 +++++++++--------- orderbook-rs/src/orderbook/add_order/v3.rs | 36 ++++++++++------------ orderbook-rs/src/transaction/mod.rs | 31 +++++++++---------- 4 files changed, 47 insertions(+), 54 deletions(-) diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index 7b633e6fe..82ed7510c 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -4,11 +4,11 @@ use reqwest::{header::AUTHORIZATION, Client}; /// Blocknative Gas Oracle. /// Returns max priority fee and max fee from blocknative api. -/// +/// /// # Arguments /// * `api_key` - Optional blocknative api key. /// * `chain_id` - Network Chain Id. -/// +/// pub async fn gas_price_oracle( api_key: Option, chain_id: u64, diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index 42ad8a1ac..5a027d66a 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -10,11 +10,11 @@ use std::sync::Arc; use tracing::error; /// Get RainInterpreterNPE2, RainterpreterStoreNPE2 and RainterpreterParserNPE2 addresses corresponding to a RainterpreterExpressionDeployerNPE2 contract. -/// +/// /// # Arguments /// * `deployer_npe2` - Address of RainterpreterExpressionDeployerNPE2. /// * `rpc_url` - Network RPC URL. -/// +/// pub async fn get_disp( deployer_npe2: Address, rpc_url: String, @@ -31,21 +31,21 @@ pub async fn get_disp( let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); - let interpreter = match deployer_npe2.i_interpreter().call().await{ + let interpreter = match deployer_npe2.i_interpreter().call().await { Ok(i_interpreter) => i_interpreter, Err(err) => { error!("iInterpreter"); return Err(anyhow!(err)); } }; - let store = match deployer_npe2.i_store().call().await{ + let store = match deployer_npe2.i_store().call().await { Ok(i_store) => i_store, Err(err) => { error!("iStore"); return Err(anyhow!(err)); } }; - let parser = match deployer_npe2.i_parser().call().await{ + let parser = match deployer_npe2.i_parser().call().await { Ok(i_parser) => i_parser, Err(err) => { error!("iParser"); @@ -61,7 +61,7 @@ pub async fn get_disp( } /// Parses rainlang expression string with RainterpreterParserNPE2 and returns the expression bytecode and constants -/// +/// /// # Arguments /// * `parser_address` - RainterpreterParserNPE2 address. /// * `rainstring` - Rainlang Expression string. @@ -79,7 +79,7 @@ pub async fn parse_rainstring( } }; - let parser_address = match H160::from_str(&parser_address.to_string()){ + let parser_address = match H160::from_str(&parser_address.to_string()) { Ok(parser) => parser, Err(err) => { error!("INVALID PARSER"); @@ -91,14 +91,14 @@ pub async fn parse_rainstring( let (sources, constants) = match rain_parser .parse(ethers::types::Bytes::from(rainstring.as_bytes().to_vec())) .call() - .await{ - Ok(parse_result) => parse_result, - Err(err) => { - error!("FAILED TO PARSE"); - return Err(anyhow!(err)); - } - }; - + .await + { + Ok(parse_result) => parse_result, + Err(err) => { + error!("FAILED TO PARSE"); + return Err(anyhow!(err)); + } + }; let bytecode_npe2 = Bytes::from(sources.to_vec()); diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index 6b2f17ab7..d28c7d8cd 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -1,23 +1,23 @@ -use alloy_primitives::Address; -use alloy_sol_types::SolCall; -use anyhow::anyhow; use crate::{ interpreter::{get_disp, parse_rainstring}, registry::IOrderBookV3::{self, EvaluableConfigV3, OrderConfigV2, IO}, }; +use alloy_primitives::Address; +use alloy_sol_types::SolCall; +use anyhow::anyhow; use tracing::error; -/// Returns [IOrderBookV3::addOrderCall] transaction data encoded with +/// Returns [IOrderBookV3::addOrderCall] transaction data encoded with /// the function selector, encoding [IOrderBookV3::OrderConfigV2] built from /// the function parameters : Input Vaults, Output Vaults, and Order expression rainlang string. -/// +/// /// # Arguments /// * `deployer_address` - Address of RainterpreterExpressionDeployerNPE2. /// * `input_vaults` - [IOrderBookV3::IO] Order Input Vaults /// * `output_vaults` - [IOrderBookV3::IO] Order Output Vaults /// * `rainlang_order_string` - Order Expression String /// * `rpc_url` - Network RPC URL -/// +/// pub async fn add_ob_order( deployer_address: Address, input_vaults: Vec, @@ -25,25 +25,21 @@ pub async fn add_ob_order( rainlang_order_string: String, rpc_url: String, ) -> anyhow::Result> { - let (_, _, rain_parser) = match get_disp(deployer_address.clone(), rpc_url.clone()) - .await - { + let (_, _, rain_parser) = match get_disp(deployer_address.clone(), rpc_url.clone()).await { + Ok(parse_result) => parse_result, + Err(err) => { + error!("DISP"); + return Err(anyhow!(err)); + } + }; + let (bytecode, constants) = + match parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()).await { Ok(parse_result) => parse_result, Err(err) => { - error!("DISP"); + error!("FAILED TO PARSE"); return Err(anyhow!(err)); } }; - let (bytecode, constants) = - match parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()) - .await - { - Ok(parse_result) => parse_result, - Err(err) => { - error!("FAILED TO PARSE"); - return Err(anyhow!(err)); - } - }; let evaluable_config = EvaluableConfigV3 { deployer: deployer_address, diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index 61d239d0f..0ad14f5e5 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -14,15 +14,15 @@ use tracing::{error, info, warn}; use crate::gasoracle::gas_price_oracle; /// Sign and submit transaction on chain via [Ledger] wallet. -/// -/// # Arguments +/// +/// # Arguments /// * `tx_data` - Abi encoded transaction data, encoded with the function selector. /// * `tx_to` - [Eip1559TransactionRequest::to] /// * `tx_value` - [Eip1559TransactionRequest::value] /// * `rpc_url` - Network RPC /// * `wallet` - [Ledger] wallet instance /// * `blocknative_api_key` - Optional Blocknative API Key. -/// +/// pub async fn execute_transaction( tx_data: Vec, tx_to: Address, @@ -51,22 +51,19 @@ pub async fn execute_transaction( tx.data = Some(ethers::types::Bytes::from(tx_data)); tx.chain_id = Some(U64::from_dec_str(&chain_id.to_string()).unwrap()); + match gas_price_oracle(blocknative_api_key, chain_id).await { + Ok((max_priority, max_fee)) => { + let max_priority: ethers::types::U256 = + parse_units(max_priority.to_string(), 9).unwrap().into(); + let max_fee: ethers::types::U256 = parse_units(max_fee.to_string(), 9).unwrap().into(); - match gas_price_oracle(blocknative_api_key, chain_id) - .await{ - Ok((max_priority, max_fee)) => { - let max_priority: ethers::types::U256 = - parse_units(max_priority.to_string(), 9).unwrap().into(); - let max_fee: ethers::types::U256 = parse_units(max_fee.to_string(), 9).unwrap().into(); - - tx.max_priority_fee_per_gas = Some(max_priority); - tx.max_fee_per_gas = Some(max_fee); - }, - Err(_) => { - warn!("BLOCKNATIVE UNSUPPORTED NETWORK"); - } + tx.max_priority_fee_per_gas = Some(max_priority); + tx.max_fee_per_gas = Some(max_fee); + } + Err(_) => { + warn!("BLOCKNATIVE UNSUPPORTED NETWORK"); + } }; - let tx_result = client.send_transaction(tx, None).await; From 8be3a1f9649c03bd43c38471ba0faf2637667a7f Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Wed, 27 Dec 2023 13:21:00 +0530 Subject: [PATCH 12/16] update --- orderbook-rs/Cargo.lock | 11 ++++-- orderbook-rs/Cargo.toml | 3 ++ orderbook-rs/src/errors.rs | 43 ++++++++++++++++++++++ orderbook-rs/src/gasoracle/mod.rs | 12 +++--- orderbook-rs/src/interpreter/mod.rs | 42 ++++++++++----------- orderbook-rs/src/lib.rs | 1 + orderbook-rs/src/orderbook/add_order/v3.rs | 13 +++---- orderbook-rs/src/transaction/mod.rs | 26 ++++++------- 8 files changed, 98 insertions(+), 53 deletions(-) create mode 100644 orderbook-rs/src/errors.rs diff --git a/orderbook-rs/Cargo.lock b/orderbook-rs/Cargo.lock index 980236e83..4d323ba52 100644 --- a/orderbook-rs/Cargo.lock +++ b/orderbook-rs/Cargo.lock @@ -2805,11 +2805,14 @@ dependencies = [ "hex", "reqwest", "rust-bigint", + "rustc-hex", "serde", "serde_bytes", + "thiserror", "tokio", "tracing", "tracing-subscriber", + "url", ] [[package]] @@ -3747,18 +3750,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3" dependencies = [ "proc-macro2", "quote", diff --git a/orderbook-rs/Cargo.toml b/orderbook-rs/Cargo.toml index 7e08e8669..f250a7ba9 100644 --- a/orderbook-rs/Cargo.toml +++ b/orderbook-rs/Cargo.toml @@ -25,3 +25,6 @@ alloy-primitives = { version = "0.5.3" } alloy-sol-types = { version = "0.5.3", features = ["json"] } alloy-dyn-abi = { version = "0.5.3"} hex = "0.4.3" +rustc-hex = "2.1.0" +url = "2.5.0" +thiserror = "1.0.52" \ No newline at end of file diff --git a/orderbook-rs/src/errors.rs b/orderbook-rs/src/errors.rs new file mode 100644 index 000000000..eec97296b --- /dev/null +++ b/orderbook-rs/src/errors.rs @@ -0,0 +1,43 @@ +use thiserror::Error; +use url::ParseError; +use ethers::contract::ContractError; +use ethers::providers::ProviderError; +use ethers::providers::{Http, Provider}; +use rustc_hex::FromHexError; +use ethers::middleware::signer::SignerMiddlewareError; +use ethers::signers::Ledger; + + +/// RainOrderbookError +/// Enum representing errors thrown by the crate +#[derive(Error, Debug)] +pub enum RainOrderbookError{ + #[error("Invalid RPC URL")] + InvalidRPC{ + #[from] + source: ParseError + }, + #[error("Invalid Contract Function Call")] + InvalidContractFunctionCall{ + #[from] + source: ContractError> + }, + #[error("Invalid Address")] + InvalidAddress{ + #[from] + source: FromHexError + }, + #[error("Failed to confirm transaction")] + TransactionConfirmationError{ + #[from] + source: ProviderError + }, + #[error("Error in Transaction")] + TransactionError{ + #[from] + source: SignerMiddlewareError, Ledger> + }, + #[error("Failed to fetch Transaction Receipt")] + TransactionReceiptError, + +} \ No newline at end of file diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index 82ed7510c..6d9ce8663 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -1,6 +1,10 @@ use ethers::middleware::gas_oracle::GasCategory; use ethers::prelude::gas_oracle::blocknative::Response as BlockNativeResponse; use reqwest::{header::AUTHORIZATION, Client}; +use url::Url; + +/// Bloacknative Base Url for fetching blockprices +static BLOCKNATIVE_BLOCKPRICES_URL: &'static str = "https://api.blocknative.com/gasprices/blockprices"; /// Blocknative Gas Oracle. /// Returns max priority fee and max fee from blocknative api. @@ -13,11 +17,9 @@ pub async fn gas_price_oracle( api_key: Option, chain_id: u64, ) -> anyhow::Result<(f64, f64)> { - let client = Client::new(); - let url = format!( - "{}{}", - "https://api.blocknative.com/gasprices/blockprices?chainid=", chain_id - ); + let client = Client::new(); + let mut url = Url::parse(BLOCKNATIVE_BLOCKPRICES_URL.into())? ; + url.set_query(Some(format!("chainid={}",chain_id).as_str())); let mut request = client.get(url); if let Some(api_key) = api_key.as_ref() { request = request.header(AUTHORIZATION, api_key); diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index 5a027d66a..ee252603a 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -1,13 +1,11 @@ -use crate::registry::{IExpressionDeployerV3, IParserV1}; +use crate::{registry::{IExpressionDeployerV3, IParserV1}, errors::RainOrderbookError}; use alloy_primitives::{Address, Bytes, U256}; -use anyhow::anyhow; use ethers::{ providers::{Http, Provider}, types::H160, }; use std::str::FromStr; use std::sync::Arc; -use tracing::error; /// Get RainInterpreterNPE2, RainterpreterStoreNPE2 and RainterpreterParserNPE2 addresses corresponding to a RainterpreterExpressionDeployerNPE2 contract. /// @@ -18,38 +16,39 @@ use tracing::error; pub async fn get_disp( deployer_npe2: Address, rpc_url: String, -) -> anyhow::Result<(Address, Address, Address)> { +) -> Result<(Address, Address, Address),RainOrderbookError> { let provider = match Provider::::try_from(rpc_url.clone()) { - Ok(provider) => provider, - Err(err) => { - error!("INVALID RPC URL"); - return Err(anyhow!(err)); + Ok(provider) => provider, + Err(err) => { + return Err(RainOrderbookError::InvalidRPC { source: err }) } }; - let deployer_npe2_address = H160::from_str(&deployer_npe2.to_string()).unwrap(); + let deployer_npe2_address = match H160::from_str(&deployer_npe2.to_string()){ + Ok(deployer) => deployer, + Err(err) => { + return Err(RainOrderbookError::InvalidAddress { source: err }) + } + }; let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); let interpreter = match deployer_npe2.i_interpreter().call().await { Ok(i_interpreter) => i_interpreter, - Err(err) => { - error!("iInterpreter"); - return Err(anyhow!(err)); + Err(err) => { + return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) } }; let store = match deployer_npe2.i_store().call().await { Ok(i_store) => i_store, Err(err) => { - error!("iStore"); - return Err(anyhow!(err)); + return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) } }; let parser = match deployer_npe2.i_parser().call().await { Ok(i_parser) => i_parser, Err(err) => { - error!("iParser"); - return Err(anyhow!(err)); + return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) } }; @@ -70,20 +69,18 @@ pub async fn parse_rainstring( parser_address: Address, rainstring: String, rpc_url: String, -) -> anyhow::Result<(Bytes, Vec)> { +) -> Result<(Bytes, Vec),RainOrderbookError> { let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, Err(err) => { - error!("INVALID RPC URL"); - return Err(anyhow!(err)); + return Err(RainOrderbookError::InvalidRPC { source: err }) } }; let parser_address = match H160::from_str(&parser_address.to_string()) { Ok(parser) => parser, Err(err) => { - error!("INVALID PARSER"); - return Err(anyhow!(err)); + return Err(RainOrderbookError::InvalidAddress { source: err }) } }; let rain_parser = IParserV1::new(parser_address, Arc::new(provider.clone())); @@ -95,8 +92,7 @@ pub async fn parse_rainstring( { Ok(parse_result) => parse_result, Err(err) => { - error!("FAILED TO PARSE"); - return Err(anyhow!(err)); + return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) } }; diff --git a/orderbook-rs/src/lib.rs b/orderbook-rs/src/lib.rs index 5ce8f5333..2b3144349 100644 --- a/orderbook-rs/src/lib.rs +++ b/orderbook-rs/src/lib.rs @@ -3,3 +3,4 @@ pub mod interpreter; pub mod orderbook; pub mod registry; pub mod transaction; +pub mod errors; diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index d28c7d8cd..988ef23f5 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -1,11 +1,10 @@ use crate::{ interpreter::{get_disp, parse_rainstring}, - registry::IOrderBookV3::{self, EvaluableConfigV3, OrderConfigV2, IO}, + registry::IOrderBookV3::{self, EvaluableConfigV3, OrderConfigV2, IO}, errors::RainOrderbookError, }; use alloy_primitives::Address; use alloy_sol_types::SolCall; -use anyhow::anyhow; -use tracing::error; + /// Returns [IOrderBookV3::addOrderCall] transaction data encoded with /// the function selector, encoding [IOrderBookV3::OrderConfigV2] built from @@ -24,20 +23,18 @@ pub async fn add_ob_order( output_vaults: Vec, rainlang_order_string: String, rpc_url: String, -) -> anyhow::Result> { +) -> Result,RainOrderbookError> { let (_, _, rain_parser) = match get_disp(deployer_address.clone(), rpc_url.clone()).await { Ok(parse_result) => parse_result, Err(err) => { - error!("DISP"); - return Err(anyhow!(err)); + return Err(err) } }; let (bytecode, constants) = match parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()).await { Ok(parse_result) => parse_result, Err(err) => { - error!("FAILED TO PARSE"); - return Err(anyhow!(err)); + return Err(err) } }; diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index 0ad14f5e5..c65db1035 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -1,7 +1,8 @@ use alloy_primitives::{Address, U256}; -use anyhow::anyhow; +// use anyhow::anyhow; use ethers::prelude::SignerMiddleware; +use ethers::types::TransactionReceipt; use ethers::{ providers::{Http, Middleware, Provider}, types::{Eip1559TransactionRequest, H160, U64}, @@ -9,8 +10,9 @@ use ethers::{ }; use ethers_signers::Ledger; use std::str::FromStr; -use tracing::{error, info, warn}; +use tracing::{info, warn}; +use crate::errors::RainOrderbookError; use crate::gasoracle::gas_price_oracle; /// Sign and submit transaction on chain via [Ledger] wallet. @@ -30,12 +32,11 @@ pub async fn execute_transaction( rpc_url: String, wallet: Ledger, blocknative_api_key: Option, -) -> anyhow::Result<()> { +) -> Result { let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, Err(err) => { - error!("INVALID RPC URL: {}", err); - return Err(anyhow!(err)); + return Err(RainOrderbookError::InvalidRPC { source: err }) } }; @@ -67,20 +68,18 @@ pub async fn execute_transaction( let tx_result = client.send_transaction(tx, None).await; - match tx_result { + let receipt = match tx_result { Ok(tx_result) => { info!("Transaction submitted. Awaiting block confirmations..."); let approve_receipt = match tx_result.confirmations(1).await { Ok(receipt) => match receipt { Some(receipt) => receipt, None => { - error!("FAILED TO FETCH RECEIPT"); - return Err(anyhow!("Failed to fetch receipt.")); + return Err(RainOrderbookError::TransactionReceiptError) } }, Err(err) => { - error!("FAILED TO CONFIRM TRANSACTION : {}", err); - return Err(anyhow!(err)); + return Err(RainOrderbookError::TransactionConfirmationError { source: err }) } }; info!("Transaction Confirmed!!"); @@ -88,11 +87,12 @@ pub async fn execute_transaction( "✅ Hash : 0x{}", hex::encode(approve_receipt.transaction_hash.as_bytes().to_vec()) ); + approve_receipt } Err(err) => { - error!("TRANSACTION REJECTED : {}", err); + return Err(RainOrderbookError::TransactionError { source: err }) } - } + }; - Ok(()) + Ok(receipt) } From ff9689cf24bc5179d1fc66bd1eb262e1efbaf6b6 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Wed, 27 Dec 2023 13:21:21 +0530 Subject: [PATCH 13/16] fmt --- orderbook-rs/src/errors.rs | 36 ++++++++--------- orderbook-rs/src/gasoracle/mod.rs | 9 +++-- orderbook-rs/src/interpreter/mod.rs | 45 ++++++++-------------- orderbook-rs/src/lib.rs | 2 +- orderbook-rs/src/orderbook/add_order/v3.rs | 14 +++---- orderbook-rs/src/transaction/mod.rs | 14 ++----- 6 files changed, 48 insertions(+), 72 deletions(-) diff --git a/orderbook-rs/src/errors.rs b/orderbook-rs/src/errors.rs index eec97296b..0d34a3430 100644 --- a/orderbook-rs/src/errors.rs +++ b/orderbook-rs/src/errors.rs @@ -1,43 +1,41 @@ -use thiserror::Error; -use url::ParseError; use ethers::contract::ContractError; +use ethers::middleware::signer::SignerMiddlewareError; use ethers::providers::ProviderError; use ethers::providers::{Http, Provider}; -use rustc_hex::FromHexError; -use ethers::middleware::signer::SignerMiddlewareError; use ethers::signers::Ledger; - +use rustc_hex::FromHexError; +use thiserror::Error; +use url::ParseError; /// RainOrderbookError /// Enum representing errors thrown by the crate -#[derive(Error, Debug)] -pub enum RainOrderbookError{ +#[derive(Error, Debug)] +pub enum RainOrderbookError { #[error("Invalid RPC URL")] - InvalidRPC{ + InvalidRPC { #[from] - source: ParseError + source: ParseError, }, #[error("Invalid Contract Function Call")] - InvalidContractFunctionCall{ + InvalidContractFunctionCall { #[from] - source: ContractError> + source: ContractError>, }, #[error("Invalid Address")] - InvalidAddress{ + InvalidAddress { #[from] - source: FromHexError + source: FromHexError, }, #[error("Failed to confirm transaction")] - TransactionConfirmationError{ + TransactionConfirmationError { #[from] - source: ProviderError + source: ProviderError, }, #[error("Error in Transaction")] - TransactionError{ + TransactionError { #[from] - source: SignerMiddlewareError, Ledger> + source: SignerMiddlewareError, Ledger>, }, #[error("Failed to fetch Transaction Receipt")] TransactionReceiptError, - -} \ No newline at end of file +} diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index 6d9ce8663..614f65c87 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -4,7 +4,8 @@ use reqwest::{header::AUTHORIZATION, Client}; use url::Url; /// Bloacknative Base Url for fetching blockprices -static BLOCKNATIVE_BLOCKPRICES_URL: &'static str = "https://api.blocknative.com/gasprices/blockprices"; +static BLOCKNATIVE_BLOCKPRICES_URL: &'static str = + "https://api.blocknative.com/gasprices/blockprices"; /// Blocknative Gas Oracle. /// Returns max priority fee and max fee from blocknative api. @@ -17,9 +18,9 @@ pub async fn gas_price_oracle( api_key: Option, chain_id: u64, ) -> anyhow::Result<(f64, f64)> { - let client = Client::new(); - let mut url = Url::parse(BLOCKNATIVE_BLOCKPRICES_URL.into())? ; - url.set_query(Some(format!("chainid={}",chain_id).as_str())); + let client = Client::new(); + let mut url = Url::parse(BLOCKNATIVE_BLOCKPRICES_URL.into())?; + url.set_query(Some(format!("chainid={}", chain_id).as_str())); let mut request = client.get(url); if let Some(api_key) = api_key.as_ref() { request = request.header(AUTHORIZATION, api_key); diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index ee252603a..a53cfd94b 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -1,4 +1,7 @@ -use crate::{registry::{IExpressionDeployerV3, IParserV1}, errors::RainOrderbookError}; +use crate::{ + errors::RainOrderbookError, + registry::{IExpressionDeployerV3, IParserV1}, +}; use alloy_primitives::{Address, Bytes, U256}; use ethers::{ providers::{Http, Provider}, @@ -16,40 +19,30 @@ use std::sync::Arc; pub async fn get_disp( deployer_npe2: Address, rpc_url: String, -) -> Result<(Address, Address, Address),RainOrderbookError> { +) -> Result<(Address, Address, Address), RainOrderbookError> { let provider = match Provider::::try_from(rpc_url.clone()) { - Ok(provider) => provider, - Err(err) => { - return Err(RainOrderbookError::InvalidRPC { source: err }) - } + Ok(provider) => provider, + Err(err) => return Err(RainOrderbookError::InvalidRPC { source: err }), }; - let deployer_npe2_address = match H160::from_str(&deployer_npe2.to_string()){ + let deployer_npe2_address = match H160::from_str(&deployer_npe2.to_string()) { Ok(deployer) => deployer, - Err(err) => { - return Err(RainOrderbookError::InvalidAddress { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidAddress { source: err }), }; let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); let interpreter = match deployer_npe2.i_interpreter().call().await { Ok(i_interpreter) => i_interpreter, - Err(err) => { - return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), }; let store = match deployer_npe2.i_store().call().await { Ok(i_store) => i_store, - Err(err) => { - return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), }; let parser = match deployer_npe2.i_parser().call().await { Ok(i_parser) => i_parser, - Err(err) => { - return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), }; let store = Address::new(store.to_fixed_bytes()); @@ -69,19 +62,15 @@ pub async fn parse_rainstring( parser_address: Address, rainstring: String, rpc_url: String, -) -> Result<(Bytes, Vec),RainOrderbookError> { +) -> Result<(Bytes, Vec), RainOrderbookError> { let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, - Err(err) => { - return Err(RainOrderbookError::InvalidRPC { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidRPC { source: err }), }; let parser_address = match H160::from_str(&parser_address.to_string()) { Ok(parser) => parser, - Err(err) => { - return Err(RainOrderbookError::InvalidAddress { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidAddress { source: err }), }; let rain_parser = IParserV1::new(parser_address, Arc::new(provider.clone())); @@ -91,9 +80,7 @@ pub async fn parse_rainstring( .await { Ok(parse_result) => parse_result, - Err(err) => { - return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), }; let bytecode_npe2 = Bytes::from(sources.to_vec()); diff --git a/orderbook-rs/src/lib.rs b/orderbook-rs/src/lib.rs index 2b3144349..267c235fd 100644 --- a/orderbook-rs/src/lib.rs +++ b/orderbook-rs/src/lib.rs @@ -1,6 +1,6 @@ +pub mod errors; pub mod gasoracle; pub mod interpreter; pub mod orderbook; pub mod registry; pub mod transaction; -pub mod errors; diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index 988ef23f5..193b8765e 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -1,11 +1,11 @@ use crate::{ + errors::RainOrderbookError, interpreter::{get_disp, parse_rainstring}, - registry::IOrderBookV3::{self, EvaluableConfigV3, OrderConfigV2, IO}, errors::RainOrderbookError, + registry::IOrderBookV3::{self, EvaluableConfigV3, OrderConfigV2, IO}, }; use alloy_primitives::Address; use alloy_sol_types::SolCall; - /// Returns [IOrderBookV3::addOrderCall] transaction data encoded with /// the function selector, encoding [IOrderBookV3::OrderConfigV2] built from /// the function parameters : Input Vaults, Output Vaults, and Order expression rainlang string. @@ -23,19 +23,15 @@ pub async fn add_ob_order( output_vaults: Vec, rainlang_order_string: String, rpc_url: String, -) -> Result,RainOrderbookError> { +) -> Result, RainOrderbookError> { let (_, _, rain_parser) = match get_disp(deployer_address.clone(), rpc_url.clone()).await { Ok(parse_result) => parse_result, - Err(err) => { - return Err(err) - } + Err(err) => return Err(err), }; let (bytecode, constants) = match parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()).await { Ok(parse_result) => parse_result, - Err(err) => { - return Err(err) - } + Err(err) => return Err(err), }; let evaluable_config = EvaluableConfigV3 { diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index c65db1035..3a749d96e 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -32,12 +32,10 @@ pub async fn execute_transaction( rpc_url: String, wallet: Ledger, blocknative_api_key: Option, -) -> Result { +) -> Result { let provider = match Provider::::try_from(rpc_url.clone()) { Ok(provider) => provider, - Err(err) => { - return Err(RainOrderbookError::InvalidRPC { source: err }) - } + Err(err) => return Err(RainOrderbookError::InvalidRPC { source: err }), }; let chain_id = provider.clone().get_chainid().await.unwrap().as_u64(); @@ -74,9 +72,7 @@ pub async fn execute_transaction( let approve_receipt = match tx_result.confirmations(1).await { Ok(receipt) => match receipt { Some(receipt) => receipt, - None => { - return Err(RainOrderbookError::TransactionReceiptError) - } + None => return Err(RainOrderbookError::TransactionReceiptError), }, Err(err) => { return Err(RainOrderbookError::TransactionConfirmationError { source: err }) @@ -89,9 +85,7 @@ pub async fn execute_transaction( ); approve_receipt } - Err(err) => { - return Err(RainOrderbookError::TransactionError { source: err }) - } + Err(err) => return Err(RainOrderbookError::TransactionError { source: err }), }; Ok(receipt) From f129759954a406f7c46f4c5ea6267d3aa52ecbed Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Wed, 27 Dec 2023 13:22:22 +0530 Subject: [PATCH 14/16] fix --- orderbook-rs/src/gasoracle/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index 614f65c87..a5ef5e7e5 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -26,8 +26,8 @@ pub async fn gas_price_oracle( request = request.header(AUTHORIZATION, api_key); } let response: BlockNativeResponse = request.send().await?.error_for_status()?.json().await?; - let fatest = response + let fastest = response .estimate_from_category(&GasCategory::Fastest) .unwrap(); - Ok((fatest.max_priority_fee_per_gas, fatest.max_fee_per_gas)) + Ok((fastest.max_priority_fee_per_gas, fastest.max_fee_per_gas)) } From 52533d7965f9b33afa7e190ba39d81caa3dafc1a Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Fri, 29 Dec 2023 17:44:58 +0530 Subject: [PATCH 15/16] clippy fix --- orderbook-rs/Cargo.toml | 5 ++- orderbook-rs/src/errors.rs | 32 ++++++---------- orderbook-rs/src/gasoracle/mod.rs | 4 +- orderbook-rs/src/interpreter/mod.rs | 44 +++++----------------- orderbook-rs/src/orderbook/add_order/v3.rs | 12 ++---- orderbook-rs/src/transaction/mod.rs | 41 ++++++++------------ 6 files changed, 45 insertions(+), 93 deletions(-) diff --git a/orderbook-rs/Cargo.toml b/orderbook-rs/Cargo.toml index f250a7ba9..2c2beff43 100644 --- a/orderbook-rs/Cargo.toml +++ b/orderbook-rs/Cargo.toml @@ -27,4 +27,7 @@ alloy-dyn-abi = { version = "0.5.3"} hex = "0.4.3" rustc-hex = "2.1.0" url = "2.5.0" -thiserror = "1.0.52" \ No newline at end of file +thiserror = "1.0.52" + +[lints.clippy] +all= "warn" \ No newline at end of file diff --git a/orderbook-rs/src/errors.rs b/orderbook-rs/src/errors.rs index 0d34a3430..7d223a0d2 100644 --- a/orderbook-rs/src/errors.rs +++ b/orderbook-rs/src/errors.rs @@ -12,30 +12,20 @@ use url::ParseError; #[derive(Error, Debug)] pub enum RainOrderbookError { #[error("Invalid RPC URL")] - InvalidRPC { - #[from] - source: ParseError, - }, + InvalidRPC(#[from] ParseError), + #[error("Invalid Contract Function Call")] - InvalidContractFunctionCall { - #[from] - source: ContractError>, - }, + InvalidContractFunctionCall(#[from] ContractError>), + #[error("Invalid Address")] - InvalidAddress { - #[from] - source: FromHexError, - }, + InvalidAddress(#[from] FromHexError), + #[error("Failed to confirm transaction")] - TransactionConfirmationError { - #[from] - source: ProviderError, - }, + TransactionConfirmationError(#[from] ProviderError), + #[error("Error in Transaction")] - TransactionError { - #[from] - source: SignerMiddlewareError, Ledger>, - }, + TransactionError(#[from] SignerMiddlewareError, Ledger>), + #[error("Failed to fetch Transaction Receipt")] - TransactionReceiptError, + TransactionReceiptError } diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index a5ef5e7e5..ba5c68230 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -4,7 +4,7 @@ use reqwest::{header::AUTHORIZATION, Client}; use url::Url; /// Bloacknative Base Url for fetching blockprices -static BLOCKNATIVE_BLOCKPRICES_URL: &'static str = +static BLOCKNATIVE_BLOCKPRICES_URL: &str = "https://api.blocknative.com/gasprices/blockprices"; /// Blocknative Gas Oracle. @@ -19,7 +19,7 @@ pub async fn gas_price_oracle( chain_id: u64, ) -> anyhow::Result<(f64, f64)> { let client = Client::new(); - let mut url = Url::parse(BLOCKNATIVE_BLOCKPRICES_URL.into())?; + let mut url = Url::parse(BLOCKNATIVE_BLOCKPRICES_URL)?; url.set_query(Some(format!("chainid={}", chain_id).as_str())); let mut request = client.get(url); if let Some(api_key) = api_key.as_ref() { diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index a53cfd94b..05b223315 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -20,30 +20,16 @@ pub async fn get_disp( deployer_npe2: Address, rpc_url: String, ) -> Result<(Address, Address, Address), RainOrderbookError> { - let provider = match Provider::::try_from(rpc_url.clone()) { - Ok(provider) => provider, - Err(err) => return Err(RainOrderbookError::InvalidRPC { source: err }), - }; - let deployer_npe2_address = match H160::from_str(&deployer_npe2.to_string()) { - Ok(deployer) => deployer, - Err(err) => return Err(RainOrderbookError::InvalidAddress { source: err }), - }; + let provider = Provider::::try_from(rpc_url.clone())?; + + let deployer_npe2_address = H160::from_str(&deployer_npe2.to_string())?; let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); - let interpreter = match deployer_npe2.i_interpreter().call().await { - Ok(i_interpreter) => i_interpreter, - Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), - }; - let store = match deployer_npe2.i_store().call().await { - Ok(i_store) => i_store, - Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), - }; - let parser = match deployer_npe2.i_parser().call().await { - Ok(i_parser) => i_parser, - Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), - }; + let interpreter = deployer_npe2.i_interpreter().call().await?; + let store = deployer_npe2.i_store().call().await?; + let parser = deployer_npe2.i_parser().call().await?; let store = Address::new(store.to_fixed_bytes()); let intepreter = Address::new(interpreter.to_fixed_bytes()); @@ -63,25 +49,15 @@ pub async fn parse_rainstring( rainstring: String, rpc_url: String, ) -> Result<(Bytes, Vec), RainOrderbookError> { - let provider = match Provider::::try_from(rpc_url.clone()) { - Ok(provider) => provider, - Err(err) => return Err(RainOrderbookError::InvalidRPC { source: err }), - }; + let provider = Provider::::try_from(rpc_url.clone())?; - let parser_address = match H160::from_str(&parser_address.to_string()) { - Ok(parser) => parser, - Err(err) => return Err(RainOrderbookError::InvalidAddress { source: err }), - }; + let parser_address = H160::from_str(&parser_address.to_string())?; let rain_parser = IParserV1::new(parser_address, Arc::new(provider.clone())); - let (sources, constants) = match rain_parser + let (sources, constants) = rain_parser .parse(ethers::types::Bytes::from(rainstring.as_bytes().to_vec())) .call() - .await - { - Ok(parse_result) => parse_result, - Err(err) => return Err(RainOrderbookError::InvalidContractFunctionCall { source: err }), - }; + .await?; let bytecode_npe2 = Bytes::from(sources.to_vec()); diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index 193b8765e..04e0fd9c9 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -24,20 +24,14 @@ pub async fn add_ob_order( rainlang_order_string: String, rpc_url: String, ) -> Result, RainOrderbookError> { - let (_, _, rain_parser) = match get_disp(deployer_address.clone(), rpc_url.clone()).await { - Ok(parse_result) => parse_result, - Err(err) => return Err(err), - }; + let (_, _, rain_parser) = get_disp(deployer_address, rpc_url.clone()).await?; let (bytecode, constants) = - match parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()).await { - Ok(parse_result) => parse_result, - Err(err) => return Err(err), - }; + parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()).await?; let evaluable_config = EvaluableConfigV3 { deployer: deployer_address, bytecode: bytecode.to_vec(), - constants: constants, + constants, }; let order_config = OrderConfigV2 { diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index 3a749d96e..953458efa 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -33,10 +33,7 @@ pub async fn execute_transaction( wallet: Ledger, blocknative_api_key: Option, ) -> Result { - let provider = match Provider::::try_from(rpc_url.clone()) { - Ok(provider) => provider, - Err(err) => return Err(RainOrderbookError::InvalidRPC { source: err }), - }; + let provider = Provider::::try_from(rpc_url.clone())?; let chain_id = provider.clone().get_chainid().await.unwrap().as_u64(); let client = SignerMiddleware::new_with_provider_chain(provider, wallet).await?; @@ -64,29 +61,21 @@ pub async fn execute_transaction( } }; - let tx_result = client.send_transaction(tx, None).await; + let pending_tx = client.send_transaction(tx, None).await?; - let receipt = match tx_result { - Ok(tx_result) => { - info!("Transaction submitted. Awaiting block confirmations..."); - let approve_receipt = match tx_result.confirmations(1).await { - Ok(receipt) => match receipt { - Some(receipt) => receipt, - None => return Err(RainOrderbookError::TransactionReceiptError), - }, - Err(err) => { - return Err(RainOrderbookError::TransactionConfirmationError { source: err }) - } - }; - info!("Transaction Confirmed!!"); - info!( - "✅ Hash : 0x{}", - hex::encode(approve_receipt.transaction_hash.as_bytes().to_vec()) - ); - approve_receipt - } - Err(err) => return Err(RainOrderbookError::TransactionError { source: err }), + info!("Transaction submitted. Awaiting block confirmations..."); + let tx_confimration = pending_tx.confirmations(1).await?; + + let tx_receipt = match tx_confimration { + Some(receipt) => receipt, + None => return Err(RainOrderbookError::TransactionReceiptError), }; + info!("Transaction Confirmed!!"); + info!( + "✅ Hash : 0x{}", + hex::encode(tx_receipt.transaction_hash.as_bytes()) + ); + Ok(tx_receipt) - Ok(receipt) + } From 221245d66bcf11639bfd095bb402ed27b96c6466 Mon Sep 17 00:00:00 2001 From: Siddharth2207 Date: Fri, 29 Dec 2023 17:45:20 +0530 Subject: [PATCH 16/16] fmt --- orderbook-rs/src/errors.rs | 12 ++++++------ orderbook-rs/src/gasoracle/mod.rs | 3 +-- orderbook-rs/src/interpreter/mod.rs | 3 +-- orderbook-rs/src/orderbook/add_order/v3.rs | 2 +- orderbook-rs/src/transaction/mod.rs | 6 ++---- 5 files changed, 11 insertions(+), 15 deletions(-) diff --git a/orderbook-rs/src/errors.rs b/orderbook-rs/src/errors.rs index 7d223a0d2..3d70a7661 100644 --- a/orderbook-rs/src/errors.rs +++ b/orderbook-rs/src/errors.rs @@ -12,20 +12,20 @@ use url::ParseError; #[derive(Error, Debug)] pub enum RainOrderbookError { #[error("Invalid RPC URL")] - InvalidRPC(#[from] ParseError), + InvalidRPC(#[from] ParseError), #[error("Invalid Contract Function Call")] - InvalidContractFunctionCall(#[from] ContractError>), + InvalidContractFunctionCall(#[from] ContractError>), #[error("Invalid Address")] - InvalidAddress(#[from] FromHexError), + InvalidAddress(#[from] FromHexError), #[error("Failed to confirm transaction")] - TransactionConfirmationError(#[from] ProviderError), + TransactionConfirmationError(#[from] ProviderError), #[error("Error in Transaction")] - TransactionError(#[from] SignerMiddlewareError, Ledger>), + TransactionError(#[from] SignerMiddlewareError, Ledger>), #[error("Failed to fetch Transaction Receipt")] - TransactionReceiptError + TransactionReceiptError, } diff --git a/orderbook-rs/src/gasoracle/mod.rs b/orderbook-rs/src/gasoracle/mod.rs index ba5c68230..b2d4dd64e 100644 --- a/orderbook-rs/src/gasoracle/mod.rs +++ b/orderbook-rs/src/gasoracle/mod.rs @@ -4,8 +4,7 @@ use reqwest::{header::AUTHORIZATION, Client}; use url::Url; /// Bloacknative Base Url for fetching blockprices -static BLOCKNATIVE_BLOCKPRICES_URL: &str = - "https://api.blocknative.com/gasprices/blockprices"; +static BLOCKNATIVE_BLOCKPRICES_URL: &str = "https://api.blocknative.com/gasprices/blockprices"; /// Blocknative Gas Oracle. /// Returns max priority fee and max fee from blocknative api. diff --git a/orderbook-rs/src/interpreter/mod.rs b/orderbook-rs/src/interpreter/mod.rs index 05b223315..6677d39d1 100644 --- a/orderbook-rs/src/interpreter/mod.rs +++ b/orderbook-rs/src/interpreter/mod.rs @@ -20,10 +20,9 @@ pub async fn get_disp( deployer_npe2: Address, rpc_url: String, ) -> Result<(Address, Address, Address), RainOrderbookError> { - let provider = Provider::::try_from(rpc_url.clone())?; - let deployer_npe2_address = H160::from_str(&deployer_npe2.to_string())?; + let deployer_npe2_address = H160::from_str(&deployer_npe2.to_string())?; let deployer_npe2 = IExpressionDeployerV3::new(deployer_npe2_address, Arc::new(provider.clone())); diff --git a/orderbook-rs/src/orderbook/add_order/v3.rs b/orderbook-rs/src/orderbook/add_order/v3.rs index 04e0fd9c9..25adcd234 100644 --- a/orderbook-rs/src/orderbook/add_order/v3.rs +++ b/orderbook-rs/src/orderbook/add_order/v3.rs @@ -26,7 +26,7 @@ pub async fn add_ob_order( ) -> Result, RainOrderbookError> { let (_, _, rain_parser) = get_disp(deployer_address, rpc_url.clone()).await?; let (bytecode, constants) = - parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()).await?; + parse_rainstring(rain_parser, rainlang_order_string, rpc_url.clone()).await?; let evaluable_config = EvaluableConfigV3 { deployer: deployer_address, diff --git a/orderbook-rs/src/transaction/mod.rs b/orderbook-rs/src/transaction/mod.rs index 953458efa..3087611fe 100644 --- a/orderbook-rs/src/transaction/mod.rs +++ b/orderbook-rs/src/transaction/mod.rs @@ -64,8 +64,8 @@ pub async fn execute_transaction( let pending_tx = client.send_transaction(tx, None).await?; info!("Transaction submitted. Awaiting block confirmations..."); - let tx_confimration = pending_tx.confirmations(1).await?; - + let tx_confimration = pending_tx.confirmations(1).await?; + let tx_receipt = match tx_confimration { Some(receipt) => receipt, None => return Err(RainOrderbookError::TransactionReceiptError), @@ -76,6 +76,4 @@ pub async fn execute_transaction( hex::encode(tx_receipt.transaction_hash.as_bytes()) ); Ok(tx_receipt) - - }