From 6f36165fa999253f0eaac1f67317d1909e384326 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux <hugo.trentesaux@lilo.org> Date: Wed, 31 Jan 2024 13:52:46 +0100 Subject: [PATCH] update to runtime 800 --- Cargo.lock | 2623 ++++++++------ Cargo.toml | 49 +- README.md | 17 +- doc/config.md | 4 +- res/indexer-queries.graphql | 24 +- res/indexer-schema.graphql | 6183 ++++++++++++++------------------- res/indexer-schema.json | 1 - res/metadata.scale | Bin 133159 -> 112080 bytes src/commands/certification.rs | 10 +- src/commands/cesium.rs | 26 +- src/commands/collective.rs | 32 +- src/commands/distance.rs | 45 +- src/commands/expire.rs | 46 +- src/commands/identity.rs | 119 +- src/commands/net_test.rs | 13 +- src/commands/runtime.rs | 179 +- src/commands/smith.rs | 146 +- src/commands/sudo.rs | 12 +- src/commands/transfer.rs | 6 +- src/data.rs | 6 +- src/display.rs | 67 +- src/indexer.rs | 31 +- src/main.rs | 2 +- src/runtime_config.rs | 1 + src/utils.rs | 5 +- 25 files changed, 4680 insertions(+), 4967 deletions(-) delete mode 100644 res/indexer-schema.json diff --git a/Cargo.lock b/Cargo.lock index fa0b05b..47e3d9c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,11 +14,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.26.2", + "gimli 0.27.3", ] [[package]] @@ -27,7 +27,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.28.0", + "gimli 0.28.1", ] [[package]] @@ -38,58 +38,33 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aead" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ + "crypto-common", "generic-array 0.14.7", ] -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher 0.3.0", - "cpufeatures", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aes-gcm" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" -dependencies = [ - "aead", - "aes", - "cipher 0.3.0", - "ctr", - "ghash", - "subtle", -] - [[package]] name = "ahash" version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ - "getrandom 0.2.10", + "getrandom", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if", - "getrandom 0.2.10", + "getrandom", "once_cell", "version_check", "zerocopy", @@ -104,6 +79,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -130,9 +111,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" dependencies = [ "anstyle", "anstyle-parse", @@ -144,49 +125,336 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220" [[package]] name = "anstyle-parse" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" + +[[package]] +name = "ark-bls12-377" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-bls12-377-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-models-ext", + "ark-std", +] + +[[package]] +name = "ark-bls12-381" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-bls12-381-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-models-ext", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-bw6-761" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-bw6-761-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" +dependencies = [ + "ark-bw6-761", + "ark-ec", + "ark-ff", + "ark-models-ext", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools 0.10.5", + "num-traits", + "rayon", + "zeroize", +] + +[[package]] +name = "ark-ed-on-bls12-377" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ed-on-bls12-377-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" +dependencies = [ + "ark-ec", + "ark-ed-on-bls12-377", + "ark-ff", + "ark-models-ext", + "ark-std", +] + +[[package]] +name = "ark-ed-on-bls12-381-bandersnatch" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ed-on-bls12-381-bandersnatch-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" +dependencies = [ + "ark-ec", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff", + "ark-models-ext", + "ark-std", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[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.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-models-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-scale" +version = "0.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "ark-secret-scalar" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "ark-transcript", + "digest 0.10.7", + "getrandom_or_panic", + "zeroize", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", + "rayon", +] + +[[package]] +name = "ark-transcript" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "digest 0.10.7", + "rand_core 0.6.4", + "sha3", +] [[package]] name = "array-bytes" -version = "4.2.0" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" +checksum = "6f840fb7195bcfc5e17ea40c26e5ce6d5b9ce5d584466e17703209657e459ae0" [[package]] name = "arrayref" @@ -223,79 +491,59 @@ checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" [[package]] name = "async-channel" -version = "1.9.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" dependencies = [ "concurrent-queue", - "event-listener 2.5.3", + "event-listener 4.0.3", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0" +checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ - "async-lock", + "async-lock 3.3.0", "async-task", "concurrent-queue", - "fastrand 2.0.1", + "fastrand", "futures-lite", "slab", ] [[package]] name = "async-fs" -version = "1.6.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +checksum = "dd1f344136bad34df1f83a47f3fd7f2ab85d75cb8a940af4ccf6d482a84ea01b" dependencies = [ - "async-lock", - "autocfg", + "async-lock 3.3.0", "blocking", "futures-lite", ] [[package]] name = "async-io" -version = "1.13.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" dependencies = [ - "async-lock", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite", - "log", - "parking", - "polling 2.8.0", - "rustix 0.37.27", - "slab", - "socket2 0.4.10", - "waker-fn", -] - -[[package]] -name = "async-io" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10da8f3146014722c89e7859e1d7bb97873125d7346d10ca642ffab794355828" -dependencies = [ - "async-lock", + "async-lock 3.3.0", "cfg-if", "concurrent-queue", "futures-io", "futures-lite", "parking", - "polling 3.3.0", - "rustix 0.38.21", + "polling", + "rustix 0.38.30", "slab", "tracing", - "waker-fn", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -307,32 +555,44 @@ dependencies = [ "event-listener 2.5.3", ] +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy", + "pin-project-lite", +] + [[package]] name = "async-net" -version = "1.8.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" dependencies = [ - "async-io 1.13.0", + "async-io", "blocking", "futures-lite", ] [[package]] name = "async-process" -version = "1.8.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +checksum = "15c1cd5d253ecac3d3cf15e390fd96bd92a13b1d14497d81abf077304794fb04" dependencies = [ - "async-io 1.13.0", - "async-lock", + "async-channel", + "async-io", + "async-lock 3.3.0", "async-signal", "blocking", "cfg-if", - "event-listener 3.0.1", + "event-listener 4.0.3", "futures-lite", - "rustix 0.38.21", - "windows-sys 0.48.0", + "rustix 0.38.30", + "windows-sys 0.52.0", ] [[package]] @@ -341,13 +601,13 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.1.0", - "async-lock", + "async-io", + "async-lock 2.8.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.21", + "rustix 0.38.30", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -355,26 +615,26 @@ dependencies = [ [[package]] name = "async-task" -version = "4.5.0" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] -name = "atomic" -version = "0.5.3" +name = "atomic-take" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" +checksum = "a8ab6b55fe97976e46f91ddbed8d147d966475dc29b2032757ba47e02376fbc3" [[package]] name = "atomic-waker" @@ -399,10 +659,33 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.32.1", + "object 0.32.2", "rustc-demangle", ] +[[package]] +name = "bandersnatch_vrfs" +version = "0.0.4" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff", + "ark-serialize", + "ark-std", + "dleq_vrf", + "fflonk", + "merlin 3.0.0", + "rand_chacha", + "rand_core 0.6.4", + "ring 0.1.0", + "sha2 0.10.8", + "sp-ark-bls12-381", + "sp-ark-ed-on-bls12-381-bandersnatch", + "zeroize", +] + [[package]] name = "base58" version = "0.2.0" @@ -417,9 +700,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64ct" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "beef" @@ -446,6 +735,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" dependencies = [ "bitcoin_hashes", + "rand", + "rand_core 0.6.4", + "serde", + "unicode-normalization", ] [[package]] @@ -462,9 +755,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "bitvec" @@ -549,14 +842,14 @@ dependencies = [ [[package]] name = "blocking" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ "async-channel", - "async-lock", + "async-lock 3.3.0", "async-task", - "fastrand 2.0.1", + "fastrand", "futures-io", "futures-lite", "piper", @@ -575,12 +868,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - [[package]] name = "bs58" version = "0.5.0" @@ -637,48 +924,25 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chacha20" -version = "0.8.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher", "cpufeatures", - "zeroize", -] - -[[package]] -name = "chacha20poly1305" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" -dependencies = [ - "aead", - "chacha20", - "cipher 0.3.0", - "poly1305", - "zeroize", ] [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", - "windows-targets 0.48.5", -] - -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array 0.14.7", + "windows-targets 0.52.0", ] [[package]] @@ -693,9 +957,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.7" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" +checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" dependencies = [ "clap_builder", "clap_derive", @@ -703,9 +967,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.7" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" +checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" dependencies = [ "anstream", "anstyle", @@ -722,7 +986,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -750,11 +1014,33 @@ dependencies = [ "unreachable", ] +[[package]] +name = "common" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "fflonk", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_chacha", +] + +[[package]] +name = "common-path" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" + [[package]] name = "concurrent-queue" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ "crossbeam-utils", ] @@ -768,9 +1054,15 @@ dependencies = [ "directories", "serde", "thiserror", - "toml", + "toml 0.5.11", ] +[[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" @@ -783,6 +1075,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +[[package]] +name = "constcat" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" + [[package]] name = "convert_case" version = "0.4.0" @@ -791,9 +1089,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -801,9 +1099,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpp_demangle" @@ -816,18 +1114,18 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[package]] name = "cranelift-entity" -version = "0.93.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f42ea692c7b450ad18b8c9889661505d51c09ec4380cf1c2d278dbb2da22cae1" +checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" dependencies = [ "serde", ] @@ -842,24 +1140,39 @@ dependencies = [ ] [[package]] -name = "crossbeam-queue" -version = "0.3.8" +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", + "crossbeam-epoch", "crossbeam-utils", ] [[package]] -name = "crossbeam-utils" -version = "0.8.16" +name = "crossbeam-epoch" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "cfg-if", + "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + [[package]] name = "crunchy" version = "0.2.2" @@ -873,6 +1186,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", + "rand_core 0.6.4", "typenum", ] @@ -888,23 +1202,14 @@ dependencies = [ [[package]] name = "crypto-mac" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" dependencies = [ "generic-array 0.14.7", "subtle", ] -[[package]] -name = "ctr" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher 0.3.0", -] - [[package]] name = "curve25519-dalek" version = "2.1.3" @@ -940,6 +1245,7 @@ dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", + "digest 0.10.7", "fiat-crypto", "platforms", "rustc_version", @@ -955,20 +1261,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", -] - -[[package]] -name = "curve25519-dalek-ng" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.6.4", - "subtle-ng", - "zeroize", + "syn 2.0.48", ] [[package]] @@ -983,12 +1276,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" dependencies = [ - "darling_core 0.20.3", - "darling_macro 0.20.3", + "darling_core 0.20.5", + "darling_macro 0.20.5", ] [[package]] @@ -1007,16 +1300,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -1025,20 +1318,30 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ - "darling_core 0.14.4", + "darling_core 0.14.4", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" +dependencies = [ + "darling_core 0.20.5", "quote", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] -name = "darling_macro" -version = "0.20.3" +name = "der" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ - "darling_core 0.20.3", - "quote", - "syn 2.0.38", + "const-oid", + "zeroize", ] [[package]] @@ -1052,6 +1355,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -1114,6 +1428,49 @@ dependencies = [ "winapi", ] +[[package]] +name = "dleq_vrf" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-scale", + "ark-secret-scalar", + "ark-serialize", + "ark-std", + "ark-transcript", + "arrayvec 0.7.4", + "zeroize", +] + +[[package]] +name = "docify" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cc4fd38aaa9fb98ac70794c82a00360d1e165a87fbf96a8a91f9dfc602aaee2" +dependencies = [ + "docify_macros", +] + +[[package]] +name = "docify_macros" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63fa215f3a0d40fb2a221b3aa90d8e1fbb8379785a990cb60d62ac71ebdc6460" +dependencies = [ + "common-path", + "derive-syn-parse", + "once_cell", + "proc-macro2", + "quote", + "regex", + "syn 2.0.48", + "termcolor", + "toml 0.8.8", + "walkdir", +] + [[package]] name = "downcast-rs" version = "1.2.0" @@ -1143,28 +1500,31 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d2f3407d9a573d666de4b5bdf10569d73ca9478087346697dcbae6244bfbcd" +checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" [[package]] name = "ed25519" -version = "1.5.3" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ + "pkcs8", "signature", ] [[package]] name = "ed25519-dalek" -version = "1.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" dependencies = [ - "curve25519-dalek 3.2.0", + "curve25519-dalek 4.1.1", "ed25519", - "sha2 0.9.9", + "serde", + "sha2 0.10.8", + "subtle", "zeroize", ] @@ -1182,6 +1542,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" +dependencies = [ + "curve25519-dalek 4.1.1", + "ed25519", + "hashbrown 0.14.3", + "hex", + "rand_core 0.6.4", + "sha2 0.10.8", + "zeroize", +] + [[package]] name = "either" version = "1.9.0" @@ -1199,9 +1574,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", @@ -1224,12 +1599,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1240,15 +1615,38 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "3.0.1" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cec0252c2afff729ee6f00e903d479fba81784c8e2bd77447673471fdfaea1" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "expander" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7" +dependencies = [ + "blake2", + "fs-err", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "fake-simd" version = "0.1.2" @@ -1261,26 +1659,30 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - [[package]] name = "fastrand" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[package]] +name = "fflonk" +version = "0.1.0" +source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "merlin 3.0.0", +] + [[package]] name = "fiat-crypto" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a481586acf778f1b1455424c343f71124b048ffa5f4fc3f8f6ae9dc432dcb3c7" +checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" [[package]] name = "fixed-hash" @@ -1289,7 +1691,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -1317,9 +1719,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -1347,6 +1749,15 @@ dependencies = [ "serde", ] +[[package]] +name = "fs-err" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] + [[package]] name = "funty" version = "2.0.0" @@ -1355,9 +1766,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -1370,9 +1781,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -1380,15 +1791,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -1398,47 +1809,45 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" -version = "1.13.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" dependencies = [ - "fastrand 1.9.0", + "fastrand", "futures-core", "futures-io", - "memchr", "parking", "pin-project-lite", - "waker-fn", ] [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" @@ -1448,9 +1857,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -1469,7 +1878,7 @@ name = "gcli" version = "0.1.0" dependencies = [ "anyhow", - "bs58 0.5.0", + "bs58", "clap", "confy", "env_logger", @@ -1511,51 +1920,41 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] -name = "ghash" -version = "0.4.4" +name = "getrandom_or_panic" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "opaque-debug 0.3.0", - "polyval", + "rand", + "rand_core 0.6.4", ] [[package]] name = "gimli" -version = "0.26.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" dependencies = [ "fallible-iterator", + "indexmap 1.9.3", "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "graphql-introspection-query" @@ -1618,9 +2017,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.21" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes", "fnv", @@ -1628,7 +2027,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap 2.2.1", "slab", "tokio", "tokio-util", @@ -1665,15 +2064,17 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.7", ] [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ + "ahash 0.8.7", + "allocator-api2", "serde", ] @@ -1685,9 +2086,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" [[package]] name = "hex" @@ -1711,7 +2112,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.11.1", + "crypto-mac 0.11.0", "digest 0.9.0", ] @@ -1737,9 +2138,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", @@ -1748,9 +2149,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -1777,9 +2178,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -1792,7 +2193,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2", "tokio", "tower-service", "tracing", @@ -1809,10 +2210,10 @@ dependencies = [ "http", "hyper", "log", - "rustls", - "rustls-native-certs", + "rustls 0.21.10", + "rustls-native-certs 0.6.3", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", ] [[package]] @@ -1830,9 +2231,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1859,9 +2260,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -1909,12 +2310,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b" dependencies = [ "equivalent", - "hashbrown 0.14.2", + "hashbrown 0.14.3", ] [[package]] @@ -1950,12 +2351,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "intx" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f38a50a899dc47a6d0ed5508e7f601a2e34c3a85303514b5d137f3c10a0c75" - [[package]] name = "io-lifetimes" version = "1.0.11" @@ -1975,13 +2370,13 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" dependencies = [ "hermit-abi", - "rustix 0.38.21", - "windows-sys 0.48.0", + "rustix 0.38.30", + "windows-sys 0.52.0", ] [[package]] @@ -1993,26 +2388,35 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "affdc52f7596ccb2d7645231fc6163bb314630c989b64998f3699a28b4d5d4dc" +checksum = "9579d0ca9fb30da026bac2f0f7d9576ec93489aeb7cd4971dd5b4617d82c79b2" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -2022,19 +2426,20 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b005c793122d03217da09af68ba9383363caa950b90d3436106df8cabce935" +checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" dependencies = [ "futures-util", "http", "jsonrpsee-core", "pin-project", - "rustls-native-certs", + "rustls-native-certs 0.7.0", + "rustls-pki-types", "soketto", "thiserror", "tokio", - "tokio-rustls", + "tokio-rustls 0.25.0", "tokio-util", "tracing", "url", @@ -2042,31 +2447,33 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2327ba8df2fdbd5e897e2b5ed25ce7f299d345b9736b6828814c3dbd1fd47b" +checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" dependencies = [ "anyhow", - "async-lock", + "async-lock 3.3.0", "async-trait", "beef", "futures-timer", "futures-util", "hyper", "jsonrpsee-types", + "pin-project", "rustc-hash", "serde", "serde_json", "thiserror", "tokio", + "tokio-stream", "tracing", ] [[package]] name = "jsonrpsee-http-client" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f80c17f62c7653ce767e3d7288b793dfec920f97067ceb189ebdd3570f2bc20" +checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" dependencies = [ "async-trait", "hyper", @@ -2084,23 +2491,22 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be0be325642e850ed0bdff426674d2e66b2b7117c9be23a7caef68a2902b7d9" +checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" dependencies = [ "anyhow", "beef", "serde", "serde_json", "thiserror", - "tracing", ] [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -2113,9 +2519,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "libm" @@ -2123,6 +2529,17 @@ 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.2", + "libc", + "redox_syscall", +] + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -2136,7 +2553,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -2179,15 +2596,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -2207,9 +2618,12 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "lru" -version = "0.10.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" +checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22" +dependencies = [ + "hashbrown 0.14.3", +] [[package]] name = "mach" @@ -2231,9 +2645,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memfd" @@ -2241,14 +2655,14 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.21", + "rustix 0.38.30", ] [[package]] name = "memoffset" -version = "0.6.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] @@ -2262,12 +2676,6 @@ dependencies = [ "hash-db", ] -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - [[package]] name = "merlin" version = "2.0.1" @@ -2315,12 +2723,12 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.48.0", ] @@ -2440,30 +2848,30 @@ dependencies = [ [[package]] name = "object" -version = "0.29.0" +version = "0.30.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" dependencies = [ "crc32fast", - "hashbrown 0.12.3", + "hashbrown 0.13.2", "indexmap 1.9.3", "memchr", ] [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" @@ -2479,11 +2887,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.58" +version = "0.10.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9dfc0783362704e97ef3bd24261995a699468440099ef95d869b4d9732f829a" +checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if", "foreign-types", "libc", @@ -2500,7 +2908,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -2511,9 +2919,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.94" +version = "0.9.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f55da20b29f956fb01f0add8683eb26ee13ebe3ebd935e49898717c6b4b2830" +checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" dependencies = [ "cc", "libc", @@ -2523,9 +2931,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -2538,22 +2946,16 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", "syn 1.0.109", ] -[[package]] -name = "parity-wasm" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" - [[package]] name = "parking" version = "2.2.0" @@ -2578,7 +2980,7 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "smallvec", "windows-targets 0.48.5", ] @@ -2595,16 +2997,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.11.1", -] - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", + "crypto-mac 0.11.0", ] [[package]] @@ -2619,28 +3012,28 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -2662,70 +3055,52 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand", "futures-io", ] [[package]] -name = "pkg-config" -version = "0.3.27" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] [[package]] -name = "platforms" -version = "3.2.0" +name = "pkg-config" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" +checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" [[package]] -name = "polling" -version = "2.8.0" +name = "platforms" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "concurrent-queue", - "libc", - "log", - "pin-project-lite", - "windows-sys 0.48.0", -] +checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "polling" -version = "3.3.0" +version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531" +checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite", - "rustix 0.38.21", + "rustix 0.38.30", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "poly1305" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" -dependencies = [ - "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash", -] - -[[package]] -name = "polyval" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cfg-if", "cpufeatures", "opaque-debug 0.3.0", "universal-hash", @@ -2757,7 +3132,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.0", ] [[package]] @@ -2786,9 +3179,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -2804,31 +3197,18 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] [[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" @@ -2837,20 +3217,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", + "rand_chacha", "rand_core 0.6.4", ] -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - [[package]] name = "rand_chacha" version = "0.3.1" @@ -2866,9 +3236,6 @@ name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] [[package]] name = "rand_core" @@ -2876,25 +3243,27 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.10", + "getrandom", ] [[package]] -name = "rand_hc" -version = "0.2.0" +name = "rayon" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" dependencies = [ - "rand_core 0.5.1", + "either", + "rayon-core", ] [[package]] -name = "redox_syscall" -version = "0.2.16" +name = "rayon-core" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "bitflags 1.3.2", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] @@ -2908,44 +3277,44 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", + "getrandom", + "libredox", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280" +checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925" +checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -2960,9 +3329,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -2983,11 +3352,11 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.22" +version = "0.11.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "bytes", "encoding_rs", "futures-core", @@ -3021,12 +3390,28 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.5" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "blake2", + "common", + "fflonk", + "merlin 3.0.0", +] + +[[package]] +name = "ring" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" dependencies = [ "cc", - "getrandom 0.2.10", + "getrandom", "libc", "spin", "untrusted", @@ -3035,23 +3420,23 @@ dependencies = [ [[package]] name = "rpassword" -version = "7.2.0" +version = "7.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" dependencies = [ "libc", "rtoolbox", - "winapi", + "windows-sys 0.48.0", ] [[package]] name = "rtoolbox" -version = "0.0.1" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" dependencies = [ "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -3097,41 +3482,41 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.27" +version = "0.38.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "errno", - "io-lifetimes", "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", + "linux-raw-sys 0.4.13", + "windows-sys 0.52.0", ] [[package]] -name = "rustix" -version = "0.38.21" +name = "rustls" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ - "bitflags 2.4.1", - "errno", - "libc", - "linux-raw-sys 0.4.10", - "windows-sys 0.48.0", + "log", + "ring 0.17.7", + "rustls-webpki 0.101.7", + "sct", ] [[package]] name = "rustls" -version = "0.21.8" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" dependencies = [ "log", - "ring", - "rustls-webpki", - "sct", + "ring 0.17.7", + "rustls-pki-types", + "rustls-webpki 0.102.1", + "subtle", + "zeroize", ] [[package]] @@ -3141,27 +3526,67 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pemfile 1.0.4", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.0.0", + "rustls-pki-types", "schannel", "security-framework", ] [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", + "rustls-pki-types", ] +[[package]] +name = "rustls-pki-types" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e9d979b3ce68192e42760c7810125eb6cf2ea10efae545a156063e61f314e2a" + [[package]] name = "rustls-webpki" version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring", + "ring 0.17.7", + "untrusted", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef4ca26037c909dedb327b48c3327d0ba91d3dd3c4e05dad328f210ffb68e95b" +dependencies = [ + "ring 0.17.7", + "rustls-pki-types", "untrusted", ] @@ -3173,20 +3598,20 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ruzstd" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3ffab8f9715a0d455df4bbb9d21e91135aab3cd3ca187af0cd0c3c3f868fdc" +checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" dependencies = [ "byteorder", - "thiserror-core", + "derive_more", "twox-hash", ] [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" [[package]] name = "salsa20" @@ -3194,7 +3619,16 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "cipher 0.4.4", + "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]] @@ -3210,9 +3644,9 @@ dependencies = [ [[package]] name = "scale-decode" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7789f5728e4e954aaa20cadcc370b99096fb8645fca3c9333ace44bb18f30095" +checksum = "7caaf753f8ed1ab4752c6afb20174f03598c664724e0e32628e161c21000ff76" dependencies = [ "derive_more", "parity-scale-codec", @@ -3225,12 +3659,12 @@ dependencies = [ [[package]] name = "scale-decode-derive" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27873eb6005868f8cc72dcfe109fae664cf51223d35387bc2f28be4c28d94c47" +checksum = "d3475108a1b62c7efd1b5c65974f30109a598b2f45f23c9ae030acb9686966db" dependencies = [ "darling 0.14.4", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -3258,7 +3692,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "995491f110efdc6bea96d6a746140e32bfceb4ea47510750a5467295a4707a25" dependencies = [ "darling 0.14.4", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -3284,17 +3718,30 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "scale-typegen" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00860983481ac590ac87972062909bef0d6a658013b592ccc0f2feb272feab11" +dependencies = [ + "proc-macro2", + "quote", + "scale-info", + "syn 2.0.48", + "thiserror", +] + [[package]] name = "scale-value" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6538d1cc1af9c0baf401c57da8a6d4730ef582db0d330d2efa56ec946b5b0283" +checksum = "58223c7691bf0bd46b43c9aea6f0472d1067f378d574180232358d7c6e0a8089" dependencies = [ "base58", "blake2", @@ -3312,11 +3759,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3325,7 +3772,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.7", "cfg-if", "hashbrown 0.13.2", ] @@ -3339,9 +3786,7 @@ dependencies = [ "arrayref", "arrayvec 0.5.2", "curve25519-dalek 2.1.3", - "getrandom 0.1.16", "merlin 2.0.1", - "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", "subtle", @@ -3350,17 +3795,20 @@ dependencies = [ [[package]] name = "schnorrkel" -version = "0.10.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "844b7645371e6ecdf61ff246ba1958c29e802881a749ae3fb1993675d210d28d" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ + "aead", "arrayref", "arrayvec 0.7.4", - "curve25519-dalek-ng", + "curve25519-dalek 4.1.1", + "getrandom_or_panic", "merlin 3.0.0", "rand_core 0.6.4", - "sha2 0.9.9", - "subtle-ng", + "serde_bytes", + "sha2 0.10.8", + "subtle", "zeroize", ] @@ -3387,24 +3835,24 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring", + "ring 0.17.7", "untrusted", ] [[package]] name = "secp256k1" -version = "0.24.3" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" +checksum = "3f622567e3b4b38154fb8190bcf6b160d7a4301d70595a49195b48c116007a27" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" dependencies = [ "cc", ] @@ -3443,41 +3891,59 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" [[package]] name = "serde" -version = "1.0.190" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" -version = "1.0.190" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" 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" @@ -3569,15 +4035,23 @@ dependencies = [ [[package]] name = "signature" -version = "1.6.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "simple-mermaid" +version = "0.1.0" +source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe" [[package]] name = "slab" @@ -3590,21 +4064,21 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "smol" -version = "1.3.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" +checksum = "e635339259e51ef85ac7aa29a1cd991b957047507288697a690e80ab97d07cad" dependencies = [ "async-channel", "async-executor", "async-fs", - "async-io 1.13.0", - "async-lock", + "async-io", + "async-lock 3.3.0", "async-net", "async-process", "blocking", @@ -3613,29 +4087,31 @@ dependencies = [ [[package]] name = "smoldot" -version = "0.8.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cce5e2881b30bad7ef89f383a816ad0b22c45915911f28499026de4a76d20ee" +checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" dependencies = [ "arrayvec 0.7.4", - "async-lock", - "atomic", - "base64 0.21.5", + "async-lock 3.3.0", + "atomic-take", + "base64 0.21.7", "bip39", "blake2-rfc", - "bs58 0.5.0", + "bs58", + "chacha20", "crossbeam-queue", "derive_more", - "ed25519-zebra", + "ed25519-zebra 4.0.3", "either", - "event-listener 2.5.3", + "event-listener 4.0.3", "fnv", - "futures-channel", + "futures-lite", "futures-util", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "hex", "hmac 0.12.1", - "itertools", + "itertools 0.12.1", + "libm", "libsecp256k1", "merlin 3.0.0", "no-std-net", @@ -3645,77 +4121,59 @@ dependencies = [ "num-traits", "pbkdf2 0.12.2", "pin-project", - "rand 0.8.5", - "rand_chacha 0.3.1", + "poly1305", + "rand", + "rand_chacha", "ruzstd", - "schnorrkel 0.10.2", + "schnorrkel 0.11.4", "serde", "serde_json", "sha2 0.10.8", + "sha3", "siphasher", "slab", "smallvec", - "smol", - "snow", "soketto", - "tiny-keccak", "twox-hash", - "wasmi 0.30.0", + "wasmi", + "x25519-dalek", + "zeroize", ] [[package]] name = "smoldot-light" -version = "0.6.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2f7b4687b83ff244ef6137735ed5716ad37dcdf3ee16c4eb1a32fb9808fa47" +checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7" dependencies = [ - "async-lock", + "async-channel", + "async-lock 3.3.0", + "base64 0.21.7", "blake2-rfc", "derive_more", "either", - "event-listener 2.5.3", + "event-listener 4.0.3", "fnv", "futures-channel", + "futures-lite", "futures-util", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "hex", - "itertools", + "itertools 0.12.1", "log", "lru", + "no-std-net", "parking_lot", - "rand 0.8.5", + "pin-project", + "rand", + "rand_chacha", "serde", "serde_json", "siphasher", "slab", "smol", "smoldot", -] - -[[package]] -name = "snow" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9d1425eb528a21de2755c75af4c9b5d57f50a0d4c3b7f1828a4cd03f8ba155" -dependencies = [ - "aes-gcm", - "blake2", - "chacha20poly1305", - "curve25519-dalek 4.1.1", - "rand_core 0.6.4", - "rustc_version", - "sha2 0.10.8", - "subtle", -] - -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", + "zeroize", ] [[package]] @@ -3739,152 +4197,196 @@ dependencies = [ "futures", "httparse", "log", - "rand 0.8.5", + "rand", "sha-1", ] [[package]] name = "sp-application-crypto" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "23.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", - "sp-std 5.0.0", + "sp-std 8.0.0", ] [[package]] name = "sp-arithmetic" -version = "6.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "16.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 5.0.0", + "sp-std 8.0.0", "static_assertions", ] +[[package]] +name = "sp-ark-bls12-381" +version = "0.4.2" +source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" +dependencies = [ + "ark-bls12-381-ext", + "sp-crypto-ec-utils", +] + +[[package]] +name = "sp-ark-ed-on-bls12-381-bandersnatch" +version = "0.4.2" +source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" +dependencies = [ + "ark-ed-on-bls12-381-bandersnatch-ext", + "sp-crypto-ec-utils", +] + [[package]] name = "sp-core" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "21.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ "array-bytes", + "bandersnatch_vrfs", + "bip39", "bitflags 1.3.2", "blake2", "bounded-collections", - "bs58 0.4.0", + "bs58", "dyn-clonable", - "ed25519-zebra", + "ed25519-zebra 3.1.0", "futures", "hash-db", "hash256-std-hasher", "impl-serde", - "lazy_static", + "itertools 0.10.5", "libsecp256k1", "log", - "merlin 2.0.1", + "merlin 3.0.0", "parity-scale-codec", "parking_lot", "paste", "primitive-types", - "rand 0.8.5", - "regex", + "rand", "scale-info", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std 5.0.0", - "sp-storage", + "sp-core-hashing", + "sp-debug-derive 8.0.0", + "sp-externalities 0.19.0", + "sp-runtime-interface 17.0.0", + "sp-std 8.0.0", + "sp-storage 13.0.0", "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", + "tracing", + "w3f-bls", "zeroize", ] [[package]] name = "sp-core-hashing" -version = "5.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "9.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", "sha2 0.10.8", "sha3", - "sp-std 5.0.0", "twox-hash", ] [[package]] -name = "sp-core-hashing" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee599a8399448e65197f9a6cee338ad192e9023e35e31f22382964c3c174c68" +name = "sp-crypto-ec-utils" +version = "0.10.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ - "blake2b_simd", - "byteorder", - "digest 0.10.7", - "sha2 0.10.8", - "sha3", - "sp-std 8.0.0", - "twox-hash", + "ark-bls12-377", + "ark-bls12-377-ext", + "ark-bls12-381", + "ark-bls12-381-ext", + "ark-bw6-761", + "ark-bw6-761-ext", + "ark-ec", + "ark-ed-on-bls12-377", + "ark-ed-on-bls12-377-ext", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ed-on-bls12-381-bandersnatch-ext", + "ark-scale", + "sp-runtime-interface 24.0.0", + "sp-std 14.0.0", +] + +[[package]] +name = "sp-debug-derive" +version = "8.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", ] [[package]] name = "sp-debug-derive" -version = "5.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] name = "sp-externalities" -version = "0.13.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "0.19.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 8.0.0", + "sp-storage 13.0.0", +] + +[[package]] +name = "sp-externalities" +version = "0.25.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0", - "sp-storage", + "sp-std 14.0.0", + "sp-storage 19.0.0", ] [[package]] name = "sp-io" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "23.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ "bytes", - "ed25519", "ed25519-dalek", - "futures", "libsecp256k1", "log", "parity-scale-codec", "rustversion", "secp256k1", "sp-core", - "sp-externalities", + "sp-externalities 0.19.0", "sp-keystore", - "sp-runtime-interface", + "sp-runtime-interface 17.0.0", "sp-state-machine", - "sp-std 5.0.0", - "sp-tracing", + "sp-std 8.0.0", + "sp-tracing 10.0.0", "sp-trie", "tracing", "tracing-core", @@ -3892,21 +4394,20 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.13.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "0.27.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ - "futures", "parity-scale-codec", "parking_lot", "sp-core", - "sp-externalities", + "sp-externalities 0.19.0", "thiserror", ] [[package]] name = "sp-panic-handler" -version = "5.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "8.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ "backtrace", "lazy_static", @@ -3915,107 +4416,166 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "24.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ + "docify", "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", + "simple-mermaid", "sp-application-crypto", "sp-arithmetic", "sp-core", "sp-io", - "sp-std 5.0.0", + "sp-std 8.0.0", "sp-weights", ] [[package]] name = "sp-runtime-interface" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "17.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.19.0", + "sp-runtime-interface-proc-macro 11.0.0", + "sp-std 8.0.0", + "sp-storage 13.0.0", + "sp-tracing 10.0.0", + "sp-wasm-interface 14.0.0", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std 5.0.0", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", + "sp-externalities 0.25.0", + "sp-runtime-interface-proc-macro 17.0.0", + "sp-std 14.0.0", + "sp-storage 19.0.0", + "sp-tracing 16.0.0", + "sp-wasm-interface 20.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "6.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "11.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" +dependencies = [ + "Inflector", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ "Inflector", - "proc-macro-crate", + "expander", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] name = "sp-state-machine" -version = "0.13.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "0.28.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ "hash-db", "log", "parity-scale-codec", "parking_lot", - "rand 0.8.5", + "rand", "smallvec", "sp-core", - "sp-externalities", + "sp-externalities 0.19.0", "sp-panic-handler", - "sp-std 5.0.0", + "sp-std 8.0.0", "sp-trie", "thiserror", "tracing", + "trie-db", ] [[package]] name = "sp-std" -version = "5.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "8.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" [[package]] name = "sp-std" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53458e3c57df53698b3401ec0934bea8e8cfce034816873c0b0abbd83d7bac0d" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" + +[[package]] +name = "sp-storage" +version = "13.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 8.0.0", + "sp-std 8.0.0", +] [[package]] name = "sp-storage" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive", - "sp-std 5.0.0", + "sp-debug-derive 14.0.0", + "sp-std 14.0.0", +] + +[[package]] +name = "sp-tracing" +version = "10.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" +dependencies = [ + "parity-scale-codec", + "sp-std 8.0.0", + "tracing", + "tracing-core", + "tracing-subscriber", ] [[package]] name = "sp-tracing" -version = "6.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 14.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -4023,21 +4583,22 @@ dependencies = [ [[package]] name = "sp-trie" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "22.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.7", "hash-db", - "hashbrown 0.13.2", "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot", + "rand", "scale-info", "schnellru", "sp-core", - "sp-std 5.0.0", + "sp-externalities 0.19.0", + "sp-std 8.0.0", "thiserror", "tracing", "trie-db", @@ -4046,31 +4607,43 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "7.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "14.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" +dependencies = [ + "anyhow", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 8.0.0", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#261f4b713b43c60f488bfd38a844f953a6c51995" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0", - "wasmi 0.13.2", + "sp-std 14.0.0", "wasmtime", ] [[package]] name = "sp-weights" -version = "4.0.0" -source = "git+https://github.com/duniter/substrate.git?branch=duniter-substrate-v0.9.42#38b19717f847d3eda654b6465802c244ea6372a6" +version = "20.0.0" +source = "git+https://github.com/duniter/duniter-polkadot-sdk.git?branch=duniter-substrate-v1.6.0#c84530c57a6f9ab808a92f6b5d29338acf1c6e4f" dependencies = [ + "bounded-collections", "parity-scale-codec", "scale-info", "serde", "smallvec", "sp-arithmetic", - "sp-core", - "sp-debug-derive", - "sp-std 5.0.0", + "sp-debug-derive 8.0.0", + "sp-std 8.0.0", ] [[package]] @@ -4079,11 +4652,21 @@ 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 = "ss58-registry" -version = "1.43.0" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6915280e2d0db8911e5032a5c275571af6bdded2916abd691a659be25d3439" +checksum = "b1114ee5900b8569bbc8b1a014a942f937b752af4b44f4607430b5f86cedaac0" dependencies = [ "Inflector", "num-format", @@ -4127,20 +4710,14 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "subtle-ng" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "subxt" -version = "0.32.1" -source = "git+https://github.com/duniter/subxt.git?branch=subxt-v0.32.1-duniter-substrate-v0.9.42#2dab931bdb6ff9d362dd4a3da0df7292ad16f51a" +version = "0.34.0" +source = "git+https://github.com/duniter/subxt?branch=subxt-v0.34.0-duniter-substrate-v1.6.0#b648c5e3a260d4e7d47df42d784ad4c723637411" dependencies = [ "async-trait", "base58", @@ -4151,6 +4728,7 @@ dependencies = [ "futures", "hex", "impl-serde", + "instant", "jsonrpsee", "parity-scale-codec", "primitive-types", @@ -4162,19 +4740,21 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-core-hashing 9.0.0", + "sp-core-hashing", "sp-runtime", "subxt-lightclient", "subxt-macro", "subxt-metadata", "thiserror", + "tokio-util", "tracing", + "url", ] [[package]] name = "subxt-codegen" -version = "0.32.1" -source = "git+https://github.com/duniter/subxt.git?branch=subxt-v0.32.1-duniter-substrate-v0.9.42#2dab931bdb6ff9d362dd4a3da0df7292ad16f51a" +version = "0.34.0" +source = "git+https://github.com/duniter/subxt?branch=subxt-v0.34.0-duniter-substrate-v1.6.0#b648c5e3a260d4e7d47df42d784ad4c723637411" dependencies = [ "frame-metadata 16.0.0", "heck", @@ -4184,16 +4764,17 @@ dependencies = [ "proc-macro2", "quote", "scale-info", + "scale-typegen", "subxt-metadata", - "syn 2.0.38", + "syn 2.0.48", "thiserror", "tokio", ] [[package]] name = "subxt-lightclient" -version = "0.32.1" -source = "git+https://github.com/duniter/subxt.git?branch=subxt-v0.32.1-duniter-substrate-v0.9.42#2dab931bdb6ff9d362dd4a3da0df7292ad16f51a" +version = "0.34.0" +source = "git+https://github.com/duniter/subxt?branch=subxt-v0.34.0-duniter-substrate-v1.6.0#b648c5e3a260d4e7d47df42d784ad4c723637411" dependencies = [ "futures", "futures-util", @@ -4208,24 +4789,27 @@ dependencies = [ [[package]] name = "subxt-macro" -version = "0.32.1" -source = "git+https://github.com/duniter/subxt.git?branch=subxt-v0.32.1-duniter-substrate-v0.9.42#2dab931bdb6ff9d362dd4a3da0df7292ad16f51a" +version = "0.34.0" +source = "git+https://github.com/duniter/subxt?branch=subxt-v0.34.0-duniter-substrate-v1.6.0#b648c5e3a260d4e7d47df42d784ad4c723637411" dependencies = [ - "darling 0.20.3", + "darling 0.20.5", + "parity-scale-codec", "proc-macro-error", + "quote", + "scale-typegen", "subxt-codegen", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] name = "subxt-metadata" -version = "0.32.1" -source = "git+https://github.com/duniter/subxt.git?branch=subxt-v0.32.1-duniter-substrate-v0.9.42#2dab931bdb6ff9d362dd4a3da0df7292ad16f51a" +version = "0.34.0" +source = "git+https://github.com/duniter/subxt?branch=subxt-v0.34.0-duniter-substrate-v1.6.0#b648c5e3a260d4e7d47df42d784ad4c723637411" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", "scale-info", - "sp-core-hashing 9.0.0", + "sp-core-hashing", "thiserror", ] @@ -4242,9 +4826,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.38" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -4280,70 +4864,50 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if", - "fastrand 2.0.1", - "redox_syscall 0.4.1", - "rustix 0.38.21", - "windows-sys 0.48.0", + "fastrand", + "redox_syscall", + "rustix 0.38.30", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] -[[package]] -name = "thiserror-core" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d97345f6437bb2004cd58819d8a9ef8e36cdd7661c2abc4bbde0a7c40d9f497" -dependencies = [ - "thiserror-core-impl", -] - -[[package]] -name = "thiserror-core-impl" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ac1c5050e43014d16b2f94d0d2ce79e65ffdd8b38d8048f9c8f6a8a6da62ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -4356,34 +4920,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.8", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - -[[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" @@ -4401,9 +4937,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.33.0" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ "backtrace", "bytes", @@ -4411,20 +4947,20 @@ dependencies = [ "mio", "num_cpus", "pin-project-lite", - "socket2 0.5.5", + "socket2", "tokio-macros", "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -4443,7 +4979,18 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls", + "rustls 0.21.10", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.2", + "rustls-pki-types", "tokio", ] @@ -4482,11 +5029,26 @@ dependencies = [ "serde", ] +[[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" @@ -4494,7 +5056,31 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.1", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.2.1", + "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 2.2.1", + "serde", + "serde_spanned", "toml_datetime", "winnow", ] @@ -4546,7 +5132,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -4604,9 +5190,9 @@ dependencies = [ [[package]] name = "trie-db" -version = "0.27.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" +checksum = "ff28e0f815c2fea41ebddf148e008b077d2faddb026c9555b29696114d602642" dependencies = [ "hash-db", "hashbrown 0.13.2", @@ -4626,9 +5212,9 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "twox-hash" @@ -4638,7 +5224,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -4662,9 +5248,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -4689,11 +5275,11 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "universal-hash" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "generic-array 0.14.7", + "crypto-common", "subtle", ] @@ -4714,9 +5300,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -4754,10 +5340,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] -name = "waker-fn" -version = "1.1.1" +name = "w3f-bls" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7335e4c132c28cc43caef6adb339789e599e39adbe78da0c4d547fad48cbc331" +dependencies = [ + "ark-bls12-377", + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-serialize-derive", + "arrayref", + "constcat", + "digest 0.10.7", + "rand", + "rand_chacha", + "rand_core 0.6.4", + "sha2 0.10.8", + "sha3", + "thiserror", + "zeroize", +] + +[[package]] +name = "walkdir" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +dependencies = [ + "same-file", + "winapi-util", +] [[package]] name = "want" @@ -4768,12 +5382,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -4782,9 +5390,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4792,24 +5400,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" dependencies = [ "cfg-if", "js-sys", @@ -4819,9 +5427,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4829,81 +5437,47 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" - -[[package]] -name = "wasmi" -version = "0.13.2" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" -dependencies = [ - "parity-wasm", - "wasmi-validation", - "wasmi_core 0.2.1", -] +checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" [[package]] name = "wasmi" -version = "0.30.0" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51fb5c61993e71158abf5bb863df2674ca3ec39ed6471c64f07aeaf751d67b4" +checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7" dependencies = [ - "intx", "smallvec", "spin", "wasmi_arena", - "wasmi_core 0.12.0", + "wasmi_core", "wasmparser-nostd", ] -[[package]] -name = "wasmi-validation" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" -dependencies = [ - "parity-wasm", -] - [[package]] name = "wasmi_arena" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468" - -[[package]] -name = "wasmi_core" -version = "0.2.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" -dependencies = [ - "downcast-rs", - "libm", - "memory_units", - "num-rational", - "num-traits", -] +checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" [[package]] name = "wasmi_core" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624e6333e861ef49095d2d678b76ebf30b06bf37effca845be7e5b87c90071b7" +checksum = "dcf1a7db34bff95b85c261002720c00c3a6168256dcb93041d3fa2054d19856a" dependencies = [ "downcast-rs", "libm", @@ -4913,9 +5487,9 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.100.0" +version = "0.102.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b20236ab624147dfbb62cf12a19aaf66af0e41b8398838b66e997d07d269d4" +checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" dependencies = [ "indexmap 1.9.3", "url", @@ -4932,9 +5506,9 @@ dependencies = [ [[package]] name = "wasmtime" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a222f5fa1e14b2cefc286f1b68494d7a965f4bf57ec04c59bb62673d639af6" +checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" dependencies = [ "anyhow", "bincode", @@ -4942,7 +5516,7 @@ dependencies = [ "indexmap 1.9.3", "libc", "log", - "object 0.29.0", + "object 0.30.4", "once_cell", "paste", "psm", @@ -4952,30 +5526,30 @@ dependencies = [ "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-asm-macros" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4407a7246e7d2f3d8fb1cf0c72fda8dbafdb6dd34d555ae8bea0e5ae031089cc" +checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-environ" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b8b50962eae38ee319f7b24900b7cf371f03eebdc17400c1dc8575fc10c9a7" +checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" dependencies = [ "anyhow", "cranelift-entity", - "gimli 0.26.2", + "gimli 0.27.3", "indexmap 1.9.3", "log", - "object 0.29.0", + "object 0.30.4", "serde", "target-lexicon", "thiserror", @@ -4985,52 +5559,52 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffaed4f9a234ba5225d8e64eac7b4a5d13b994aeb37353cde2cbeb3febda9eaa" +checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" dependencies = [ - "addr2line 0.17.0", + "addr2line 0.19.0", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli 0.26.2", + "gimli 0.27.3", "log", - "object 0.29.0", + "object 0.30.4", "rustc-demangle", "serde", "target-lexicon", "wasmtime-environ", "wasmtime-jit-icache-coherence", "wasmtime-runtime", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-jit-debug" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed41cbcbf74ce3ff6f1d07d1b707888166dc408d1a880f651268f4f7c9194b2" +checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" dependencies = [ "once_cell", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a28ae1e648461bfdbb79db3efdaee1bca5b940872e4175390f465593a2e54c" +checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" dependencies = [ "cfg-if", "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-runtime" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e704b126e4252788ccfc3526d4d4511d4b23c521bf123e447ac726c14545217b" +checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" dependencies = [ "anyhow", "cc", @@ -5042,19 +5616,19 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand 0.8.5", + "rand", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-types" -version = "6.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e5572c5727c1ee7e8f28717aaa8400e4d22dcbd714ea5457d85b5005206568" +checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" dependencies = [ "cranelift-entity", "serde", @@ -5064,9 +5638,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" dependencies = [ "js-sys", "wasm-bindgen", @@ -5105,26 +5679,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.42.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 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", + "windows-targets 0.52.0", ] [[package]] @@ -5145,6 +5704,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[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" @@ -5175,6 +5743,21 @@ dependencies = [ "windows_x86_64_msvc 0.48.5", ] +[[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" @@ -5187,6 +5770,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[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" @@ -5199,6 +5788,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[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" @@ -5211,6 +5806,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[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" @@ -5223,6 +5824,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[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" @@ -5235,6 +5842,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[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" @@ -5247,6 +5860,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[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" @@ -5259,11 +5878,17 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[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.18" +version = "0.5.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" +checksum = "1931d78a9c73861da0134f453bb1f790ce49b2e30eba8410b4b79bac72b46a2d" dependencies = [ "memchr", ] @@ -5287,6 +5912,18 @@ dependencies = [ "tap", ] +[[package]] +name = "x25519-dalek" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" +dependencies = [ + "curve25519-dalek 4.1.1", + "rand_core 0.6.4", + "serde", + "zeroize", +] + [[package]] name = "yap" version = "0.11.0" @@ -5295,29 +5932,29 @@ checksum = "ff4524214bc4629eba08d78ceb1d6507070cc0bcbbed23af74e19e6e924a24cf" [[package]] name = "zerocopy" -version = "0.7.23" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e50cbb27c30666a6108abd6bc7577556265b44f243e2be89a8bc4e07a528c107" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.23" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a25f293fe55f0a48e7010d65552bb63704f6ceb55a1a385da10d41d8f78e4a3d" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" dependencies = [ "zeroize_derive", ] @@ -5330,5 +5967,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.48", ] diff --git a/Cargo.toml b/Cargo.toml index 86e84b8..a7133d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -authors = ["librelois <c@elo.tf>", "tuxmain <tuxmain@zettascript.org>"] +authors = ["librelois <c@elo.tf>", "tuxmain <tuxmain@zettascript.org>", "h30x <hugo@trentesaux.fr>"] edition = "2021" license = "AGPL-3.0" name = "gcli" @@ -7,28 +7,29 @@ repository = "https://git.duniter.org/clients/rust/gcli-v2s" version = "0.1.0" [dependencies] -anyhow = "1.0" -clap = { version = "4.1.9", features = ["derive"] } -codec = { package = "parity-scale-codec", version = "3.4.0" } -env_logger = "0.10" -futures = "0.3.27" -graphql_client = { version = "0.12.0", features = ["reqwest"] } -hex = "0.4.3" -log = "0.4.17" -reqwest = "0.11.14" -rpassword = "7.2.0" -serde = { version = "1.0", features = ["derive"] } -serde_json = "^1.0.107" -sp-core = { git = "https://github.com/duniter/substrate.git", branch = "duniter-substrate-v0.9.42" } -sp-runtime = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.42" } -subxt = { git = "https://github.com/duniter/subxt.git", branch = "subxt-v0.32.1-duniter-substrate-v0.9.42", features = ["substrate-compat"] } -# subxt-signer = { git = "https://github.com/duniter/subxt.git", branch = "subxt-v0.32.1-duniter-substrate-v0.9.42", features = ["subxt"] } -# sp-api = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.42'} -tokio = { version = "1.26.0", features = ["macros"] } -confy = "0.5.1" -scrypt = { version = "0.11", default-features = false } # for old-style key generation -nacl = { version = "0.5.3" } # for old-style key generation -bs58 = "0.5.0" +# subxt is main dependency +subxt = { git = 'https://github.com/duniter/subxt', branch = 'subxt-v0.34.0-duniter-substrate-v1.6.0', default-features = false, features = ["substrate-compat", "native", "jsonrpsee"] } +# substrate primitives dependencies +sp-core = { git = "https://github.com/duniter/duniter-polkadot-sdk.git", branch = "duniter-substrate-v1.6.0" } +sp-runtime = { git = "https://github.com/duniter/duniter-polkadot-sdk.git", branch = "duniter-substrate-v1.6.0" } +# crates.io dependencies +anyhow = "^1.0" +clap = { version = "^4.4.18", features = ["derive"] } +codec = { package = "parity-scale-codec", version = "^3.6.9" } +env_logger = "^0.10" +futures = "^0.3.30" +graphql_client = { version = "^0.12.0", features = ["reqwest"] } +hex = "^0.4.3" +log = "^0.4.20" +reqwest = "^0.11.23" +rpassword = "^7.3.1" +serde = { version = "^1.0", features = ["derive"] } +serde_json = "^1.0.113" +tokio = { version = "^1.35.1", features = ["macros"] } +confy = "^0.5.1" +scrypt = { version = "^0.11", default-features = false } # for old-style key generation +nacl = { version = "^0.5.3" } # for old-style key generation +bs58 = "^0.5.0" # allows to build gcli for different runtimes and with different predefined networks [features] @@ -36,3 +37,5 @@ default = ["gdev"] # default runtime is "gdev", gdev network is available gdev = [] gtest = [] g1 = [] + + diff --git a/README.md b/README.md index 38eb3a8..f6f9e80 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,19 @@ Secret key format can be changed using `--secret-format` with the following valu - [x] implement config formatter - [x] add link/unlink account commands -- [ ] migrate all xt to submit_call_and_look_event -- [ ] add transfer with unit (ĞD, UD...) +- [x] migrate all xt to submit_call_and_look_event +- [x] add transfer with unit (ĞD, UD...) +- [x] add more runtime-info like cert count, wot and smith params... +- [ ] add more info like sudo key, block interval +- [ ] better format runtime info block number (duration in days...) and perbill (%) +- [ ] add proper tabulation for runtime info +- [ ] add clap complete for autocompletion +- [ ] allow to listen to multiple events (like CertAdded and CertRenewed) +- [ ] add more info on identity view like status, number certs emitted, received +- [ ] implement squid indexer to get cert list + tx history... +- [ ] +- [ ] +- [ ] +- [ ] +- [ ] - [ ] \ No newline at end of file diff --git a/doc/config.md b/doc/config.md index 541c0a0..d4bf092 100644 --- a/doc/config.md +++ b/doc/config.md @@ -12,7 +12,7 @@ cargo run -- config show # [stdout] # Ğcli config # duniter endpoint ws://localhost:9944 -# indexer endpoint http://localhost:8080/v1/graphql +# indexer endpoint http://localhost:4350/graphql # address 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY (secret defined) # use different address in command line @@ -20,7 +20,7 @@ cargo run -- --address 5Fxune7f71ZbpP2FoY3mhYcmM596Erhv1gRue4nsPwkxMR4n config s # [stdout] # Ğcli config # duniter endpoint ws://localhost:9944 -# indexer endpoint http://localhost:8080/v1/graphql +# indexer endpoint http://localhost:4350/graphql # address 5Fxune7f71ZbpP2FoY3mhYcmM596Erhv1gRue4nsPwkxMR4n (no secret) ``` diff --git a/res/indexer-queries.graphql b/res/indexer-queries.graphql index 7b022d4..23e58ba 100644 --- a/res/indexer-queries.graphql +++ b/res/indexer-queries.graphql @@ -1,35 +1,41 @@ query IdentityByIndex($index: Int!) { - identity_by_pk(index: $index) { + identities(where: {index_eq: $index}) { index name - pubkey + account { + id + } } } query IdentityByName($name: String!) { - identity(where: { name: { _eq: $name } }) { + identities(where: {name_eq: $name}) { index name - pubkey + account { + id + } } } query IdentityByPubkey($pubkey: String!) { - identity(where: { pubkey: { _eq: $pubkey } }) { + identities(where: {account: {id_eq: $pubkey}}) { index name - pubkey + account { + id + } } } query LatestBlock { - parameters(where: { key: { _eq: "last_indexed_block_number" } }) { - value + blocks(limit: 1, orderBy: height_DESC) { + height } } query GenesisHash { - block(where: {number: {_eq: 0}}) { + blocks(where: {height_eq: 0}) { hash } } diff --git a/res/indexer-schema.graphql b/res/indexer-schema.graphql index edffaea..8d32838 100644 --- a/res/indexer-schema.graphql +++ b/res/indexer-schema.graphql @@ -1,3663 +1,2744 @@ -schema { - query: query_root - subscription: subscription_root -} - -"""whether this query should be cached (Hasura Cloud only)""" -directive @cached( - """measured in seconds""" - ttl: Int! = 60 - - """refresh the cache entry""" - refresh: Boolean! = false -) on QUERY - -"""Table of accounts.""" -type account { - """An object relationship""" - block: block! - created_at: timestamptz! - - """Block number where account was created.""" - created_on: Int! - - """ - A computed field, executes function "has_identity" - """ - has_identity: Boolean - - """An object relationship""" - identity: identity - killed_at: timestamptz - - """Block number where account was killed.""" - killed_on: Int - - """Pubkey of the account.""" - pubkey: String! - - """An array relationship""" - transactions_issued( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): [transaction!]! - - """An aggregate relationship""" - transactions_issued_aggregate( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): transaction_aggregate! - - """An array relationship""" - transactions_received( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): [transaction!]! - - """An aggregate relationship""" - transactions_received_aggregate( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): transaction_aggregate! -} - -""" -aggregated selection of "account" -""" -type account_aggregate { - aggregate: account_aggregate_fields - nodes: [account!]! -} - -""" -aggregate fields of "account" -""" -type account_aggregate_fields { - avg: account_avg_fields - count(columns: [account_select_column!], distinct: Boolean): Int! - max: account_max_fields - min: account_min_fields - stddev: account_stddev_fields - stddev_pop: account_stddev_pop_fields - stddev_samp: account_stddev_samp_fields - sum: account_sum_fields - var_pop: account_var_pop_fields - var_samp: account_var_samp_fields - variance: account_variance_fields -} - -"""aggregate avg on columns""" -type account_avg_fields { - """Block number where account was created.""" - created_on: Float - - """Block number where account was killed.""" - killed_on: Float -} - -""" -Boolean expression to filter rows from the table "account". All fields are combined with a logical 'AND'. -""" -input account_bool_exp { - _and: [account_bool_exp!] - _not: account_bool_exp - _or: [account_bool_exp!] - block: block_bool_exp - created_at: timestamptz_comparison_exp - created_on: Int_comparison_exp - has_identity: Boolean_comparison_exp - identity: identity_bool_exp - killed_at: timestamptz_comparison_exp - killed_on: Int_comparison_exp - pubkey: String_comparison_exp - transactions_issued: transaction_bool_exp - transactions_issued_aggregate: transaction_aggregate_bool_exp - transactions_received: transaction_bool_exp - transactions_received_aggregate: transaction_aggregate_bool_exp -} - -"""aggregate max on columns""" -type account_max_fields { - created_at: timestamptz - - """Block number where account was created.""" - created_on: Int - killed_at: timestamptz - - """Block number where account was killed.""" - killed_on: Int - - """Pubkey of the account.""" - pubkey: String -} - -"""aggregate min on columns""" -type account_min_fields { - created_at: timestamptz - - """Block number where account was created.""" - created_on: Int - killed_at: timestamptz - - """Block number where account was killed.""" - killed_on: Int - - """Pubkey of the account.""" - pubkey: String -} - -"""Ordering options when selecting data from "account".""" -input account_order_by { - block: block_order_by - created_at: order_by - created_on: order_by - has_identity: order_by - identity: identity_order_by - killed_at: order_by - killed_on: order_by - pubkey: order_by - transactions_issued_aggregate: transaction_aggregate_order_by - transactions_received_aggregate: transaction_aggregate_order_by -} - -""" -select columns of table "account" -""" -enum account_select_column { - """column name""" - created_at - - """column name""" - created_on - - """column name""" - killed_at - - """column name""" - killed_on - - """column name""" - pubkey -} - -"""aggregate stddev on columns""" -type account_stddev_fields { - """Block number where account was created.""" - created_on: Float - - """Block number where account was killed.""" - killed_on: Float -} - -"""aggregate stddev_pop on columns""" -type account_stddev_pop_fields { - """Block number where account was created.""" - created_on: Float - - """Block number where account was killed.""" - killed_on: Float -} - -"""aggregate stddev_samp on columns""" -type account_stddev_samp_fields { - """Block number where account was created.""" - created_on: Float - - """Block number where account was killed.""" - killed_on: Float -} - -""" -Streaming cursor of the table "account" -""" -input account_stream_cursor_input { - """Stream column input with initial value""" - initial_value: account_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input account_stream_cursor_value_input { - created_at: timestamptz - - """Block number where account was created.""" - created_on: Int - killed_at: timestamptz - - """Block number where account was killed.""" - killed_on: Int - - """Pubkey of the account.""" - pubkey: String -} - -"""aggregate sum on columns""" -type account_sum_fields { - """Block number where account was created.""" - created_on: Int - - """Block number where account was killed.""" - killed_on: Int -} - -"""aggregate var_pop on columns""" -type account_var_pop_fields { - """Block number where account was created.""" - created_on: Float - - """Block number where account was killed.""" - killed_on: Float -} - -"""aggregate var_samp on columns""" -type account_var_samp_fields { - """Block number where account was created.""" - created_on: Float - - """Block number where account was killed.""" - killed_on: Float -} - -"""aggregate variance on columns""" -type account_variance_fields { - """Block number where account was created.""" - created_on: Float - - """Block number where account was killed.""" - killed_on: Float -} - -"""Table of blocks.""" -type block { - created_at: timestamp! - - """ - Data contains `extrinsics` and `events` of the block. Exemple for querying - specific data: `data(path: "extrinsics[0].isSigned")`. - """ - data( - """JSON select path""" - path: String - ): jsonb - hash: String! - - """Number of the block in substrate.""" - number: Int! -} - -""" -aggregated selection of "block" -""" -type block_aggregate { - aggregate: block_aggregate_fields - nodes: [block!]! -} - -""" -aggregate fields of "block" -""" -type block_aggregate_fields { - avg: block_avg_fields - count(columns: [block_select_column!], distinct: Boolean): Int! - max: block_max_fields - min: block_min_fields - stddev: block_stddev_fields - stddev_pop: block_stddev_pop_fields - stddev_samp: block_stddev_samp_fields - sum: block_sum_fields - var_pop: block_var_pop_fields - var_samp: block_var_samp_fields - variance: block_variance_fields -} - -"""aggregate avg on columns""" -type block_avg_fields { - """Number of the block in substrate.""" - number: Float -} - -""" -Boolean expression to filter rows from the table "block". All fields are combined with a logical 'AND'. -""" -input block_bool_exp { - _and: [block_bool_exp!] - _not: block_bool_exp - _or: [block_bool_exp!] - created_at: timestamp_comparison_exp - data: jsonb_comparison_exp - hash: String_comparison_exp - number: Int_comparison_exp -} - -"""aggregate max on columns""" -type block_max_fields { - created_at: timestamp - hash: String - - """Number of the block in substrate.""" - number: Int -} - -"""aggregate min on columns""" -type block_min_fields { - created_at: timestamp - hash: String - - """Number of the block in substrate.""" - number: Int -} - -"""Ordering options when selecting data from "block".""" -input block_order_by { - created_at: order_by - data: order_by - hash: order_by - number: order_by -} - -""" -select columns of table "block" -""" -enum block_select_column { - """column name""" - created_at - - """column name""" - data - - """column name""" - hash - - """column name""" - number -} - -"""aggregate stddev on columns""" -type block_stddev_fields { - """Number of the block in substrate.""" - number: Float -} - -"""aggregate stddev_pop on columns""" -type block_stddev_pop_fields { - """Number of the block in substrate.""" - number: Float -} - -"""aggregate stddev_samp on columns""" -type block_stddev_samp_fields { - """Number of the block in substrate.""" - number: Float -} - -""" -Streaming cursor of the table "block" -""" -input block_stream_cursor_input { - """Stream column input with initial value""" - initial_value: block_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input block_stream_cursor_value_input { - created_at: timestamp - - """ - Data contains `extrinsics` and `events` of the block. Exemple for querying - specific data: `data(path: "extrinsics[0].isSigned")`. - """ - data: jsonb - hash: String - - """Number of the block in substrate.""" - number: Int -} - -"""aggregate sum on columns""" -type block_sum_fields { - """Number of the block in substrate.""" - number: Int -} - -"""aggregate var_pop on columns""" -type block_var_pop_fields { - """Number of the block in substrate.""" - number: Float -} - -"""aggregate var_samp on columns""" -type block_var_samp_fields { - """Number of the block in substrate.""" - number: Float -} - -"""aggregate variance on columns""" -type block_variance_fields { - """Number of the block in substrate.""" - number: Float -} - -""" -Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. -""" -input Boolean_comparison_exp { - _eq: Boolean - _gt: Boolean - _gte: Boolean - _in: [Boolean!] - _is_null: Boolean - _lt: Boolean - _lte: Boolean - _neq: Boolean - _nin: [Boolean!] -} - -"""Table of certifications.""" -type certification { - created_at: timestamptz! - - """Block number where certification was created.""" - created_on: Int! - - """An object relationship""" - created_on_block: block! - - """An object relationship""" - issuer: identity! - - """Index of issuer""" - issuer_index: Int! - - """An object relationship""" - receiver: identity! - - """Index of receiver""" - receiver_index: Int! -} - -""" -aggregated selection of "certification" -""" -type certification_aggregate { - aggregate: certification_aggregate_fields - nodes: [certification!]! -} - -input certification_aggregate_bool_exp { - count: certification_aggregate_bool_exp_count -} - -input certification_aggregate_bool_exp_count { - arguments: [certification_select_column!] - distinct: Boolean - filter: certification_bool_exp - predicate: Int_comparison_exp! -} - -""" -aggregate fields of "certification" -""" -type certification_aggregate_fields { - avg: certification_avg_fields - count(columns: [certification_select_column!], distinct: Boolean): Int! - max: certification_max_fields - min: certification_min_fields - stddev: certification_stddev_fields - stddev_pop: certification_stddev_pop_fields - stddev_samp: certification_stddev_samp_fields - sum: certification_sum_fields - var_pop: certification_var_pop_fields - var_samp: certification_var_samp_fields - variance: certification_variance_fields -} - -""" -order by aggregate values of table "certification" -""" -input certification_aggregate_order_by { - avg: certification_avg_order_by - count: order_by - max: certification_max_order_by - min: certification_min_order_by - stddev: certification_stddev_order_by - stddev_pop: certification_stddev_pop_order_by - stddev_samp: certification_stddev_samp_order_by - sum: certification_sum_order_by - var_pop: certification_var_pop_order_by - var_samp: certification_var_samp_order_by - variance: certification_variance_order_by -} - -"""aggregate avg on columns""" -type certification_avg_fields { - """Block number where certification was created.""" - created_on: Float - - """Index of issuer""" - issuer_index: Float - - """Index of receiver""" - receiver_index: Float -} - -""" -order by avg() on columns of table "certification" -""" -input certification_avg_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -""" -Boolean expression to filter rows from the table "certification". All fields are combined with a logical 'AND'. -""" -input certification_bool_exp { - _and: [certification_bool_exp!] - _not: certification_bool_exp - _or: [certification_bool_exp!] - created_at: timestamptz_comparison_exp - created_on: Int_comparison_exp - created_on_block: block_bool_exp - issuer: identity_bool_exp - issuer_index: Int_comparison_exp - receiver: identity_bool_exp - receiver_index: Int_comparison_exp -} - -"""aggregate max on columns""" -type certification_max_fields { - created_at: timestamptz - - """Block number where certification was created.""" - created_on: Int - - """Index of issuer""" - issuer_index: Int - - """Index of receiver""" - receiver_index: Int -} - -""" -order by max() on columns of table "certification" -""" -input certification_max_order_by { - created_at: order_by - - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""aggregate min on columns""" -type certification_min_fields { - created_at: timestamptz - - """Block number where certification was created.""" - created_on: Int - - """Index of issuer""" - issuer_index: Int - - """Index of receiver""" - receiver_index: Int -} - -""" -order by min() on columns of table "certification" -""" -input certification_min_order_by { - created_at: order_by - - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""Ordering options when selecting data from "certification".""" -input certification_order_by { - created_at: order_by - created_on: order_by - created_on_block: block_order_by - issuer: identity_order_by - issuer_index: order_by - receiver: identity_order_by - receiver_index: order_by -} - -""" -select columns of table "certification" -""" -enum certification_select_column { - """column name""" - created_at - - """column name""" - created_on - - """column name""" - issuer_index - - """column name""" - receiver_index -} - -"""aggregate stddev on columns""" -type certification_stddev_fields { - """Block number where certification was created.""" - created_on: Float - - """Index of issuer""" - issuer_index: Float - - """Index of receiver""" - receiver_index: Float -} - -""" -order by stddev() on columns of table "certification" -""" -input certification_stddev_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""aggregate stddev_pop on columns""" -type certification_stddev_pop_fields { - """Block number where certification was created.""" - created_on: Float - - """Index of issuer""" - issuer_index: Float - - """Index of receiver""" - receiver_index: Float -} - -""" -order by stddev_pop() on columns of table "certification" -""" -input certification_stddev_pop_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""aggregate stddev_samp on columns""" -type certification_stddev_samp_fields { - """Block number where certification was created.""" - created_on: Float - - """Index of issuer""" - issuer_index: Float - - """Index of receiver""" - receiver_index: Float -} - -""" -order by stddev_samp() on columns of table "certification" -""" -input certification_stddev_samp_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -""" -Streaming cursor of the table "certification" -""" -input certification_stream_cursor_input { - """Stream column input with initial value""" - initial_value: certification_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input certification_stream_cursor_value_input { - created_at: timestamptz - - """Block number where certification was created.""" - created_on: Int - - """Index of issuer""" - issuer_index: Int - - """Index of receiver""" - receiver_index: Int -} - -"""aggregate sum on columns""" -type certification_sum_fields { - """Block number where certification was created.""" - created_on: Int - - """Index of issuer""" - issuer_index: Int - - """Index of receiver""" - receiver_index: Int -} - -""" -order by sum() on columns of table "certification" -""" -input certification_sum_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""aggregate var_pop on columns""" -type certification_var_pop_fields { - """Block number where certification was created.""" - created_on: Float - - """Index of issuer""" - issuer_index: Float - - """Index of receiver""" - receiver_index: Float -} - -""" -order by var_pop() on columns of table "certification" -""" -input certification_var_pop_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""aggregate var_samp on columns""" -type certification_var_samp_fields { - """Block number where certification was created.""" - created_on: Float - - """Index of issuer""" - issuer_index: Float - - """Index of receiver""" - receiver_index: Float -} - -""" -order by var_samp() on columns of table "certification" -""" -input certification_var_samp_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""aggregate variance on columns""" -type certification_variance_fields { - """Block number where certification was created.""" - created_on: Float - - """Index of issuer""" - issuer_index: Float - - """Index of receiver""" - receiver_index: Float -} - -""" -order by variance() on columns of table "certification" -""" -input certification_variance_order_by { - """Block number where certification was created.""" - created_on: order_by - - """Index of issuer""" - issuer_index: order_by - - """Index of receiver""" - receiver_index: order_by -} - -"""ordering argument of a cursor""" -enum cursor_ordering { - """ascending ordering of the cursor""" - ASC - - """descending ordering of the cursor""" - DESC -} - -scalar date - -""" -Boolean expression to compare columns of type "Float". All fields are combined with logical 'AND'. -""" -input Float_comparison_exp { - _eq: Float - _gt: Float - _gte: Float - _in: [Float!] - _is_null: Boolean - _lt: Float - _lte: Float - _neq: Float - _nin: [Float!] -} - -"""Table of identities.""" -type identity { - """An object relationship""" - account: account - - """An array relationship""" - cert_issued( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): [certification!]! - - """An aggregate relationship""" - cert_issued_aggregate( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): certification_aggregate! - - """An array relationship""" - cert_received( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): [certification!]! - - """An aggregate relationship""" - cert_received_aggregate( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): certification_aggregate! - confirmed_at: timestamptz - - """Block number where identity was confirmed.""" - confirmed_on: Int - - """An object relationship""" - confirmed_on_block: block - - """Block number where identity was created.""" - created_on: Int - - """An object relationship""" - created_on_block: block - index: Int! - - """Name of the identity.""" - name: String - - """Pubkey of the account associated to this identity.""" - pubkey: String! - revoked_at: timestamptz - - """Block number where identity was revoked.""" - revoked_on: Int - - """An object relationship""" - revoked_on_block: block - validated_at: timestamptz - - """Block number where identity was validated.""" - validated_on: Int - - """An object relationship""" - validated_on_block: block -} - -""" -aggregated selection of "identity" -""" -type identity_aggregate { - aggregate: identity_aggregate_fields - nodes: [identity!]! -} - -""" -aggregate fields of "identity" -""" -type identity_aggregate_fields { - avg: identity_avg_fields - count(columns: [identity_select_column!], distinct: Boolean): Int! - max: identity_max_fields - min: identity_min_fields - stddev: identity_stddev_fields - stddev_pop: identity_stddev_pop_fields - stddev_samp: identity_stddev_samp_fields - sum: identity_sum_fields - var_pop: identity_var_pop_fields - var_samp: identity_var_samp_fields - variance: identity_variance_fields -} - -"""aggregate avg on columns""" -type identity_avg_fields { - """Block number where identity was confirmed.""" - confirmed_on: Float - - """Block number where identity was created.""" - created_on: Float - index: Float - - """Block number where identity was revoked.""" - revoked_on: Float - - """Block number where identity was validated.""" - validated_on: Float -} - -""" -Boolean expression to filter rows from the table "identity". All fields are combined with a logical 'AND'. -""" -input identity_bool_exp { - _and: [identity_bool_exp!] - _not: identity_bool_exp - _or: [identity_bool_exp!] - account: account_bool_exp - cert_issued: certification_bool_exp - cert_issued_aggregate: certification_aggregate_bool_exp - cert_received: certification_bool_exp - cert_received_aggregate: certification_aggregate_bool_exp - confirmed_at: timestamptz_comparison_exp - confirmed_on: Int_comparison_exp - confirmed_on_block: block_bool_exp - created_on: Int_comparison_exp - created_on_block: block_bool_exp - index: Int_comparison_exp - name: String_comparison_exp - pubkey: String_comparison_exp - revoked_at: timestamptz_comparison_exp - revoked_on: Int_comparison_exp - revoked_on_block: block_bool_exp - validated_at: timestamptz_comparison_exp - validated_on: Int_comparison_exp - validated_on_block: block_bool_exp -} - -"""aggregate max on columns""" -type identity_max_fields { - confirmed_at: timestamptz - - """Block number where identity was confirmed.""" - confirmed_on: Int - - """Block number where identity was created.""" - created_on: Int - index: Int - - """Name of the identity.""" - name: String - - """Pubkey of the account associated to this identity.""" - pubkey: String - revoked_at: timestamptz - - """Block number where identity was revoked.""" - revoked_on: Int - validated_at: timestamptz - - """Block number where identity was validated.""" - validated_on: Int -} - -"""aggregate min on columns""" -type identity_min_fields { - confirmed_at: timestamptz - - """Block number where identity was confirmed.""" - confirmed_on: Int - - """Block number where identity was created.""" - created_on: Int - index: Int - - """Name of the identity.""" - name: String - - """Pubkey of the account associated to this identity.""" - pubkey: String - revoked_at: timestamptz - - """Block number where identity was revoked.""" - revoked_on: Int - validated_at: timestamptz - - """Block number where identity was validated.""" - validated_on: Int -} - -"""Ordering options when selecting data from "identity".""" -input identity_order_by { - account: account_order_by - cert_issued_aggregate: certification_aggregate_order_by - cert_received_aggregate: certification_aggregate_order_by - confirmed_at: order_by - confirmed_on: order_by - confirmed_on_block: block_order_by - created_on: order_by - created_on_block: block_order_by - index: order_by - name: order_by - pubkey: order_by - revoked_at: order_by - revoked_on: order_by - revoked_on_block: block_order_by - validated_at: order_by - validated_on: order_by - validated_on_block: block_order_by -} - -""" -select columns of table "identity" -""" -enum identity_select_column { - """column name""" - confirmed_at - - """column name""" - confirmed_on - - """column name""" - created_on - - """column name""" - index - - """column name""" - name - - """column name""" - pubkey - - """column name""" - revoked_at - - """column name""" - revoked_on - - """column name""" - validated_at - - """column name""" - validated_on -} - -"""aggregate stddev on columns""" -type identity_stddev_fields { - """Block number where identity was confirmed.""" - confirmed_on: Float - - """Block number where identity was created.""" - created_on: Float - index: Float - - """Block number where identity was revoked.""" - revoked_on: Float - - """Block number where identity was validated.""" - validated_on: Float -} - -"""aggregate stddev_pop on columns""" -type identity_stddev_pop_fields { - """Block number where identity was confirmed.""" - confirmed_on: Float - - """Block number where identity was created.""" - created_on: Float - index: Float - - """Block number where identity was revoked.""" - revoked_on: Float - - """Block number where identity was validated.""" - validated_on: Float -} - -"""aggregate stddev_samp on columns""" -type identity_stddev_samp_fields { - """Block number where identity was confirmed.""" - confirmed_on: Float - - """Block number where identity was created.""" - created_on: Float - index: Float - - """Block number where identity was revoked.""" - revoked_on: Float - - """Block number where identity was validated.""" - validated_on: Float -} - -""" -Streaming cursor of the table "identity" -""" -input identity_stream_cursor_input { - """Stream column input with initial value""" - initial_value: identity_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input identity_stream_cursor_value_input { - confirmed_at: timestamptz - - """Block number where identity was confirmed.""" - confirmed_on: Int - - """Block number where identity was created.""" - created_on: Int - index: Int - - """Name of the identity.""" - name: String - - """Pubkey of the account associated to this identity.""" - pubkey: String - revoked_at: timestamptz - - """Block number where identity was revoked.""" - revoked_on: Int - validated_at: timestamptz - - """Block number where identity was validated.""" - validated_on: Int -} - -"""aggregate sum on columns""" -type identity_sum_fields { - """Block number where identity was confirmed.""" - confirmed_on: Int - - """Block number where identity was created.""" - created_on: Int - index: Int - - """Block number where identity was revoked.""" - revoked_on: Int - - """Block number where identity was validated.""" - validated_on: Int -} - -"""aggregate var_pop on columns""" -type identity_var_pop_fields { - """Block number where identity was confirmed.""" - confirmed_on: Float - - """Block number where identity was created.""" - created_on: Float - index: Float - - """Block number where identity was revoked.""" - revoked_on: Float - - """Block number where identity was validated.""" - validated_on: Float -} - -"""aggregate var_samp on columns""" -type identity_var_samp_fields { - """Block number where identity was confirmed.""" - confirmed_on: Float - - """Block number where identity was created.""" - created_on: Float - index: Float - - """Block number where identity was revoked.""" - revoked_on: Float - - """Block number where identity was validated.""" - validated_on: Float -} - -"""aggregate variance on columns""" -type identity_variance_fields { - """Block number where identity was confirmed.""" - confirmed_on: Float - - """Block number where identity was created.""" - created_on: Float - index: Float - - """Block number where identity was revoked.""" - revoked_on: Float - - """Block number where identity was validated.""" - validated_on: Float -} - -""" -Boolean expression to compare columns of type "Int". All fields are combined with logical 'AND'. -""" -input Int_comparison_exp { - _eq: Int - _gt: Int - _gte: Int - _in: [Int!] - _is_null: Boolean - _lt: Int - _lte: Int - _neq: Int - _nin: [Int!] -} - -scalar jsonb - -input jsonb_cast_exp { - String: String_comparison_exp -} - -""" -Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'. -""" -input jsonb_comparison_exp { - _cast: jsonb_cast_exp - - """is the column contained in the given json value""" - _contained_in: jsonb - - """does the column contain the given json value at the top level""" - _contains: jsonb - _eq: jsonb - _gt: jsonb - _gte: jsonb - - """does the string exist as a top-level key in the column""" - _has_key: String - - """do all of these strings exist as top-level keys in the column""" - _has_keys_all: [String!] - - """do any of these strings exist as top-level keys in the column""" - _has_keys_any: [String!] - _in: [jsonb!] - _is_null: Boolean - _lt: jsonb - _lte: jsonb - _neq: jsonb - _nin: [jsonb!] -} - -"""column ordering options""" -enum order_by { - """in ascending order, nulls last""" - asc - - """in ascending order, nulls first""" - asc_nulls_first - - """in ascending order, nulls last""" - asc_nulls_last - - """in descending order, nulls first""" - desc - - """in descending order, nulls first""" - desc_nulls_first - - """in descending order, nulls last""" - desc_nulls_last -} - -"""Table of key/value parameters.""" -type parameters { - key: String! - value( - """JSON select path""" - path: String - ): jsonb -} - -""" -Boolean expression to filter rows from the table "parameters". All fields are combined with a logical 'AND'. -""" -input parameters_bool_exp { - _and: [parameters_bool_exp!] - _not: parameters_bool_exp - _or: [parameters_bool_exp!] - key: String_comparison_exp - value: jsonb_comparison_exp -} - -"""Ordering options when selecting data from "parameters".""" -input parameters_order_by { - key: order_by - value: order_by -} - -""" -select columns of table "parameters" -""" -enum parameters_select_column { - """column name""" - key - - """column name""" - value -} - -""" -Streaming cursor of the table "parameters" -""" -input parameters_stream_cursor_input { - """Stream column input with initial value""" - initial_value: parameters_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input parameters_stream_cursor_value_input { - key: String - value: jsonb -} - -type query_root { - """ - fetch data from the table: "account" - """ - account( - """distinct select on columns""" - distinct_on: [account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [account_order_by!] - - """filter the rows returned""" - where: account_bool_exp - ): [account!]! - - """ - fetch aggregated fields from the table: "account" - """ - account_aggregate( - """distinct select on columns""" - distinct_on: [account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [account_order_by!] - - """filter the rows returned""" - where: account_bool_exp - ): account_aggregate! - - """fetch data from the table: "account" using primary key columns""" - account_by_pk( - """Pubkey of the account.""" - pubkey: String! - ): account - - """ - fetch data from the table: "block" - """ - block( - """distinct select on columns""" - distinct_on: [block_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [block_order_by!] - - """filter the rows returned""" - where: block_bool_exp - ): [block!]! - - """ - fetch aggregated fields from the table: "block" - """ - block_aggregate( - """distinct select on columns""" - distinct_on: [block_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [block_order_by!] - - """filter the rows returned""" - where: block_bool_exp - ): block_aggregate! - - """fetch data from the table: "block" using primary key columns""" - block_by_pk( - """Number of the block in substrate.""" - number: Int! - ): block - - """ - fetch data from the table: "certification" - """ - certification( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): [certification!]! - - """ - fetch aggregated fields from the table: "certification" - """ - certification_aggregate( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): certification_aggregate! - - """fetch data from the table: "certification" using primary key columns""" - certification_by_pk( - """Block number where certification was created.""" - created_on: Int! - - """Index of issuer""" - issuer_index: Int! - - """Index of receiver""" - receiver_index: Int! - ): certification - - """ - fetch data from the table: "identity" - """ - identity( - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): [identity!]! - - """ - fetch aggregated fields from the table: "identity" - """ - identity_aggregate( - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): identity_aggregate! - - """fetch data from the table: "identity" using primary key columns""" - identity_by_pk(index: Int!): identity - - """ - fetch data from the table: "parameters" - """ - parameters( - """distinct select on columns""" - distinct_on: [parameters_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [parameters_order_by!] - - """filter the rows returned""" - where: parameters_bool_exp - ): [parameters!]! - - """fetch data from the table: "parameters" using primary key columns""" - parameters_by_pk(key: String!): parameters - - """ - execute function "search_identity" which returns "identity" - """ - search_identity( - """ - input parameters for function "search_identity" - """ - args: search_identity_args! - - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): [identity!]! - - """ - execute function "search_identity" and query aggregates on result of table type "identity" - """ - search_identity_aggregate( - """ - input parameters for function "search_identity_aggregate" - """ - args: search_identity_args! - - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): identity_aggregate! - - """ - fetch data from the table: "smith" - """ - smith( - """distinct select on columns""" - distinct_on: [smith_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_order_by!] - - """filter the rows returned""" - where: smith_bool_exp - ): [smith!]! - - """ - fetch aggregated fields from the table: "smith" - """ - smith_aggregate( - """distinct select on columns""" - distinct_on: [smith_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_order_by!] - - """filter the rows returned""" - where: smith_bool_exp - ): smith_aggregate! - - """fetch data from the table: "smith" using primary key columns""" - smith_by_pk(idty_index: Int!): smith - - """ - fetch data from the table: "smith_cert" - """ - smith_cert( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): [smith_cert!]! - - """ - fetch aggregated fields from the table: "smith_cert" - """ - smith_cert_aggregate( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): smith_cert_aggregate! - - """fetch data from the table: "smith_cert" using primary key columns""" - smith_cert_by_pk(created_on: Int!, issuer_index: Int!, receiver_index: Int!): smith_cert - - """ - fetch data from the table: "transaction" - """ - transaction( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): [transaction!]! - - """ - fetch aggregated fields from the table: "transaction" - """ - transaction_aggregate( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): transaction_aggregate! - - """fetch data from the table: "transaction" using primary key columns""" - transaction_by_pk( - """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. - """ - id: Int! - ): transaction - - """ - execute function "transaction_timeserie" which returns "transaction_timeserie_tmp" - """ - transaction_timeserie( - """ - input parameters for function "transaction_timeserie" - """ - args: transaction_timeserie_args! - - """distinct select on columns""" - distinct_on: [transaction_timeserie_tmp_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_timeserie_tmp_order_by!] - - """filter the rows returned""" - where: transaction_timeserie_tmp_bool_exp - ): [transaction_timeserie_tmp!]! - - """ - fetch data from the table: "transaction_timeserie_tmp" - """ - transaction_timeserie_tmp( - """distinct select on columns""" - distinct_on: [transaction_timeserie_tmp_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_timeserie_tmp_order_by!] - - """filter the rows returned""" - where: transaction_timeserie_tmp_bool_exp - ): [transaction_timeserie_tmp!]! - - """ - fetch data from the table: "transaction_timeserie_tmp" using primary key columns - """ - transaction_timeserie_tmp_by_pk(date: timestamptz!): transaction_timeserie_tmp -} - -input search_identity_args { - name: String -} - -"""identities with smith membership""" -type smith { - """An array relationship""" - cert_issued( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): [smith_cert!]! - - """An aggregate relationship""" - cert_issued_aggregate( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): smith_cert_aggregate! - - """An array relationship""" - cert_received( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): [smith_cert!]! - - """An aggregate relationship""" - cert_received_aggregate( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): smith_cert_aggregate! - - """An object relationship""" - identity: identity! - idty_index: Int! -} - -""" -aggregated selection of "smith" -""" -type smith_aggregate { - aggregate: smith_aggregate_fields - nodes: [smith!]! -} - -""" -aggregate fields of "smith" -""" -type smith_aggregate_fields { - avg: smith_avg_fields - count(columns: [smith_select_column!], distinct: Boolean): Int! - max: smith_max_fields - min: smith_min_fields - stddev: smith_stddev_fields - stddev_pop: smith_stddev_pop_fields - stddev_samp: smith_stddev_samp_fields - sum: smith_sum_fields - var_pop: smith_var_pop_fields - var_samp: smith_var_samp_fields - variance: smith_variance_fields -} - -"""aggregate avg on columns""" -type smith_avg_fields { - idty_index: Float -} - -""" -Boolean expression to filter rows from the table "smith". All fields are combined with a logical 'AND'. -""" -input smith_bool_exp { - _and: [smith_bool_exp!] - _not: smith_bool_exp - _or: [smith_bool_exp!] - cert_issued: smith_cert_bool_exp - cert_issued_aggregate: smith_cert_aggregate_bool_exp - cert_received: smith_cert_bool_exp - cert_received_aggregate: smith_cert_aggregate_bool_exp - identity: identity_bool_exp - idty_index: Int_comparison_exp -} - -"""smith certifications""" -type smith_cert { - created_at: timestamptz! - created_on: Int! - - """An object relationship""" - created_on_block: block! - - """An object relationship""" - issuer: smith! - issuer_index: Int! - - """An object relationship""" - receiver: smith! - receiver_index: Int! -} - -""" -aggregated selection of "smith_cert" -""" -type smith_cert_aggregate { - aggregate: smith_cert_aggregate_fields - nodes: [smith_cert!]! -} - -input smith_cert_aggregate_bool_exp { - count: smith_cert_aggregate_bool_exp_count -} - -input smith_cert_aggregate_bool_exp_count { - arguments: [smith_cert_select_column!] - distinct: Boolean - filter: smith_cert_bool_exp - predicate: Int_comparison_exp! -} - -""" -aggregate fields of "smith_cert" -""" -type smith_cert_aggregate_fields { - avg: smith_cert_avg_fields - count(columns: [smith_cert_select_column!], distinct: Boolean): Int! - max: smith_cert_max_fields - min: smith_cert_min_fields - stddev: smith_cert_stddev_fields - stddev_pop: smith_cert_stddev_pop_fields - stddev_samp: smith_cert_stddev_samp_fields - sum: smith_cert_sum_fields - var_pop: smith_cert_var_pop_fields - var_samp: smith_cert_var_samp_fields - variance: smith_cert_variance_fields -} - -""" -order by aggregate values of table "smith_cert" -""" -input smith_cert_aggregate_order_by { - avg: smith_cert_avg_order_by - count: order_by - max: smith_cert_max_order_by - min: smith_cert_min_order_by - stddev: smith_cert_stddev_order_by - stddev_pop: smith_cert_stddev_pop_order_by - stddev_samp: smith_cert_stddev_samp_order_by - sum: smith_cert_sum_order_by - var_pop: smith_cert_var_pop_order_by - var_samp: smith_cert_var_samp_order_by - variance: smith_cert_variance_order_by -} - -"""aggregate avg on columns""" -type smith_cert_avg_fields { - created_on: Float - issuer_index: Float - receiver_index: Float -} - -""" -order by avg() on columns of table "smith_cert" -""" -input smith_cert_avg_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -""" -Boolean expression to filter rows from the table "smith_cert". All fields are combined with a logical 'AND'. -""" -input smith_cert_bool_exp { - _and: [smith_cert_bool_exp!] - _not: smith_cert_bool_exp - _or: [smith_cert_bool_exp!] - created_at: timestamptz_comparison_exp - created_on: Int_comparison_exp - created_on_block: block_bool_exp - issuer: smith_bool_exp - issuer_index: Int_comparison_exp - receiver: smith_bool_exp - receiver_index: Int_comparison_exp -} - -"""aggregate max on columns""" -type smith_cert_max_fields { - created_at: timestamptz - created_on: Int - issuer_index: Int - receiver_index: Int -} - -""" -order by max() on columns of table "smith_cert" -""" -input smith_cert_max_order_by { - created_at: order_by - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""aggregate min on columns""" -type smith_cert_min_fields { - created_at: timestamptz - created_on: Int - issuer_index: Int - receiver_index: Int -} - -""" -order by min() on columns of table "smith_cert" -""" -input smith_cert_min_order_by { - created_at: order_by - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""Ordering options when selecting data from "smith_cert".""" -input smith_cert_order_by { - created_at: order_by - created_on: order_by - created_on_block: block_order_by - issuer: smith_order_by - issuer_index: order_by - receiver: smith_order_by - receiver_index: order_by -} - -""" -select columns of table "smith_cert" -""" -enum smith_cert_select_column { - """column name""" - created_at - - """column name""" - created_on - - """column name""" - issuer_index - - """column name""" - receiver_index -} - -"""aggregate stddev on columns""" -type smith_cert_stddev_fields { - created_on: Float - issuer_index: Float - receiver_index: Float -} - -""" -order by stddev() on columns of table "smith_cert" -""" -input smith_cert_stddev_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""aggregate stddev_pop on columns""" -type smith_cert_stddev_pop_fields { - created_on: Float - issuer_index: Float - receiver_index: Float -} - -""" -order by stddev_pop() on columns of table "smith_cert" -""" -input smith_cert_stddev_pop_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""aggregate stddev_samp on columns""" -type smith_cert_stddev_samp_fields { - created_on: Float - issuer_index: Float - receiver_index: Float -} - -""" -order by stddev_samp() on columns of table "smith_cert" -""" -input smith_cert_stddev_samp_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -""" -Streaming cursor of the table "smith_cert" -""" -input smith_cert_stream_cursor_input { - """Stream column input with initial value""" - initial_value: smith_cert_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input smith_cert_stream_cursor_value_input { - created_at: timestamptz - created_on: Int - issuer_index: Int - receiver_index: Int -} - -"""aggregate sum on columns""" -type smith_cert_sum_fields { - created_on: Int - issuer_index: Int - receiver_index: Int -} - -""" -order by sum() on columns of table "smith_cert" -""" -input smith_cert_sum_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""aggregate var_pop on columns""" -type smith_cert_var_pop_fields { - created_on: Float - issuer_index: Float - receiver_index: Float -} - -""" -order by var_pop() on columns of table "smith_cert" -""" -input smith_cert_var_pop_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""aggregate var_samp on columns""" -type smith_cert_var_samp_fields { - created_on: Float - issuer_index: Float - receiver_index: Float -} - -""" -order by var_samp() on columns of table "smith_cert" -""" -input smith_cert_var_samp_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""aggregate variance on columns""" -type smith_cert_variance_fields { - created_on: Float - issuer_index: Float - receiver_index: Float -} - -""" -order by variance() on columns of table "smith_cert" -""" -input smith_cert_variance_order_by { - created_on: order_by - issuer_index: order_by - receiver_index: order_by -} - -"""aggregate max on columns""" -type smith_max_fields { - idty_index: Int -} - -"""aggregate min on columns""" -type smith_min_fields { - idty_index: Int -} - -"""Ordering options when selecting data from "smith".""" -input smith_order_by { - cert_issued_aggregate: smith_cert_aggregate_order_by - cert_received_aggregate: smith_cert_aggregate_order_by - identity: identity_order_by - idty_index: order_by -} - -""" -select columns of table "smith" -""" -enum smith_select_column { - """column name""" - idty_index -} - -"""aggregate stddev on columns""" -type smith_stddev_fields { - idty_index: Float -} - -"""aggregate stddev_pop on columns""" -type smith_stddev_pop_fields { - idty_index: Float -} - -"""aggregate stddev_samp on columns""" -type smith_stddev_samp_fields { - idty_index: Float -} - -""" -Streaming cursor of the table "smith" -""" -input smith_stream_cursor_input { - """Stream column input with initial value""" - initial_value: smith_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input smith_stream_cursor_value_input { - idty_index: Int -} - -"""aggregate sum on columns""" -type smith_sum_fields { - idty_index: Int -} - -"""aggregate var_pop on columns""" -type smith_var_pop_fields { - idty_index: Float -} - -"""aggregate var_samp on columns""" -type smith_var_samp_fields { - idty_index: Float -} - -"""aggregate variance on columns""" -type smith_variance_fields { - idty_index: Float -} - -""" -Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. -""" -input String_comparison_exp { - _eq: String - _gt: String - _gte: String - - """does the column match the given case-insensitive pattern""" - _ilike: String - _in: [String!] - - """ - does the column match the given POSIX regular expression, case insensitive - """ - _iregex: String - _is_null: Boolean - - """does the column match the given pattern""" - _like: String - _lt: String - _lte: String - _neq: String - - """does the column NOT match the given case-insensitive pattern""" - _nilike: String - _nin: [String!] - - """ - does the column NOT match the given POSIX regular expression, case insensitive - """ - _niregex: String - - """does the column NOT match the given pattern""" - _nlike: String - - """ - does the column NOT match the given POSIX regular expression, case sensitive - """ - _nregex: String - - """does the column NOT match the given SQL regular expression""" - _nsimilar: String - - """ - does the column match the given POSIX regular expression, case sensitive - """ - _regex: String - - """does the column match the given SQL regular expression""" - _similar: String -} - -type subscription_root { - """ - fetch data from the table: "account" - """ - account( - """distinct select on columns""" - distinct_on: [account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [account_order_by!] - - """filter the rows returned""" - where: account_bool_exp - ): [account!]! - - """ - fetch aggregated fields from the table: "account" - """ - account_aggregate( - """distinct select on columns""" - distinct_on: [account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" +type Query { + blocks( + where: BlockWhereInput + orderBy: [BlockOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [account_order_by!] - - """filter the rows returned""" - where: account_bool_exp - ): account_aggregate! - - """fetch data from the table: "account" using primary key columns""" - account_by_pk( - """Pubkey of the account.""" - pubkey: String! - ): account - - """ - fetch data from the table in a streaming manner: "account" - """ - account_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [account_stream_cursor_input]! - - """filter the rows returned""" - where: account_bool_exp - ): [account!]! - - """ - fetch data from the table: "block" - """ - block( - """distinct select on columns""" - distinct_on: [block_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Block!]! + blockById(id: String!): Block + blockByUniqueInput(where: WhereIdInput!): Block + @deprecated(reason: "Use blockById") + blocksConnection( + orderBy: [BlockOrderByInput!]! + after: String + first: Int + where: BlockWhereInput + ): BlocksConnection! + extrinsics( + where: ExtrinsicWhereInput + orderBy: [ExtrinsicOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [block_order_by!] - - """filter the rows returned""" - where: block_bool_exp - ): [block!]! - - """ - fetch aggregated fields from the table: "block" - """ - block_aggregate( - """distinct select on columns""" - distinct_on: [block_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Extrinsic!]! + extrinsicById(id: String!): Extrinsic + extrinsicByUniqueInput(where: WhereIdInput!): Extrinsic + @deprecated(reason: "Use extrinsicById") + extrinsicsConnection( + orderBy: [ExtrinsicOrderByInput!]! + after: String + first: Int + where: ExtrinsicWhereInput + ): ExtrinsicsConnection! + calls( + where: CallWhereInput + orderBy: [CallOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [block_order_by!] - - """filter the rows returned""" - where: block_bool_exp - ): block_aggregate! - - """fetch data from the table: "block" using primary key columns""" - block_by_pk( - """Number of the block in substrate.""" - number: Int! - ): block - - """ - fetch data from the table in a streaming manner: "block" - """ - block_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [block_stream_cursor_input]! - - """filter the rows returned""" - where: block_bool_exp - ): [block!]! - - """ - fetch data from the table: "certification" - """ - certification( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Call!]! + callById(id: String!): Call + callByUniqueInput(where: WhereIdInput!): Call + @deprecated(reason: "Use callById") + callsConnection( + orderBy: [CallOrderByInput!]! + after: String + first: Int + where: CallWhereInput + ): CallsConnection! + events( + where: EventWhereInput + orderBy: [EventOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): [certification!]! - - """ - fetch aggregated fields from the table: "certification" - """ - certification_aggregate( - """distinct select on columns""" - distinct_on: [certification_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Event!]! + eventById(id: String!): Event + eventByUniqueInput(where: WhereIdInput!): Event + @deprecated(reason: "Use eventById") + eventsConnection( + orderBy: [EventOrderByInput!]! + after: String + first: Int + where: EventWhereInput + ): EventsConnection! + itemsCounters( + where: ItemsCounterWhereInput + orderBy: [ItemsCounterOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [certification_order_by!] - - """filter the rows returned""" - where: certification_bool_exp - ): certification_aggregate! - - """fetch data from the table: "certification" using primary key columns""" - certification_by_pk( - """Block number where certification was created.""" - created_on: Int! - - """Index of issuer""" - issuer_index: Int! - - """Index of receiver""" - receiver_index: Int! - ): certification - - """ - fetch data from the table in a streaming manner: "certification" - """ - certification_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [certification_stream_cursor_input]! - - """filter the rows returned""" - where: certification_bool_exp - ): [certification!]! - - """ - fetch data from the table: "identity" - """ - identity( - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [ItemsCounter!]! + itemsCounterById(id: String!): ItemsCounter + itemsCounterByUniqueInput(where: WhereIdInput!): ItemsCounter + @deprecated(reason: "Use itemsCounterById") + itemsCountersConnection( + orderBy: [ItemsCounterOrderByInput!]! + after: String + first: Int + where: ItemsCounterWhereInput + ): ItemsCountersConnection! + accounts( + where: AccountWhereInput + orderBy: [AccountOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): [identity!]! - - """ - fetch aggregated fields from the table: "identity" - """ - identity_aggregate( - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Account!]! + accountById(id: String!): Account + accountByUniqueInput(where: WhereIdInput!): Account + @deprecated(reason: "Use accountById") + accountsConnection( + orderBy: [AccountOrderByInput!]! + after: String + first: Int + where: AccountWhereInput + ): AccountsConnection! + transfers( + where: TransferWhereInput + orderBy: [TransferOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): identity_aggregate! - - """fetch data from the table: "identity" using primary key columns""" - identity_by_pk(index: Int!): identity - - """ - fetch data from the table in a streaming manner: "identity" - """ - identity_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [identity_stream_cursor_input]! - - """filter the rows returned""" - where: identity_bool_exp - ): [identity!]! - - """ - fetch data from the table: "parameters" - """ - parameters( - """distinct select on columns""" - distinct_on: [parameters_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Transfer!]! + transferById(id: String!): Transfer + transferByUniqueInput(where: WhereIdInput!): Transfer + @deprecated(reason: "Use transferById") + transfersConnection( + orderBy: [TransferOrderByInput!]! + after: String + first: Int + where: TransferWhereInput + ): TransfersConnection! + identities( + where: IdentityWhereInput + orderBy: [IdentityOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [parameters_order_by!] - - """filter the rows returned""" - where: parameters_bool_exp - ): [parameters!]! - - """fetch data from the table: "parameters" using primary key columns""" - parameters_by_pk(key: String!): parameters - - """ - fetch data from the table in a streaming manner: "parameters" - """ - parameters_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [parameters_stream_cursor_input]! - - """filter the rows returned""" - where: parameters_bool_exp - ): [parameters!]! - - """ - execute function "search_identity" which returns "identity" - """ - search_identity( - """ - input parameters for function "search_identity" - """ - args: search_identity_args! - - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Identity!]! + identityById(id: String!): Identity + identityByUniqueInput(where: WhereIdInput!): Identity + @deprecated(reason: "Use identityById") + identitiesConnection( + orderBy: [IdentityOrderByInput!]! + after: String + first: Int + where: IdentityWhereInput + ): IdentitiesConnection! + changeOwnerKeys( + where: ChangeOwnerKeyWhereInput + orderBy: [ChangeOwnerKeyOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): [identity!]! - - """ - execute function "search_identity" and query aggregates on result of table type "identity" - """ - search_identity_aggregate( - """ - input parameters for function "search_identity_aggregate" - """ - args: search_identity_args! - - """distinct select on columns""" - distinct_on: [identity_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [ChangeOwnerKey!]! + changeOwnerKeyById(id: String!): ChangeOwnerKey + changeOwnerKeyByUniqueInput(where: WhereIdInput!): ChangeOwnerKey + @deprecated(reason: "Use changeOwnerKeyById") + changeOwnerKeysConnection( + orderBy: [ChangeOwnerKeyOrderByInput!]! + after: String + first: Int + where: ChangeOwnerKeyWhereInput + ): ChangeOwnerKeysConnection! + certs( + where: CertWhereInput + orderBy: [CertOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [identity_order_by!] - - """filter the rows returned""" - where: identity_bool_exp - ): identity_aggregate! - - """ - fetch data from the table: "smith" - """ - smith( - """distinct select on columns""" - distinct_on: [smith_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Cert!]! + certById(id: String!): Cert + certByUniqueInput(where: WhereIdInput!): Cert + @deprecated(reason: "Use certById") + certsConnection( + orderBy: [CertOrderByInput!]! + after: String + first: Int + where: CertWhereInput + ): CertsConnection! + certCreations( + where: CertCreationWhereInput + orderBy: [CertCreationOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_order_by!] - - """filter the rows returned""" - where: smith_bool_exp - ): [smith!]! - - """ - fetch aggregated fields from the table: "smith" - """ - smith_aggregate( - """distinct select on columns""" - distinct_on: [smith_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [CertCreation!]! + certCreationById(id: String!): CertCreation + certCreationByUniqueInput(where: WhereIdInput!): CertCreation + @deprecated(reason: "Use certCreationById") + certCreationsConnection( + orderBy: [CertCreationOrderByInput!]! + after: String + first: Int + where: CertCreationWhereInput + ): CertCreationsConnection! + certRenewals( + where: CertRenewalWhereInput + orderBy: [CertRenewalOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_order_by!] - - """filter the rows returned""" - where: smith_bool_exp - ): smith_aggregate! - - """fetch data from the table: "smith" using primary key columns""" - smith_by_pk(idty_index: Int!): smith - - """ - fetch data from the table: "smith_cert" - """ - smith_cert( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [CertRenewal!]! + certRenewalById(id: String!): CertRenewal + certRenewalByUniqueInput(where: WhereIdInput!): CertRenewal + @deprecated(reason: "Use certRenewalById") + certRenewalsConnection( + orderBy: [CertRenewalOrderByInput!]! + after: String + first: Int + where: CertRenewalWhereInput + ): CertRenewalsConnection! + certRemovals( + where: CertRemovalWhereInput + orderBy: [CertRemovalOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): [smith_cert!]! - - """ - fetch aggregated fields from the table: "smith_cert" - """ - smith_cert_aggregate( - """distinct select on columns""" - distinct_on: [smith_cert_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [smith_cert_order_by!] - - """filter the rows returned""" - where: smith_cert_bool_exp - ): smith_cert_aggregate! - - """fetch data from the table: "smith_cert" using primary key columns""" - smith_cert_by_pk(created_on: Int!, issuer_index: Int!, receiver_index: Int!): smith_cert - - """ - fetch data from the table in a streaming manner: "smith_cert" - """ - smith_cert_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [smith_cert_stream_cursor_input]! - - """filter the rows returned""" - where: smith_cert_bool_exp - ): [smith_cert!]! - - """ - fetch data from the table in a streaming manner: "smith" - """ - smith_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [smith_stream_cursor_input]! - - """filter the rows returned""" - where: smith_bool_exp - ): [smith!]! - - """ - fetch data from the table: "transaction" - """ - transaction( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" + ): [CertRemoval!]! + certRemovalById(id: String!): CertRemoval + certRemovalByUniqueInput(where: WhereIdInput!): CertRemoval + @deprecated(reason: "Use certRemovalById") + certRemovalsConnection( + orderBy: [CertRemovalOrderByInput!]! + after: String + first: Int + where: CertRemovalWhereInput + ): CertRemovalsConnection! + smithCerts( + where: SmithCertWhereInput + orderBy: [SmithCertOrderByInput!] + offset: Int limit: Int - - """skip the first n rows. Use only with order_by""" + ): [SmithCert!]! + smithCertById(id: String!): SmithCert + smithCertByUniqueInput(where: WhereIdInput!): SmithCert + @deprecated(reason: "Use smithCertById") + smithCertsConnection( + orderBy: [SmithCertOrderByInput!]! + after: String + first: Int + where: SmithCertWhereInput + ): SmithCertsConnection! + memberships( + where: MembershipWhereInput + orderBy: [MembershipOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): [transaction!]! - - """ - fetch aggregated fields from the table: "transaction" - """ - transaction_aggregate( - """distinct select on columns""" - distinct_on: [transaction_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Membership!]! + membershipById(id: String!): Membership + membershipByUniqueInput(where: WhereIdInput!): Membership + @deprecated(reason: "Use membershipById") + membershipsConnection( + orderBy: [MembershipOrderByInput!]! + after: String + first: Int + where: MembershipWhereInput + ): MembershipsConnection! + smithMemberships( + where: SmithMembershipWhereInput + orderBy: [SmithMembershipOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_order_by!] - - """filter the rows returned""" - where: transaction_bool_exp - ): transaction_aggregate! - - """fetch data from the table: "transaction" using primary key columns""" - transaction_by_pk( - """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. - """ - id: Int! - ): transaction - - """ - fetch data from the table in a streaming manner: "transaction" - """ - transaction_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [transaction_stream_cursor_input]! - - """filter the rows returned""" - where: transaction_bool_exp - ): [transaction!]! - - """ - execute function "transaction_timeserie" which returns "transaction_timeserie_tmp" - """ - transaction_timeserie( - """ - input parameters for function "transaction_timeserie" - """ - args: transaction_timeserie_args! - - """distinct select on columns""" - distinct_on: [transaction_timeserie_tmp_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [SmithMembership!]! + smithMembershipById(id: String!): SmithMembership + smithMembershipByUniqueInput(where: WhereIdInput!): SmithMembership + @deprecated(reason: "Use smithMembershipById") + smithMembershipsConnection( + orderBy: [SmithMembershipOrderByInput!]! + after: String + first: Int + where: SmithMembershipWhereInput + ): SmithMembershipsConnection! + squidStatus: SquidStatus +} + +type Block { + """ + BlockHeight-blockHash - e.g. 0001812319-0001c + """ + id: String! + height: Int! + hash: Bytes! + parentHash: Bytes! + stateRoot: Bytes! + extrinsicsicRoot: Bytes! + specName: String! + specVersion: Int! + implName: String! + implVersion: Int! + timestamp: DateTime! + validator: Bytes + extrinsicsCount: Int! + callsCount: Int! + eventsCount: Int! + extrinsics( + where: ExtrinsicWhereInput + orderBy: [ExtrinsicOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_timeserie_tmp_order_by!] - - """filter the rows returned""" - where: transaction_timeserie_tmp_bool_exp - ): [transaction_timeserie_tmp!]! - - """ - fetch data from the table: "transaction_timeserie_tmp" - """ - transaction_timeserie_tmp( - """distinct select on columns""" - distinct_on: [transaction_timeserie_tmp_select_column!] - - """limit the number of rows returned""" limit: Int - - """skip the first n rows. Use only with order_by""" + ): [Extrinsic!]! + calls( + where: CallWhereInput + orderBy: [CallOrderByInput!] offset: Int - - """sort the rows by one or more columns""" - order_by: [transaction_timeserie_tmp_order_by!] - - """filter the rows returned""" - where: transaction_timeserie_tmp_bool_exp - ): [transaction_timeserie_tmp!]! - - """ - fetch data from the table: "transaction_timeserie_tmp" using primary key columns - """ - transaction_timeserie_tmp_by_pk(date: timestamptz!): transaction_timeserie_tmp - - """ - fetch data from the table in a streaming manner: "transaction_timeserie_tmp" - """ - transaction_timeserie_tmp_stream( - """maximum number of rows returned in a single batch""" - batch_size: Int! - - """cursor to stream the results returned by the query""" - cursor: [transaction_timeserie_tmp_stream_cursor_input]! - - """filter the rows returned""" - where: transaction_timeserie_tmp_bool_exp - ): [transaction_timeserie_tmp!]! + limit: Int + ): [Call!]! + events( + where: EventWhereInput + orderBy: [EventOrderByInput!] + offset: Int + limit: Int + ): [Event!]! } -scalar time_period - -scalar timestamp - """ -Boolean expression to compare columns of type "timestamp". All fields are combined with logical 'AND'. +Binary data encoded as a hex string always prefixed with 0x """ -input timestamp_comparison_exp { - _eq: timestamp - _gt: timestamp - _gte: timestamp - _in: [timestamp!] - _is_null: Boolean - _lt: timestamp - _lte: timestamp - _neq: timestamp - _nin: [timestamp!] -} - -scalar timestamptz +scalar Bytes """ -Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'. +A date-time string in simplified extended ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ) """ -input timestamptz_comparison_exp { - _eq: timestamptz - _gt: timestamptz - _gte: timestamptz - _in: [timestamptz!] - _is_null: Boolean - _lt: timestamptz - _lte: timestamptz - _neq: timestamptz - _nin: [timestamptz!] -} - -"""Table of transactions.""" -type transaction { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float! - comment: String - created_at: timestamptz! +scalar DateTime - """Block number where transaction was created.""" - created_on: Int! - - """An object relationship""" - created_on_block: block! +type Extrinsic { + id: String! + block: Block! + call: Call! + index: Int! + version: Int! + signature: ExtrinsicSignature + tip: BigInt + fee: BigInt + success: Boolean + error: JSON + hash: Bytes! + calls( + where: CallWhereInput + orderBy: [CallOrderByInput!] + offset: Int + limit: Int + ): [Call!]! + events( + where: EventWhereInput + orderBy: [EventOrderByInput!] + offset: Int + limit: Int + ): [Event!]! +} + +type Call { + id: String! + block: Block! + extrinsic: Extrinsic + parent: Call + address: [Int!]! + success: Boolean! + error: JSON + pallet: String! + name: String! + args: JSON + argsStr: [String] + subcalls( + where: CallWhereInput + orderBy: [CallOrderByInput!] + offset: Int + limit: Int + ): [Call!]! + events( + where: EventWhereInput + orderBy: [EventOrderByInput!] + offset: Int + limit: Int + ): [Event!]! +} + +""" +A scalar that can represent any JSON value +""" +scalar JSON + +input CallWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + block_isNull: Boolean + block: BlockWhereInput + extrinsic_isNull: Boolean + extrinsic: ExtrinsicWhereInput + parent_isNull: Boolean + parent: CallWhereInput + address_isNull: Boolean + address_containsAll: [Int!] + address_containsAny: [Int!] + address_containsNone: [Int!] + success_isNull: Boolean + success_eq: Boolean + success_not_eq: Boolean + error_isNull: Boolean + error_eq: JSON + error_not_eq: JSON + error_jsonContains: JSON + error_jsonHasKey: JSON + pallet_isNull: Boolean + pallet_eq: String + pallet_not_eq: String + pallet_gt: String + pallet_gte: String + pallet_lt: String + pallet_lte: String + pallet_in: [String!] + pallet_not_in: [String!] + pallet_contains: String + pallet_not_contains: String + pallet_containsInsensitive: String + pallet_not_containsInsensitive: String + pallet_startsWith: String + pallet_not_startsWith: String + pallet_endsWith: String + pallet_not_endsWith: String + name_isNull: Boolean + name_eq: String + name_not_eq: String + name_gt: String + name_gte: String + name_lt: String + name_lte: String + name_in: [String!] + name_not_in: [String!] + name_contains: String + name_not_contains: String + name_containsInsensitive: String + name_not_containsInsensitive: String + name_startsWith: String + name_not_startsWith: String + name_endsWith: String + name_not_endsWith: String + args_isNull: Boolean + args_eq: JSON + args_not_eq: JSON + args_jsonContains: JSON + args_jsonHasKey: JSON + argsStr_isNull: Boolean + argsStr_containsAll: [String] + argsStr_containsAny: [String] + argsStr_containsNone: [String] + subcalls_every: CallWhereInput + subcalls_some: CallWhereInput + subcalls_none: CallWhereInput + events_every: EventWhereInput + events_some: EventWhereInput + events_none: EventWhereInput + AND: [CallWhereInput!] + OR: [CallWhereInput!] +} + +input BlockWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + height_isNull: Boolean + height_eq: Int + height_not_eq: Int + height_gt: Int + height_gte: Int + height_lt: Int + height_lte: Int + height_in: [Int!] + height_not_in: [Int!] + hash_isNull: Boolean + hash_eq: Bytes + hash_not_eq: Bytes + parentHash_isNull: Boolean + parentHash_eq: Bytes + parentHash_not_eq: Bytes + stateRoot_isNull: Boolean + stateRoot_eq: Bytes + stateRoot_not_eq: Bytes + extrinsicsicRoot_isNull: Boolean + extrinsicsicRoot_eq: Bytes + extrinsicsicRoot_not_eq: Bytes + specName_isNull: Boolean + specName_eq: String + specName_not_eq: String + specName_gt: String + specName_gte: String + specName_lt: String + specName_lte: String + specName_in: [String!] + specName_not_in: [String!] + specName_contains: String + specName_not_contains: String + specName_containsInsensitive: String + specName_not_containsInsensitive: String + specName_startsWith: String + specName_not_startsWith: String + specName_endsWith: String + specName_not_endsWith: String + specVersion_isNull: Boolean + specVersion_eq: Int + specVersion_not_eq: Int + specVersion_gt: Int + specVersion_gte: Int + specVersion_lt: Int + specVersion_lte: Int + specVersion_in: [Int!] + specVersion_not_in: [Int!] + implName_isNull: Boolean + implName_eq: String + implName_not_eq: String + implName_gt: String + implName_gte: String + implName_lt: String + implName_lte: String + implName_in: [String!] + implName_not_in: [String!] + implName_contains: String + implName_not_contains: String + implName_containsInsensitive: String + implName_not_containsInsensitive: String + implName_startsWith: String + implName_not_startsWith: String + implName_endsWith: String + implName_not_endsWith: String + implVersion_isNull: Boolean + implVersion_eq: Int + implVersion_not_eq: Int + implVersion_gt: Int + implVersion_gte: Int + implVersion_lt: Int + implVersion_lte: Int + implVersion_in: [Int!] + implVersion_not_in: [Int!] + timestamp_isNull: Boolean + timestamp_eq: DateTime + timestamp_not_eq: DateTime + timestamp_gt: DateTime + timestamp_gte: DateTime + timestamp_lt: DateTime + timestamp_lte: DateTime + timestamp_in: [DateTime!] + timestamp_not_in: [DateTime!] + validator_isNull: Boolean + validator_eq: Bytes + validator_not_eq: Bytes + extrinsicsCount_isNull: Boolean + extrinsicsCount_eq: Int + extrinsicsCount_not_eq: Int + extrinsicsCount_gt: Int + extrinsicsCount_gte: Int + extrinsicsCount_lt: Int + extrinsicsCount_lte: Int + extrinsicsCount_in: [Int!] + extrinsicsCount_not_in: [Int!] + callsCount_isNull: Boolean + callsCount_eq: Int + callsCount_not_eq: Int + callsCount_gt: Int + callsCount_gte: Int + callsCount_lt: Int + callsCount_lte: Int + callsCount_in: [Int!] + callsCount_not_in: [Int!] + eventsCount_isNull: Boolean + eventsCount_eq: Int + eventsCount_not_eq: Int + eventsCount_gt: Int + eventsCount_gte: Int + eventsCount_lt: Int + eventsCount_lte: Int + eventsCount_in: [Int!] + eventsCount_not_in: [Int!] + extrinsics_every: ExtrinsicWhereInput + extrinsics_some: ExtrinsicWhereInput + extrinsics_none: ExtrinsicWhereInput + calls_every: CallWhereInput + calls_some: CallWhereInput + calls_none: CallWhereInput + events_every: EventWhereInput + events_some: EventWhereInput + events_none: EventWhereInput + AND: [BlockWhereInput!] + OR: [BlockWhereInput!] +} + +input ExtrinsicWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + block_isNull: Boolean + block: BlockWhereInput + call_isNull: Boolean + call: CallWhereInput + index_isNull: Boolean + index_eq: Int + index_not_eq: Int + index_gt: Int + index_gte: Int + index_lt: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + version_isNull: Boolean + version_eq: Int + version_not_eq: Int + version_gt: Int + version_gte: Int + version_lt: Int + version_lte: Int + version_in: [Int!] + version_not_in: [Int!] + signature_isNull: Boolean + signature: ExtrinsicSignatureWhereInput + tip_isNull: Boolean + tip_eq: BigInt + tip_not_eq: BigInt + tip_gt: BigInt + tip_gte: BigInt + tip_lt: BigInt + tip_lte: BigInt + tip_in: [BigInt!] + tip_not_in: [BigInt!] + fee_isNull: Boolean + fee_eq: BigInt + fee_not_eq: BigInt + fee_gt: BigInt + fee_gte: BigInt + fee_lt: BigInt + fee_lte: BigInt + fee_in: [BigInt!] + fee_not_in: [BigInt!] + success_isNull: Boolean + success_eq: Boolean + success_not_eq: Boolean + error_isNull: Boolean + error_eq: JSON + error_not_eq: JSON + error_jsonContains: JSON + error_jsonHasKey: JSON + hash_isNull: Boolean + hash_eq: Bytes + hash_not_eq: Bytes + calls_every: CallWhereInput + calls_some: CallWhereInput + calls_none: CallWhereInput + events_every: EventWhereInput + events_some: EventWhereInput + events_none: EventWhereInput + AND: [ExtrinsicWhereInput!] + OR: [ExtrinsicWhereInput!] +} + +input ExtrinsicSignatureWhereInput { + address_isNull: Boolean + address_eq: JSON + address_not_eq: JSON + address_jsonContains: JSON + address_jsonHasKey: JSON + signature_isNull: Boolean + signature_eq: JSON + signature_not_eq: JSON + signature_jsonContains: JSON + signature_jsonHasKey: JSON + signedExtensions_isNull: Boolean + signedExtensions_eq: JSON + signedExtensions_not_eq: JSON + signedExtensions_jsonContains: JSON + signedExtensions_jsonHasKey: JSON +} + +""" +Big number integer +""" +scalar BigInt + +input EventWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + block_isNull: Boolean + block: BlockWhereInput + extrinsic_isNull: Boolean + extrinsic: ExtrinsicWhereInput + call_isNull: Boolean + call: CallWhereInput + index_isNull: Boolean + index_eq: Int + index_not_eq: Int + index_gt: Int + index_gte: Int + index_lt: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + phase_isNull: Boolean + phase_eq: String + phase_not_eq: String + phase_gt: String + phase_gte: String + phase_lt: String + phase_lte: String + phase_in: [String!] + phase_not_in: [String!] + phase_contains: String + phase_not_contains: String + phase_containsInsensitive: String + phase_not_containsInsensitive: String + phase_startsWith: String + phase_not_startsWith: String + phase_endsWith: String + phase_not_endsWith: String + pallet_isNull: Boolean + pallet_eq: String + pallet_not_eq: String + pallet_gt: String + pallet_gte: String + pallet_lt: String + pallet_lte: String + pallet_in: [String!] + pallet_not_in: [String!] + pallet_contains: String + pallet_not_contains: String + pallet_containsInsensitive: String + pallet_not_containsInsensitive: String + pallet_startsWith: String + pallet_not_startsWith: String + pallet_endsWith: String + pallet_not_endsWith: String + name_isNull: Boolean + name_eq: String + name_not_eq: String + name_gt: String + name_gte: String + name_lt: String + name_lte: String + name_in: [String!] + name_not_in: [String!] + name_contains: String + name_not_contains: String + name_containsInsensitive: String + name_not_containsInsensitive: String + name_startsWith: String + name_not_startsWith: String + name_endsWith: String + name_not_endsWith: String + args_isNull: Boolean + args_eq: JSON + args_not_eq: JSON + args_jsonContains: JSON + args_jsonHasKey: JSON + argsStr_isNull: Boolean + argsStr_containsAll: [String] + argsStr_containsAny: [String] + argsStr_containsNone: [String] + AND: [EventWhereInput!] + OR: [EventWhereInput!] +} + +enum CallOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + block_id_ASC + block_id_DESC + block_id_ASC_NULLS_FIRST + block_id_DESC_NULLS_LAST + block_height_ASC + block_height_DESC + block_height_ASC_NULLS_FIRST + block_height_DESC_NULLS_LAST + block_hash_ASC + block_hash_DESC + block_hash_ASC_NULLS_FIRST + block_hash_DESC_NULLS_LAST + block_parentHash_ASC + block_parentHash_DESC + block_parentHash_ASC_NULLS_FIRST + block_parentHash_DESC_NULLS_LAST + block_stateRoot_ASC + block_stateRoot_DESC + block_stateRoot_ASC_NULLS_FIRST + block_stateRoot_DESC_NULLS_LAST + block_extrinsicsicRoot_ASC + block_extrinsicsicRoot_DESC + block_extrinsicsicRoot_ASC_NULLS_FIRST + block_extrinsicsicRoot_DESC_NULLS_LAST + block_specName_ASC + block_specName_DESC + block_specName_ASC_NULLS_FIRST + block_specName_DESC_NULLS_LAST + block_specVersion_ASC + block_specVersion_DESC + block_specVersion_ASC_NULLS_FIRST + block_specVersion_DESC_NULLS_LAST + block_implName_ASC + block_implName_DESC + block_implName_ASC_NULLS_FIRST + block_implName_DESC_NULLS_LAST + block_implVersion_ASC + block_implVersion_DESC + block_implVersion_ASC_NULLS_FIRST + block_implVersion_DESC_NULLS_LAST + block_timestamp_ASC + block_timestamp_DESC + block_timestamp_ASC_NULLS_FIRST + block_timestamp_DESC_NULLS_LAST + block_validator_ASC + block_validator_DESC + block_validator_ASC_NULLS_FIRST + block_validator_DESC_NULLS_LAST + block_extrinsicsCount_ASC + block_extrinsicsCount_DESC + block_extrinsicsCount_ASC_NULLS_FIRST + block_extrinsicsCount_DESC_NULLS_LAST + block_callsCount_ASC + block_callsCount_DESC + block_callsCount_ASC_NULLS_FIRST + block_callsCount_DESC_NULLS_LAST + block_eventsCount_ASC + block_eventsCount_DESC + block_eventsCount_ASC_NULLS_FIRST + block_eventsCount_DESC_NULLS_LAST + extrinsic_id_ASC + extrinsic_id_DESC + extrinsic_id_ASC_NULLS_FIRST + extrinsic_id_DESC_NULLS_LAST + extrinsic_index_ASC + extrinsic_index_DESC + extrinsic_index_ASC_NULLS_FIRST + extrinsic_index_DESC_NULLS_LAST + extrinsic_version_ASC + extrinsic_version_DESC + extrinsic_version_ASC_NULLS_FIRST + extrinsic_version_DESC_NULLS_LAST + extrinsic_tip_ASC + extrinsic_tip_DESC + extrinsic_tip_ASC_NULLS_FIRST + extrinsic_tip_DESC_NULLS_LAST + extrinsic_fee_ASC + extrinsic_fee_DESC + extrinsic_fee_ASC_NULLS_FIRST + extrinsic_fee_DESC_NULLS_LAST + extrinsic_success_ASC + extrinsic_success_DESC + extrinsic_success_ASC_NULLS_FIRST + extrinsic_success_DESC_NULLS_LAST + extrinsic_hash_ASC + extrinsic_hash_DESC + extrinsic_hash_ASC_NULLS_FIRST + extrinsic_hash_DESC_NULLS_LAST + parent_id_ASC + parent_id_DESC + parent_id_ASC_NULLS_FIRST + parent_id_DESC_NULLS_LAST + parent_success_ASC + parent_success_DESC + parent_success_ASC_NULLS_FIRST + parent_success_DESC_NULLS_LAST + parent_pallet_ASC + parent_pallet_DESC + parent_pallet_ASC_NULLS_FIRST + parent_pallet_DESC_NULLS_LAST + parent_name_ASC + parent_name_DESC + parent_name_ASC_NULLS_FIRST + parent_name_DESC_NULLS_LAST + success_ASC + success_DESC + success_ASC_NULLS_FIRST + success_DESC_NULLS_LAST + pallet_ASC + pallet_DESC + pallet_ASC_NULLS_FIRST + pallet_DESC_NULLS_LAST + name_ASC + name_DESC + name_ASC_NULLS_FIRST + name_DESC_NULLS_LAST +} + +type Event { + """ + Event id - e.g. 0000000001-000000-272d6 + """ + id: String! + block: Block! + extrinsic: Extrinsic + call: Call + index: Int! + phase: String! + pallet: String! + name: String! + args: JSON + argsStr: [String] +} + +enum EventOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + block_id_ASC + block_id_DESC + block_id_ASC_NULLS_FIRST + block_id_DESC_NULLS_LAST + block_height_ASC + block_height_DESC + block_height_ASC_NULLS_FIRST + block_height_DESC_NULLS_LAST + block_hash_ASC + block_hash_DESC + block_hash_ASC_NULLS_FIRST + block_hash_DESC_NULLS_LAST + block_parentHash_ASC + block_parentHash_DESC + block_parentHash_ASC_NULLS_FIRST + block_parentHash_DESC_NULLS_LAST + block_stateRoot_ASC + block_stateRoot_DESC + block_stateRoot_ASC_NULLS_FIRST + block_stateRoot_DESC_NULLS_LAST + block_extrinsicsicRoot_ASC + block_extrinsicsicRoot_DESC + block_extrinsicsicRoot_ASC_NULLS_FIRST + block_extrinsicsicRoot_DESC_NULLS_LAST + block_specName_ASC + block_specName_DESC + block_specName_ASC_NULLS_FIRST + block_specName_DESC_NULLS_LAST + block_specVersion_ASC + block_specVersion_DESC + block_specVersion_ASC_NULLS_FIRST + block_specVersion_DESC_NULLS_LAST + block_implName_ASC + block_implName_DESC + block_implName_ASC_NULLS_FIRST + block_implName_DESC_NULLS_LAST + block_implVersion_ASC + block_implVersion_DESC + block_implVersion_ASC_NULLS_FIRST + block_implVersion_DESC_NULLS_LAST + block_timestamp_ASC + block_timestamp_DESC + block_timestamp_ASC_NULLS_FIRST + block_timestamp_DESC_NULLS_LAST + block_validator_ASC + block_validator_DESC + block_validator_ASC_NULLS_FIRST + block_validator_DESC_NULLS_LAST + block_extrinsicsCount_ASC + block_extrinsicsCount_DESC + block_extrinsicsCount_ASC_NULLS_FIRST + block_extrinsicsCount_DESC_NULLS_LAST + block_callsCount_ASC + block_callsCount_DESC + block_callsCount_ASC_NULLS_FIRST + block_callsCount_DESC_NULLS_LAST + block_eventsCount_ASC + block_eventsCount_DESC + block_eventsCount_ASC_NULLS_FIRST + block_eventsCount_DESC_NULLS_LAST + extrinsic_id_ASC + extrinsic_id_DESC + extrinsic_id_ASC_NULLS_FIRST + extrinsic_id_DESC_NULLS_LAST + extrinsic_index_ASC + extrinsic_index_DESC + extrinsic_index_ASC_NULLS_FIRST + extrinsic_index_DESC_NULLS_LAST + extrinsic_version_ASC + extrinsic_version_DESC + extrinsic_version_ASC_NULLS_FIRST + extrinsic_version_DESC_NULLS_LAST + extrinsic_tip_ASC + extrinsic_tip_DESC + extrinsic_tip_ASC_NULLS_FIRST + extrinsic_tip_DESC_NULLS_LAST + extrinsic_fee_ASC + extrinsic_fee_DESC + extrinsic_fee_ASC_NULLS_FIRST + extrinsic_fee_DESC_NULLS_LAST + extrinsic_success_ASC + extrinsic_success_DESC + extrinsic_success_ASC_NULLS_FIRST + extrinsic_success_DESC_NULLS_LAST + extrinsic_hash_ASC + extrinsic_hash_DESC + extrinsic_hash_ASC_NULLS_FIRST + extrinsic_hash_DESC_NULLS_LAST + call_id_ASC + call_id_DESC + call_id_ASC_NULLS_FIRST + call_id_DESC_NULLS_LAST + call_success_ASC + call_success_DESC + call_success_ASC_NULLS_FIRST + call_success_DESC_NULLS_LAST + call_pallet_ASC + call_pallet_DESC + call_pallet_ASC_NULLS_FIRST + call_pallet_DESC_NULLS_LAST + call_name_ASC + call_name_DESC + call_name_ASC_NULLS_FIRST + call_name_DESC_NULLS_LAST + index_ASC + index_DESC + index_ASC_NULLS_FIRST + index_DESC_NULLS_LAST + phase_ASC + phase_DESC + phase_ASC_NULLS_FIRST + phase_DESC_NULLS_LAST + pallet_ASC + pallet_DESC + pallet_ASC_NULLS_FIRST + pallet_DESC_NULLS_LAST + name_ASC + name_DESC + name_ASC_NULLS_FIRST + name_DESC_NULLS_LAST +} + +type ExtrinsicSignature { + address: JSON + signature: JSON + signedExtensions: JSON +} + +enum ExtrinsicOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + block_id_ASC + block_id_DESC + block_id_ASC_NULLS_FIRST + block_id_DESC_NULLS_LAST + block_height_ASC + block_height_DESC + block_height_ASC_NULLS_FIRST + block_height_DESC_NULLS_LAST + block_hash_ASC + block_hash_DESC + block_hash_ASC_NULLS_FIRST + block_hash_DESC_NULLS_LAST + block_parentHash_ASC + block_parentHash_DESC + block_parentHash_ASC_NULLS_FIRST + block_parentHash_DESC_NULLS_LAST + block_stateRoot_ASC + block_stateRoot_DESC + block_stateRoot_ASC_NULLS_FIRST + block_stateRoot_DESC_NULLS_LAST + block_extrinsicsicRoot_ASC + block_extrinsicsicRoot_DESC + block_extrinsicsicRoot_ASC_NULLS_FIRST + block_extrinsicsicRoot_DESC_NULLS_LAST + block_specName_ASC + block_specName_DESC + block_specName_ASC_NULLS_FIRST + block_specName_DESC_NULLS_LAST + block_specVersion_ASC + block_specVersion_DESC + block_specVersion_ASC_NULLS_FIRST + block_specVersion_DESC_NULLS_LAST + block_implName_ASC + block_implName_DESC + block_implName_ASC_NULLS_FIRST + block_implName_DESC_NULLS_LAST + block_implVersion_ASC + block_implVersion_DESC + block_implVersion_ASC_NULLS_FIRST + block_implVersion_DESC_NULLS_LAST + block_timestamp_ASC + block_timestamp_DESC + block_timestamp_ASC_NULLS_FIRST + block_timestamp_DESC_NULLS_LAST + block_validator_ASC + block_validator_DESC + block_validator_ASC_NULLS_FIRST + block_validator_DESC_NULLS_LAST + block_extrinsicsCount_ASC + block_extrinsicsCount_DESC + block_extrinsicsCount_ASC_NULLS_FIRST + block_extrinsicsCount_DESC_NULLS_LAST + block_callsCount_ASC + block_callsCount_DESC + block_callsCount_ASC_NULLS_FIRST + block_callsCount_DESC_NULLS_LAST + block_eventsCount_ASC + block_eventsCount_DESC + block_eventsCount_ASC_NULLS_FIRST + block_eventsCount_DESC_NULLS_LAST + call_id_ASC + call_id_DESC + call_id_ASC_NULLS_FIRST + call_id_DESC_NULLS_LAST + call_success_ASC + call_success_DESC + call_success_ASC_NULLS_FIRST + call_success_DESC_NULLS_LAST + call_pallet_ASC + call_pallet_DESC + call_pallet_ASC_NULLS_FIRST + call_pallet_DESC_NULLS_LAST + call_name_ASC + call_name_DESC + call_name_ASC_NULLS_FIRST + call_name_DESC_NULLS_LAST + index_ASC + index_DESC + index_ASC_NULLS_FIRST + index_DESC_NULLS_LAST + version_ASC + version_DESC + version_ASC_NULLS_FIRST + version_DESC_NULLS_LAST + tip_ASC + tip_DESC + tip_ASC_NULLS_FIRST + tip_DESC_NULLS_LAST + fee_ASC + fee_DESC + fee_ASC_NULLS_FIRST + fee_DESC_NULLS_LAST + success_ASC + success_DESC + success_ASC_NULLS_FIRST + success_DESC_NULLS_LAST + hash_ASC + hash_DESC + hash_ASC_NULLS_FIRST + hash_DESC_NULLS_LAST +} + +enum BlockOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + height_ASC + height_DESC + height_ASC_NULLS_FIRST + height_DESC_NULLS_LAST + hash_ASC + hash_DESC + hash_ASC_NULLS_FIRST + hash_DESC_NULLS_LAST + parentHash_ASC + parentHash_DESC + parentHash_ASC_NULLS_FIRST + parentHash_DESC_NULLS_LAST + stateRoot_ASC + stateRoot_DESC + stateRoot_ASC_NULLS_FIRST + stateRoot_DESC_NULLS_LAST + extrinsicsicRoot_ASC + extrinsicsicRoot_DESC + extrinsicsicRoot_ASC_NULLS_FIRST + extrinsicsicRoot_DESC_NULLS_LAST + specName_ASC + specName_DESC + specName_ASC_NULLS_FIRST + specName_DESC_NULLS_LAST + specVersion_ASC + specVersion_DESC + specVersion_ASC_NULLS_FIRST + specVersion_DESC_NULLS_LAST + implName_ASC + implName_DESC + implName_ASC_NULLS_FIRST + implName_DESC_NULLS_LAST + implVersion_ASC + implVersion_DESC + implVersion_ASC_NULLS_FIRST + implVersion_DESC_NULLS_LAST + timestamp_ASC + timestamp_DESC + timestamp_ASC_NULLS_FIRST + timestamp_DESC_NULLS_LAST + validator_ASC + validator_DESC + validator_ASC_NULLS_FIRST + validator_DESC_NULLS_LAST + extrinsicsCount_ASC + extrinsicsCount_DESC + extrinsicsCount_ASC_NULLS_FIRST + extrinsicsCount_DESC_NULLS_LAST + callsCount_ASC + callsCount_DESC + callsCount_ASC_NULLS_FIRST + callsCount_DESC_NULLS_LAST + eventsCount_ASC + eventsCount_DESC + eventsCount_ASC_NULLS_FIRST + eventsCount_DESC_NULLS_LAST +} + +input WhereIdInput { + id: String! +} + +type BlocksConnection { + edges: [BlockEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type BlockEdge { + node: Block! + cursor: String! +} + +type PageInfo { + hasNextPage: Boolean! + hasPreviousPage: Boolean! + startCursor: String! + endCursor: String! +} + +type ExtrinsicsConnection { + edges: [ExtrinsicEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type ExtrinsicEdge { + node: Extrinsic! + cursor: String! +} + +type CallsConnection { + edges: [CallEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type CallEdge { + node: Call! + cursor: String! +} + +type EventsConnection { + edges: [EventEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type EventEdge { + node: Event! + cursor: String! +} + +type ItemsCounter { + id: String! + type: ItemType! + level: CounterLevel! + total: Int! +} + +enum ItemType { + Extrinsics + Calls + Events +} + +enum CounterLevel { + Global + Pallet + Item +} + +input ItemsCounterWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + type_isNull: Boolean + type_eq: ItemType + type_not_eq: ItemType + type_in: [ItemType!] + type_not_in: [ItemType!] + level_isNull: Boolean + level_eq: CounterLevel + level_not_eq: CounterLevel + level_in: [CounterLevel!] + level_not_in: [CounterLevel!] + total_isNull: Boolean + total_eq: Int + total_not_eq: Int + total_gt: Int + total_gte: Int + total_lt: Int + total_lte: Int + total_in: [Int!] + total_not_in: [Int!] + AND: [ItemsCounterWhereInput!] + OR: [ItemsCounterWhereInput!] +} + +enum ItemsCounterOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + type_ASC + type_DESC + type_ASC_NULLS_FIRST + type_DESC_NULLS_LAST + level_ASC + level_DESC + level_ASC_NULLS_FIRST + level_DESC_NULLS_LAST + total_ASC + total_DESC + total_ASC_NULLS_FIRST + total_DESC_NULLS_LAST +} + +type ItemsCountersConnection { + edges: [ItemsCounterEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type ItemsCounterEdge { + node: ItemsCounter! + cursor: String! +} + +type Account { + """ + Account address is SS58 format + """ + id: String! + transfersIssued( + where: TransferWhereInput + orderBy: [TransferOrderByInput!] + offset: Int + limit: Int + ): [Transfer!]! + transfersReceived( + where: TransferWhereInput + orderBy: [TransferOrderByInput!] + offset: Int + limit: Int + ): [Transfer!]! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + current account for the identity """ - id: Int! - - """An object relationship""" - issuer: account! - issuer_pubkey: String! - - """An object relationship""" - receiver: account! - receiver_pubkey: String! -} - -""" -aggregated selection of "transaction" -""" -type transaction_aggregate { - aggregate: transaction_aggregate_fields - nodes: [transaction!]! -} - -input transaction_aggregate_bool_exp { - count: transaction_aggregate_bool_exp_count -} - -input transaction_aggregate_bool_exp_count { - arguments: [transaction_select_column!] - distinct: Boolean - filter: transaction_bool_exp - predicate: Int_comparison_exp! -} - -""" -aggregate fields of "transaction" -""" -type transaction_aggregate_fields { - avg: transaction_avg_fields - count(columns: [transaction_select_column!], distinct: Boolean): Int! - max: transaction_max_fields - min: transaction_min_fields - stddev: transaction_stddev_fields - stddev_pop: transaction_stddev_pop_fields - stddev_samp: transaction_stddev_samp_fields - sum: transaction_sum_fields - var_pop: transaction_var_pop_fields - var_samp: transaction_var_samp_fields - variance: transaction_variance_fields -} - -""" -order by aggregate values of table "transaction" -""" -input transaction_aggregate_order_by { - avg: transaction_avg_order_by - count: order_by - max: transaction_max_order_by - min: transaction_min_order_by - stddev: transaction_stddev_order_by - stddev_pop: transaction_stddev_pop_order_by - stddev_samp: transaction_stddev_samp_order_by - sum: transaction_sum_order_by - var_pop: transaction_var_pop_order_by - var_samp: transaction_var_samp_order_by - variance: transaction_variance_order_by -} - -"""aggregate avg on columns""" -type transaction_avg_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Float + identity: Identity """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + was once account of the identity """ - id: Float -} - -""" -order by avg() on columns of table "transaction" -""" -input transaction_avg_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by + wasIdentity( + where: ChangeOwnerKeyWhereInput + orderBy: [ChangeOwnerKeyOrderByInput!] + offset: Int + limit: Int + ): [ChangeOwnerKey!]! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + linked to the identity """ - id: order_by + linkedIdentity: Identity } -""" -Boolean expression to filter rows from the table "transaction". All fields are combined with a logical 'AND'. -""" -input transaction_bool_exp { - _and: [transaction_bool_exp!] - _not: transaction_bool_exp - _or: [transaction_bool_exp!] - amount: Float_comparison_exp - comment: String_comparison_exp - created_at: timestamptz_comparison_exp - created_on: Int_comparison_exp - created_on_block: block_bool_exp - id: Int_comparison_exp - issuer: account_bool_exp - issuer_pubkey: String_comparison_exp - receiver: account_bool_exp - receiver_pubkey: String_comparison_exp -} - -"""aggregate max on columns""" -type transaction_max_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float +type Transfer { + id: String! + blockNumber: Int! + timestamp: DateTime! + from: Account! + to: Account! + amount: BigInt! comment: String - created_at: timestamptz - - """Block number where transaction was created.""" - created_on: Int - - """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. - """ - id: Int - issuer_pubkey: String - receiver_pubkey: String } -""" -order by max() on columns of table "transaction" -""" -input transaction_max_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - comment: order_by - created_at: order_by - - """Block number where transaction was created.""" - created_on: order_by - +input TransferWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + blockNumber_isNull: Boolean + blockNumber_eq: Int + blockNumber_not_eq: Int + blockNumber_gt: Int + blockNumber_gte: Int + blockNumber_lt: Int + blockNumber_lte: Int + blockNumber_in: [Int!] + blockNumber_not_in: [Int!] + timestamp_isNull: Boolean + timestamp_eq: DateTime + timestamp_not_eq: DateTime + timestamp_gt: DateTime + timestamp_gte: DateTime + timestamp_lt: DateTime + timestamp_lte: DateTime + timestamp_in: [DateTime!] + timestamp_not_in: [DateTime!] + from_isNull: Boolean + from: AccountWhereInput + to_isNull: Boolean + to: AccountWhereInput + amount_isNull: Boolean + amount_eq: BigInt + amount_not_eq: BigInt + amount_gt: BigInt + amount_gte: BigInt + amount_lt: BigInt + amount_lte: BigInt + amount_in: [BigInt!] + amount_not_in: [BigInt!] + comment_isNull: Boolean + comment_eq: String + comment_not_eq: String + comment_gt: String + comment_gte: String + comment_lt: String + comment_lte: String + comment_in: [String!] + comment_not_in: [String!] + comment_contains: String + comment_not_contains: String + comment_containsInsensitive: String + comment_not_containsInsensitive: String + comment_startsWith: String + comment_not_startsWith: String + comment_endsWith: String + comment_not_endsWith: String + AND: [TransferWhereInput!] + OR: [TransferWhereInput!] +} + +input AccountWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + transfersIssued_every: TransferWhereInput + transfersIssued_some: TransferWhereInput + transfersIssued_none: TransferWhereInput + transfersReceived_every: TransferWhereInput + transfersReceived_some: TransferWhereInput + transfersReceived_none: TransferWhereInput + identity_isNull: Boolean + identity: IdentityWhereInput + wasIdentity_every: ChangeOwnerKeyWhereInput + wasIdentity_some: ChangeOwnerKeyWhereInput + wasIdentity_none: ChangeOwnerKeyWhereInput + linkedIdentity_isNull: Boolean + linkedIdentity: IdentityWhereInput + AND: [AccountWhereInput!] + OR: [AccountWhereInput!] +} + +input IdentityWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + index_isNull: Boolean + index_eq: Int + index_not_eq: Int + index_gt: Int + index_gte: Int + index_lt: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + account_isNull: Boolean + account: AccountWhereInput + name_isNull: Boolean + name_eq: String + name_not_eq: String + name_gt: String + name_gte: String + name_lt: String + name_lte: String + name_in: [String!] + name_not_in: [String!] + name_contains: String + name_not_contains: String + name_containsInsensitive: String + name_not_containsInsensitive: String + name_startsWith: String + name_not_startsWith: String + name_endsWith: String + name_not_endsWith: String + status_isNull: Boolean + status_eq: IdentityStatus + status_not_eq: IdentityStatus + status_in: [IdentityStatus!] + status_not_in: [IdentityStatus!] + certIssued_every: CertWhereInput + certIssued_some: CertWhereInput + certIssued_none: CertWhereInput + certReceived_every: CertWhereInput + certReceived_some: CertWhereInput + certReceived_none: CertWhereInput + smithCertIssued_every: SmithCertWhereInput + smithCertIssued_some: SmithCertWhereInput + smithCertIssued_none: SmithCertWhereInput + smithCertReceived_every: SmithCertWhereInput + smithCertReceived_some: SmithCertWhereInput + smithCertReceived_none: SmithCertWhereInput + membership_isNull: Boolean + membership: MembershipWhereInput + smithMembership_isNull: Boolean + smithMembership: SmithMembershipWhereInput + ownerKeyChange_every: ChangeOwnerKeyWhereInput + ownerKeyChange_some: ChangeOwnerKeyWhereInput + ownerKeyChange_none: ChangeOwnerKeyWhereInput + linkedAccount_every: AccountWhereInput + linkedAccount_some: AccountWhereInput + linkedAccount_none: AccountWhereInput + AND: [IdentityWhereInput!] + OR: [IdentityWhereInput!] +} + +enum IdentityStatus { + Unconfirmed + Unvalidated + Member + NotMember + Revoked + Removed +} + +input CertWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + issuer_isNull: Boolean + issuer: IdentityWhereInput + receiver_isNull: Boolean + receiver: IdentityWhereInput + active_isNull: Boolean + active_eq: Boolean + active_not_eq: Boolean + createdOn_isNull: Boolean + createdOn_eq: Int + createdOn_not_eq: Int + createdOn_gt: Int + createdOn_gte: Int + createdOn_lt: Int + createdOn_lte: Int + createdOn_in: [Int!] + createdOn_not_in: [Int!] + expireOn_isNull: Boolean + expireOn_eq: Int + expireOn_not_eq: Int + expireOn_gt: Int + expireOn_gte: Int + expireOn_lt: Int + expireOn_lte: Int + expireOn_in: [Int!] + expireOn_not_in: [Int!] + creation_every: CertCreationWhereInput + creation_some: CertCreationWhereInput + creation_none: CertCreationWhereInput + renewal_every: CertRenewalWhereInput + renewal_some: CertRenewalWhereInput + renewal_none: CertRenewalWhereInput + removal_every: CertRemovalWhereInput + removal_some: CertRemovalWhereInput + removal_none: CertRemovalWhereInput + AND: [CertWhereInput!] + OR: [CertWhereInput!] +} + +input CertCreationWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + cert_isNull: Boolean + cert: CertWhereInput + blockNumber_isNull: Boolean + blockNumber_eq: Int + blockNumber_not_eq: Int + blockNumber_gt: Int + blockNumber_gte: Int + blockNumber_lt: Int + blockNumber_lte: Int + blockNumber_in: [Int!] + blockNumber_not_in: [Int!] + AND: [CertCreationWhereInput!] + OR: [CertCreationWhereInput!] +} + +input CertRenewalWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + cert_isNull: Boolean + cert: CertWhereInput + blockNumber_isNull: Boolean + blockNumber_eq: Int + blockNumber_not_eq: Int + blockNumber_gt: Int + blockNumber_gte: Int + blockNumber_lt: Int + blockNumber_lte: Int + blockNumber_in: [Int!] + blockNumber_not_in: [Int!] + AND: [CertRenewalWhereInput!] + OR: [CertRenewalWhereInput!] +} + +input CertRemovalWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + cert_isNull: Boolean + cert: CertWhereInput + blockNumber_isNull: Boolean + blockNumber_eq: Int + blockNumber_not_eq: Int + blockNumber_gt: Int + blockNumber_gte: Int + blockNumber_lt: Int + blockNumber_lte: Int + blockNumber_in: [Int!] + blockNumber_not_in: [Int!] + AND: [CertRemovalWhereInput!] + OR: [CertRemovalWhereInput!] +} + +input SmithCertWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + issuer_isNull: Boolean + issuer: IdentityWhereInput + receiver_isNull: Boolean + receiver: IdentityWhereInput + createdOn_isNull: Boolean + createdOn_eq: Int + createdOn_not_eq: Int + createdOn_gt: Int + createdOn_gte: Int + createdOn_lt: Int + createdOn_lte: Int + createdOn_in: [Int!] + createdOn_not_in: [Int!] + AND: [SmithCertWhereInput!] + OR: [SmithCertWhereInput!] +} + +input MembershipWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + identity_isNull: Boolean + identity: IdentityWhereInput + expireOn_isNull: Boolean + expireOn_eq: Int + expireOn_not_eq: Int + expireOn_gt: Int + expireOn_gte: Int + expireOn_lt: Int + expireOn_lte: Int + expireOn_in: [Int!] + expireOn_not_in: [Int!] + AND: [MembershipWhereInput!] + OR: [MembershipWhereInput!] +} + +input SmithMembershipWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + identity_isNull: Boolean + identity: IdentityWhereInput + expireOn_isNull: Boolean + expireOn_eq: Int + expireOn_not_eq: Int + expireOn_gt: Int + expireOn_gte: Int + expireOn_lt: Int + expireOn_lte: Int + expireOn_in: [Int!] + expireOn_not_in: [Int!] + status_isNull: Boolean + status_eq: SmithStatus + status_not_eq: SmithStatus + status_in: [SmithStatus!] + status_not_in: [SmithStatus!] + AND: [SmithMembershipWhereInput!] + OR: [SmithMembershipWhereInput!] +} + +enum SmithStatus { + Invited + Pending + Smith + Excluded +} + +input ChangeOwnerKeyWhereInput { + id_isNull: Boolean + id_eq: String + id_not_eq: String + id_gt: String + id_gte: String + id_lt: String + id_lte: String + id_in: [String!] + id_not_in: [String!] + id_contains: String + id_not_contains: String + id_containsInsensitive: String + id_not_containsInsensitive: String + id_startsWith: String + id_not_startsWith: String + id_endsWith: String + id_not_endsWith: String + identity_isNull: Boolean + identity: IdentityWhereInput + previous_isNull: Boolean + previous: AccountWhereInput + next_isNull: Boolean + next: AccountWhereInput + blockNumber_isNull: Boolean + blockNumber_eq: Int + blockNumber_not_eq: Int + blockNumber_gt: Int + blockNumber_gte: Int + blockNumber_lt: Int + blockNumber_lte: Int + blockNumber_in: [Int!] + blockNumber_not_in: [Int!] + AND: [ChangeOwnerKeyWhereInput!] + OR: [ChangeOwnerKeyWhereInput!] +} + +enum TransferOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + blockNumber_ASC + blockNumber_DESC + blockNumber_ASC_NULLS_FIRST + blockNumber_DESC_NULLS_LAST + timestamp_ASC + timestamp_DESC + timestamp_ASC_NULLS_FIRST + timestamp_DESC_NULLS_LAST + from_id_ASC + from_id_DESC + from_id_ASC_NULLS_FIRST + from_id_DESC_NULLS_LAST + to_id_ASC + to_id_DESC + to_id_ASC_NULLS_FIRST + to_id_DESC_NULLS_LAST + amount_ASC + amount_DESC + amount_ASC_NULLS_FIRST + amount_DESC_NULLS_LAST + comment_ASC + comment_DESC + comment_ASC_NULLS_FIRST + comment_DESC_NULLS_LAST +} + +""" +Identity +""" +type Identity { + id: String! + + """ + Identity index """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. - """ - id: order_by - issuer_pubkey: order_by - receiver_pubkey: order_by -} - -"""aggregate min on columns""" -type transaction_min_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - comment: String - created_at: timestamptz - - """Block number where transaction was created.""" - created_on: Int + index: Int! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Current account """ - id: Int - issuer_pubkey: String - receiver_pubkey: String -} - -""" -order by min() on columns of table "transaction" -""" -input transaction_min_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - comment: order_by - created_at: order_by - - """Block number where transaction was created.""" - created_on: order_by + account: Account! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Name """ - id: order_by - issuer_pubkey: order_by - receiver_pubkey: order_by -} - -"""Ordering options when selecting data from "transaction".""" -input transaction_order_by { - amount: order_by - comment: order_by - created_at: order_by - created_on: order_by - created_on_block: block_order_by - id: order_by - issuer: account_order_by - issuer_pubkey: order_by - receiver: account_order_by - receiver_pubkey: order_by -} - -""" -select columns of table "transaction" -""" -enum transaction_select_column { - """column name""" - amount - - """column name""" - comment - - """column name""" - created_at - - """column name""" - created_on - - """column name""" - id - - """column name""" - issuer_pubkey - - """column name""" - receiver_pubkey -} - -"""aggregate stddev on columns""" -type transaction_stddev_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Float + name: String! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Status """ - id: Float -} - -""" -order by stddev() on columns of table "transaction" -""" -input transaction_stddev_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by + status: IdentityStatus! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Certifications issued """ - id: order_by -} - -"""aggregate stddev_pop on columns""" -type transaction_stddev_pop_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Float + certIssued( + where: CertWhereInput + orderBy: [CertOrderByInput!] + offset: Int + limit: Int + ): [Cert!]! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Certifications received """ - id: Float -} - -""" -order by stddev_pop() on columns of table "transaction" -""" -input transaction_stddev_pop_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by + certReceived( + where: CertWhereInput + orderBy: [CertOrderByInput!] + offset: Int + limit: Int + ): [Cert!]! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Smith certifications issued """ - id: order_by -} - -"""aggregate stddev_samp on columns""" -type transaction_stddev_samp_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Float + smithCertIssued( + where: SmithCertWhereInput + orderBy: [SmithCertOrderByInput!] + offset: Int + limit: Int + ): [SmithCert!]! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Smith certifications received """ - id: Float -} - -""" -order by stddev_samp() on columns of table "transaction" -""" -input transaction_stddev_samp_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by + smithCertReceived( + where: SmithCertWhereInput + orderBy: [SmithCertOrderByInput!] + offset: Int + limit: Int + ): [SmithCert!]! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Membership of the identity """ - id: order_by -} - -""" -Streaming cursor of the table "transaction" -""" -input transaction_stream_cursor_input { - """Stream column input with initial value""" - initial_value: transaction_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input transaction_stream_cursor_value_input { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - comment: String - created_at: timestamptz - - """Block number where transaction was created.""" - created_on: Int + membership: Membership """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Smith Membership of the identity """ - id: Int - issuer_pubkey: String - receiver_pubkey: String -} - -"""aggregate sum on columns""" -type transaction_sum_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Int + smithMembership: SmithMembership """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + Owner key changes """ - id: Int -} - -""" -order by sum() on columns of table "transaction" -""" -input transaction_sum_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by + ownerKeyChange( + where: ChangeOwnerKeyWhereInput + orderBy: [ChangeOwnerKeyOrderByInput!] + offset: Int + limit: Int + ): [ChangeOwnerKey!]! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + linked accounts """ - id: order_by -} - -input transaction_timeserie_args { - from: date - issuer_pk: String - period: time_period - receiver_pk: String - to: date -} - -"""This table is empty. It's only for Hasura.""" -type transaction_timeserie_tmp { - amount: Float! - date: timestamptz! -} - -""" -Boolean expression to filter rows from the table "transaction_timeserie_tmp". All fields are combined with a logical 'AND'. -""" -input transaction_timeserie_tmp_bool_exp { - _and: [transaction_timeserie_tmp_bool_exp!] - _not: transaction_timeserie_tmp_bool_exp - _or: [transaction_timeserie_tmp_bool_exp!] - amount: Float_comparison_exp - date: timestamptz_comparison_exp -} - -"""Ordering options when selecting data from "transaction_timeserie_tmp".""" -input transaction_timeserie_tmp_order_by { - amount: order_by - date: order_by -} - -""" -select columns of table "transaction_timeserie_tmp" -""" -enum transaction_timeserie_tmp_select_column { - """column name""" - amount - - """column name""" - date + linkedAccount( + where: AccountWhereInput + orderBy: [AccountOrderByInput!] + offset: Int + limit: Int + ): [Account!]! } """ -Streaming cursor of the table "transaction_timeserie_tmp" +Certification """ -input transaction_timeserie_tmp_stream_cursor_input { - """Stream column input with initial value""" - initial_value: transaction_timeserie_tmp_stream_cursor_value_input! - - """cursor ordering""" - ordering: cursor_ordering -} - -"""Initial value of the column from where the streaming should start""" -input transaction_timeserie_tmp_stream_cursor_value_input { - amount: Float - date: timestamptz -} - -"""aggregate var_pop on columns""" -type transaction_var_pop_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Float +type Cert { + id: String! + issuer: Identity! + receiver: Identity! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + whether the certification is currently active or not """ - id: Float -} - -""" -order by var_pop() on columns of table "transaction" -""" -input transaction_var_pop_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by + active: Boolean! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + the last createdOn value """ - id: order_by -} - -"""aggregate var_samp on columns""" -type transaction_var_samp_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Float + createdOn: Int! """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + the current expireOn value """ - id: Float + expireOn: Int! + creation( + where: CertCreationWhereInput + orderBy: [CertCreationOrderByInput!] + offset: Int + limit: Int + ): [CertCreation!]! + renewal( + where: CertRenewalWhereInput + orderBy: [CertRenewalOrderByInput!] + offset: Int + limit: Int + ): [CertRenewal!]! + removal( + where: CertRemovalWhereInput + orderBy: [CertRemovalOrderByInput!] + offset: Int + limit: Int + ): [CertRemoval!]! +} + +""" +Certification creation +""" +type CertCreation { + id: String! + cert: Cert! + blockNumber: Int! +} + +enum CertCreationOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + cert_id_ASC + cert_id_DESC + cert_id_ASC_NULLS_FIRST + cert_id_DESC_NULLS_LAST + cert_active_ASC + cert_active_DESC + cert_active_ASC_NULLS_FIRST + cert_active_DESC_NULLS_LAST + cert_createdOn_ASC + cert_createdOn_DESC + cert_createdOn_ASC_NULLS_FIRST + cert_createdOn_DESC_NULLS_LAST + cert_expireOn_ASC + cert_expireOn_DESC + cert_expireOn_ASC_NULLS_FIRST + cert_expireOn_DESC_NULLS_LAST + blockNumber_ASC + blockNumber_DESC + blockNumber_ASC_NULLS_FIRST + blockNumber_DESC_NULLS_LAST +} + +""" +Certification renewal +""" +type CertRenewal { + id: String! + cert: Cert! + blockNumber: Int! +} + +enum CertRenewalOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + cert_id_ASC + cert_id_DESC + cert_id_ASC_NULLS_FIRST + cert_id_DESC_NULLS_LAST + cert_active_ASC + cert_active_DESC + cert_active_ASC_NULLS_FIRST + cert_active_DESC_NULLS_LAST + cert_createdOn_ASC + cert_createdOn_DESC + cert_createdOn_ASC_NULLS_FIRST + cert_createdOn_DESC_NULLS_LAST + cert_expireOn_ASC + cert_expireOn_DESC + cert_expireOn_ASC_NULLS_FIRST + cert_expireOn_DESC_NULLS_LAST + blockNumber_ASC + blockNumber_DESC + blockNumber_ASC_NULLS_FIRST + blockNumber_DESC_NULLS_LAST +} + +""" +Certification removal +""" +type CertRemoval { + id: String! + cert: Cert! + blockNumber: Int! +} + +enum CertRemovalOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + cert_id_ASC + cert_id_DESC + cert_id_ASC_NULLS_FIRST + cert_id_DESC_NULLS_LAST + cert_active_ASC + cert_active_DESC + cert_active_ASC_NULLS_FIRST + cert_active_DESC_NULLS_LAST + cert_createdOn_ASC + cert_createdOn_DESC + cert_createdOn_ASC_NULLS_FIRST + cert_createdOn_DESC_NULLS_LAST + cert_expireOn_ASC + cert_expireOn_DESC + cert_expireOn_ASC_NULLS_FIRST + cert_expireOn_DESC_NULLS_LAST + blockNumber_ASC + blockNumber_DESC + blockNumber_ASC_NULLS_FIRST + blockNumber_DESC_NULLS_LAST +} + +enum CertOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + issuer_id_ASC + issuer_id_DESC + issuer_id_ASC_NULLS_FIRST + issuer_id_DESC_NULLS_LAST + issuer_index_ASC + issuer_index_DESC + issuer_index_ASC_NULLS_FIRST + issuer_index_DESC_NULLS_LAST + issuer_name_ASC + issuer_name_DESC + issuer_name_ASC_NULLS_FIRST + issuer_name_DESC_NULLS_LAST + issuer_status_ASC + issuer_status_DESC + issuer_status_ASC_NULLS_FIRST + issuer_status_DESC_NULLS_LAST + receiver_id_ASC + receiver_id_DESC + receiver_id_ASC_NULLS_FIRST + receiver_id_DESC_NULLS_LAST + receiver_index_ASC + receiver_index_DESC + receiver_index_ASC_NULLS_FIRST + receiver_index_DESC_NULLS_LAST + receiver_name_ASC + receiver_name_DESC + receiver_name_ASC_NULLS_FIRST + receiver_name_DESC_NULLS_LAST + receiver_status_ASC + receiver_status_DESC + receiver_status_ASC_NULLS_FIRST + receiver_status_DESC_NULLS_LAST + active_ASC + active_DESC + active_ASC_NULLS_FIRST + active_DESC_NULLS_LAST + createdOn_ASC + createdOn_DESC + createdOn_ASC_NULLS_FIRST + createdOn_DESC_NULLS_LAST + expireOn_ASC + expireOn_DESC + expireOn_ASC_NULLS_FIRST + expireOn_DESC_NULLS_LAST +} + +""" +Smith certification +""" +type SmithCert { + id: String! + issuer: Identity! + receiver: Identity! + createdOn: Int! +} + +enum SmithCertOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + issuer_id_ASC + issuer_id_DESC + issuer_id_ASC_NULLS_FIRST + issuer_id_DESC_NULLS_LAST + issuer_index_ASC + issuer_index_DESC + issuer_index_ASC_NULLS_FIRST + issuer_index_DESC_NULLS_LAST + issuer_name_ASC + issuer_name_DESC + issuer_name_ASC_NULLS_FIRST + issuer_name_DESC_NULLS_LAST + issuer_status_ASC + issuer_status_DESC + issuer_status_ASC_NULLS_FIRST + issuer_status_DESC_NULLS_LAST + receiver_id_ASC + receiver_id_DESC + receiver_id_ASC_NULLS_FIRST + receiver_id_DESC_NULLS_LAST + receiver_index_ASC + receiver_index_DESC + receiver_index_ASC_NULLS_FIRST + receiver_index_DESC_NULLS_LAST + receiver_name_ASC + receiver_name_DESC + receiver_name_ASC_NULLS_FIRST + receiver_name_DESC_NULLS_LAST + receiver_status_ASC + receiver_status_DESC + receiver_status_ASC_NULLS_FIRST + receiver_status_DESC_NULLS_LAST + createdOn_ASC + createdOn_DESC + createdOn_ASC_NULLS_FIRST + createdOn_DESC_NULLS_LAST +} + +""" +Membership +""" +type Membership { + id: String! + identity: Identity! + expireOn: Int! +} + +""" +Smith membership +""" +type SmithMembership { + id: String! + identity: Identity! + expireOn: Int! + status: SmithStatus! +} + +""" +owner key change +""" +type ChangeOwnerKey { + id: String! + identity: Identity! + previous: Account! + next: Account! + blockNumber: Int! +} + +enum ChangeOwnerKeyOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + identity_id_ASC + identity_id_DESC + identity_id_ASC_NULLS_FIRST + identity_id_DESC_NULLS_LAST + identity_index_ASC + identity_index_DESC + identity_index_ASC_NULLS_FIRST + identity_index_DESC_NULLS_LAST + identity_name_ASC + identity_name_DESC + identity_name_ASC_NULLS_FIRST + identity_name_DESC_NULLS_LAST + identity_status_ASC + identity_status_DESC + identity_status_ASC_NULLS_FIRST + identity_status_DESC_NULLS_LAST + previous_id_ASC + previous_id_DESC + previous_id_ASC_NULLS_FIRST + previous_id_DESC_NULLS_LAST + next_id_ASC + next_id_DESC + next_id_ASC_NULLS_FIRST + next_id_DESC_NULLS_LAST + blockNumber_ASC + blockNumber_DESC + blockNumber_ASC_NULLS_FIRST + blockNumber_DESC_NULLS_LAST +} + +enum AccountOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + identity_id_ASC + identity_id_DESC + identity_id_ASC_NULLS_FIRST + identity_id_DESC_NULLS_LAST + identity_index_ASC + identity_index_DESC + identity_index_ASC_NULLS_FIRST + identity_index_DESC_NULLS_LAST + identity_name_ASC + identity_name_DESC + identity_name_ASC_NULLS_FIRST + identity_name_DESC_NULLS_LAST + identity_status_ASC + identity_status_DESC + identity_status_ASC_NULLS_FIRST + identity_status_DESC_NULLS_LAST + linkedIdentity_id_ASC + linkedIdentity_id_DESC + linkedIdentity_id_ASC_NULLS_FIRST + linkedIdentity_id_DESC_NULLS_LAST + linkedIdentity_index_ASC + linkedIdentity_index_DESC + linkedIdentity_index_ASC_NULLS_FIRST + linkedIdentity_index_DESC_NULLS_LAST + linkedIdentity_name_ASC + linkedIdentity_name_DESC + linkedIdentity_name_ASC_NULLS_FIRST + linkedIdentity_name_DESC_NULLS_LAST + linkedIdentity_status_ASC + linkedIdentity_status_DESC + linkedIdentity_status_ASC_NULLS_FIRST + linkedIdentity_status_DESC_NULLS_LAST +} + +type AccountsConnection { + edges: [AccountEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type AccountEdge { + node: Account! + cursor: String! +} + +type TransfersConnection { + edges: [TransferEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type TransferEdge { + node: Transfer! + cursor: String! +} + +enum IdentityOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + index_ASC + index_DESC + index_ASC_NULLS_FIRST + index_DESC_NULLS_LAST + account_id_ASC + account_id_DESC + account_id_ASC_NULLS_FIRST + account_id_DESC_NULLS_LAST + name_ASC + name_DESC + name_ASC_NULLS_FIRST + name_DESC_NULLS_LAST + status_ASC + status_DESC + status_ASC_NULLS_FIRST + status_DESC_NULLS_LAST + membership_id_ASC + membership_id_DESC + membership_id_ASC_NULLS_FIRST + membership_id_DESC_NULLS_LAST + membership_expireOn_ASC + membership_expireOn_DESC + membership_expireOn_ASC_NULLS_FIRST + membership_expireOn_DESC_NULLS_LAST + smithMembership_id_ASC + smithMembership_id_DESC + smithMembership_id_ASC_NULLS_FIRST + smithMembership_id_DESC_NULLS_LAST + smithMembership_expireOn_ASC + smithMembership_expireOn_DESC + smithMembership_expireOn_ASC_NULLS_FIRST + smithMembership_expireOn_DESC_NULLS_LAST + smithMembership_status_ASC + smithMembership_status_DESC + smithMembership_status_ASC_NULLS_FIRST + smithMembership_status_DESC_NULLS_LAST +} + +type IdentitiesConnection { + edges: [IdentityEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type IdentityEdge { + node: Identity! + cursor: String! +} + +type ChangeOwnerKeysConnection { + edges: [ChangeOwnerKeyEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type ChangeOwnerKeyEdge { + node: ChangeOwnerKey! + cursor: String! +} + +type CertsConnection { + edges: [CertEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type CertEdge { + node: Cert! + cursor: String! +} + +type CertCreationsConnection { + edges: [CertCreationEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type CertCreationEdge { + node: CertCreation! + cursor: String! +} + +type CertRenewalsConnection { + edges: [CertRenewalEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type CertRenewalEdge { + node: CertRenewal! + cursor: String! +} + +type CertRemovalsConnection { + edges: [CertRemovalEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type CertRemovalEdge { + node: CertRemoval! + cursor: String! +} + +type SmithCertsConnection { + edges: [SmithCertEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type SmithCertEdge { + node: SmithCert! + cursor: String! +} + +enum MembershipOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + identity_id_ASC + identity_id_DESC + identity_id_ASC_NULLS_FIRST + identity_id_DESC_NULLS_LAST + identity_index_ASC + identity_index_DESC + identity_index_ASC_NULLS_FIRST + identity_index_DESC_NULLS_LAST + identity_name_ASC + identity_name_DESC + identity_name_ASC_NULLS_FIRST + identity_name_DESC_NULLS_LAST + identity_status_ASC + identity_status_DESC + identity_status_ASC_NULLS_FIRST + identity_status_DESC_NULLS_LAST + expireOn_ASC + expireOn_DESC + expireOn_ASC_NULLS_FIRST + expireOn_DESC_NULLS_LAST } -""" -order by var_samp() on columns of table "transaction" -""" -input transaction_var_samp_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by - - """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. - """ - id: order_by +type MembershipsConnection { + edges: [MembershipEdge!]! + pageInfo: PageInfo! + totalCount: Int! } -"""aggregate variance on columns""" -type transaction_variance_fields { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: Float - - """Block number where transaction was created.""" - created_on: Float +type MembershipEdge { + node: Membership! + cursor: String! +} - """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. - """ - id: Float +enum SmithMembershipOrderByInput { + id_ASC + id_DESC + id_ASC_NULLS_FIRST + id_DESC_NULLS_LAST + identity_id_ASC + identity_id_DESC + identity_id_ASC_NULLS_FIRST + identity_id_DESC_NULLS_LAST + identity_index_ASC + identity_index_DESC + identity_index_ASC_NULLS_FIRST + identity_index_DESC_NULLS_LAST + identity_name_ASC + identity_name_DESC + identity_name_ASC_NULLS_FIRST + identity_name_DESC_NULLS_LAST + identity_status_ASC + identity_status_DESC + identity_status_ASC_NULLS_FIRST + identity_status_DESC_NULLS_LAST + expireOn_ASC + expireOn_DESC + expireOn_ASC_NULLS_FIRST + expireOn_DESC_NULLS_LAST + status_ASC + status_DESC + status_ASC_NULLS_FIRST + status_DESC_NULLS_LAST +} + +type SmithMembershipsConnection { + edges: [SmithMembershipEdge!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type SmithMembershipEdge { + node: SmithMembership! + cursor: String! +} + +type Subscription { + blocks( + where: BlockWhereInput + orderBy: [BlockOrderByInput!] + offset: Int + limit: Int + ): [Block!]! + blockById(id: String!): Block + extrinsics( + where: ExtrinsicWhereInput + orderBy: [ExtrinsicOrderByInput!] + offset: Int + limit: Int + ): [Extrinsic!]! + extrinsicById(id: String!): Extrinsic + calls( + where: CallWhereInput + orderBy: [CallOrderByInput!] + offset: Int + limit: Int + ): [Call!]! + callById(id: String!): Call + events( + where: EventWhereInput + orderBy: [EventOrderByInput!] + offset: Int + limit: Int + ): [Event!]! + eventById(id: String!): Event + itemsCounters( + where: ItemsCounterWhereInput + orderBy: [ItemsCounterOrderByInput!] + offset: Int + limit: Int + ): [ItemsCounter!]! + itemsCounterById(id: String!): ItemsCounter + accounts( + where: AccountWhereInput + orderBy: [AccountOrderByInput!] + offset: Int + limit: Int + ): [Account!]! + accountById(id: String!): Account + transfers( + where: TransferWhereInput + orderBy: [TransferOrderByInput!] + offset: Int + limit: Int + ): [Transfer!]! + transferById(id: String!): Transfer + identities( + where: IdentityWhereInput + orderBy: [IdentityOrderByInput!] + offset: Int + limit: Int + ): [Identity!]! + identityById(id: String!): Identity + changeOwnerKeys( + where: ChangeOwnerKeyWhereInput + orderBy: [ChangeOwnerKeyOrderByInput!] + offset: Int + limit: Int + ): [ChangeOwnerKey!]! + changeOwnerKeyById(id: String!): ChangeOwnerKey + certs( + where: CertWhereInput + orderBy: [CertOrderByInput!] + offset: Int + limit: Int + ): [Cert!]! + certById(id: String!): Cert + certCreations( + where: CertCreationWhereInput + orderBy: [CertCreationOrderByInput!] + offset: Int + limit: Int + ): [CertCreation!]! + certCreationById(id: String!): CertCreation + certRenewals( + where: CertRenewalWhereInput + orderBy: [CertRenewalOrderByInput!] + offset: Int + limit: Int + ): [CertRenewal!]! + certRenewalById(id: String!): CertRenewal + certRemovals( + where: CertRemovalWhereInput + orderBy: [CertRemovalOrderByInput!] + offset: Int + limit: Int + ): [CertRemoval!]! + certRemovalById(id: String!): CertRemoval + smithCerts( + where: SmithCertWhereInput + orderBy: [SmithCertOrderByInput!] + offset: Int + limit: Int + ): [SmithCert!]! + smithCertById(id: String!): SmithCert + memberships( + where: MembershipWhereInput + orderBy: [MembershipOrderByInput!] + offset: Int + limit: Int + ): [Membership!]! + membershipById(id: String!): Membership + smithMemberships( + where: SmithMembershipWhereInput + orderBy: [SmithMembershipOrderByInput!] + offset: Int + limit: Int + ): [SmithMembership!]! + smithMembershipById(id: String!): SmithMembership } -""" -order by variance() on columns of table "transaction" -""" -input transaction_variance_order_by { - """Amount of the transaction. 100 units = 1 Ğ1.""" - amount: order_by - - """Block number where transaction was created.""" - created_on: order_by - +type SquidStatus { """ - Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate. + The height of the processed part of the chain """ - id: order_by -} - + height: Int +} \ No newline at end of file diff --git a/res/indexer-schema.json b/res/indexer-schema.json deleted file mode 100644 index db53e7b..0000000 --- a/res/indexer-schema.json +++ /dev/null @@ -1 +0,0 @@ -{"data":{"__schema":{"queryType":{"name":"query_root"},"mutationType":{"name":"mutation_root"},"subscriptionType":{"name":"subscription_root"},"types":[{"kind":"SCALAR","name":"Boolean","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"Boolean_comparison_exp","description":"Boolean expression to compare columns of type \"Boolean\". All fields are combined with logical 'AND'.","fields":null,"inputFields":[{"name":"_eq","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_gt","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_gte","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_in","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}}},"defaultValue":null},{"name":"_is_null","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_lt","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_lte","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_neq","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_nin","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Float","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"Float_comparison_exp","description":"Boolean expression to compare columns of type \"Float\". All fields are combined with logical 'AND'.","fields":null,"inputFields":[{"name":"_eq","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"_gt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"_gte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"_in","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}}},"defaultValue":null},{"name":"_is_null","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_lt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"_lte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"_neq","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"_nin","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Int","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","description":"Boolean expression to compare columns of type \"Int\". All fields are combined with logical 'AND'.","fields":null,"inputFields":[{"name":"_eq","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"_gt","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"_gte","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"_in","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}}},"defaultValue":null},{"name":"_is_null","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_lt","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"_lte","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"_neq","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"_nin","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"String","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"String_comparison_exp","description":"Boolean expression to compare columns of type \"String\". All fields are combined with logical 'AND'.","fields":null,"inputFields":[{"name":"_eq","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_gt","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_gte","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_ilike","description":"does the column match the given case-insensitive pattern","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_in","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"_iregex","description":"does the column match the given POSIX regular expression, case insensitive","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_is_null","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_like","description":"does the column match the given pattern","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_lt","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_lte","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_neq","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_nilike","description":"does the column NOT match the given case-insensitive pattern","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_nin","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"_niregex","description":"does the column NOT match the given POSIX regular expression, case insensitive","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_nlike","description":"does the column NOT match the given pattern","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_nregex","description":"does the column NOT match the given POSIX regular expression, case sensitive","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_nsimilar","description":"does the column NOT match the given SQL regular expression","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_regex","description":"does the column match the given POSIX regular expression, case sensitive","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_similar","description":"does the column match the given SQL regular expression","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Directive","description":null,"fields":[{"name":"args","description":null,"args":[],"type":{"kind":"OBJECT","name":"__InputValue","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isRepeatable","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"locations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__EnumValue","description":null,"fields":[{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Field","description":null,"fields":[{"name":"args","description":null,"args":[],"type":{"kind":"OBJECT","name":"__InputValue","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__InputValue","description":null,"fields":[{"name":"defaultValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Schema","description":null,"fields":[{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"directives","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Directive","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"mutationType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"queryType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subscriptionType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"types","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Type","description":null,"fields":[{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enumValues","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"OBJECT","name":"__EnumValue","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"fields","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"OBJECT","name":"__Field","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"inputFields","description":null,"args":[],"type":{"kind":"OBJECT","name":"__InputValue","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"interfaces","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"kind","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__TypeKind","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"ofType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"possibleTypes","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__TypeKind","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ENUM","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"LIST","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"NON_NULL","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SCALAR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"account","description":"Table of accounts.","fields":[{"name":"block","description":"An object relationship","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"created_at","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamptz","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"has_identity","description":"A computed field, executes function \"has_identity\"","args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"identity","description":"An object relationship","args":[],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"Pubkey of the account.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactions_issued","description":"An array relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"transactions_issued_aggregate","description":"An aggregate relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactions_received","description":"An array relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"transactions_received_aggregate","description":"An aggregate relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_aggregate","description":"aggregated selection of \"account\"","fields":[{"name":"aggregate","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_aggregate_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_aggregate_fields","description":"aggregate fields of \"account\"","fields":[{"name":"avg","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_avg_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[{"name":"columns","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"account_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_max_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_min_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_stddev_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_stddev_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_stddev_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sum","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_sum_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_var_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_var_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"variance","description":null,"args":[],"type":{"kind":"OBJECT","name":"account_variance_fields","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_avg_fields","description":"aggregate avg on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_bool_exp","description":"Boolean expression to filter rows from the table \"account\". All fields are combined with a logical 'AND'.","fields":null,"inputFields":[{"name":"_and","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null}}},"defaultValue":null},{"name":"_not","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null},{"name":"_or","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null}}},"defaultValue":null},{"name":"block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","ofType":null},"defaultValue":null},{"name":"created_on","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"has_identity","description":null,"type":{"kind":"INPUT_OBJECT","name":"Boolean_comparison_exp","ofType":null},"defaultValue":null},{"name":"identity","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null},{"name":"killed_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","ofType":null},"defaultValue":null},{"name":"killed_on","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"pubkey","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"transactions_issued","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null},{"name":"transactions_issued_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_aggregate_bool_exp","ofType":null},"defaultValue":null},{"name":"transactions_received","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null},{"name":"transactions_received_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_aggregate_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"account_constraint","description":"unique or primary key constraints on table \"account\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"account_id_key","description":"unique or primary key constraint on columns \"pubkey\"","isDeprecated":false,"deprecationReason":null},{"name":"account_pkey","description":"unique or primary key constraint on columns \"pubkey\"","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_inc_input","description":"input type for incrementing numeric columns in table \"account\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where account was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"killed_on","description":"Block number where account was killed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_insert_input","description":"input type for inserting data into table \"account\"","fields":null,"inputFields":[{"name":"block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where account was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"identity","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"killed_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"killed_on","description":"Block number where account was killed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"pubkey","description":"Pubkey of the account.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"transactions_issued","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_arr_rel_insert_input","ofType":null},"defaultValue":null},{"name":"transactions_received","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_arr_rel_insert_input","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_max_fields","description":"aggregate max on columns","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"Pubkey of the account.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_min_fields","description":"aggregate min on columns","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"Pubkey of the account.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_mutation_response","description":"response of any mutation on the table \"account\"","fields":[{"name":"affected_rows","description":"number of rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"returning","description":"data from the rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_obj_rel_insert_input","description":"input type for inserting object relation for remote table \"account\"","fields":null,"inputFields":[{"name":"data","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"account_on_conflict","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_on_conflict","description":"on_conflict condition type for table \"account\"","fields":null,"inputFields":[{"name":"constraint","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"account_constraint","ofType":null}},"defaultValue":null},{"name":"update_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"account_update_column","ofType":null}}}},"defaultValue":"[]"},{"name":"where","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_order_by","description":"Ordering options when selecting data from \"account\".","fields":null,"inputFields":[{"name":"block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"has_identity","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"identity","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null},"defaultValue":null},{"name":"killed_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"killed_on","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"transactions_issued_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_aggregate_order_by","ofType":null},"defaultValue":null},{"name":"transactions_received_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_aggregate_order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_pk_columns_input","description":"primary key columns input for table: account","fields":null,"inputFields":[{"name":"pubkey","description":"Pubkey of the account.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"account_select_column","description":"select columns of table \"account\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"killed_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_set_input","description":"input type for updating data in table \"account\"","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where account was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"killed_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"killed_on","description":"Block number where account was killed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"pubkey","description":"Pubkey of the account.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_stddev_fields","description":"aggregate stddev on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_stddev_pop_fields","description":"aggregate stddev_pop on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_stddev_samp_fields","description":"aggregate stddev_samp on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_stream_cursor_input","description":"Streaming cursor of the table \"account\"","fields":null,"inputFields":[{"name":"initial_value","description":"Stream column input with initial value","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_stream_cursor_value_input","ofType":null}},"defaultValue":null},{"name":"ordering","description":"cursor ordering","type":{"kind":"ENUM","name":"cursor_ordering","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_stream_cursor_value_input","description":"Initial value of the column from where the streaming should start","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where account was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"killed_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"killed_on","description":"Block number where account was killed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"pubkey","description":"Pubkey of the account.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_sum_fields","description":"aggregate sum on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"account_update_column","description":"update columns of table \"account\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"killed_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"account_updates","description":null,"fields":null,"inputFields":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"account_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"account_set_input","ofType":null},"defaultValue":null},{"name":"where","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_var_pop_fields","description":"aggregate var_pop on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_var_samp_fields","description":"aggregate var_samp on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"account_variance_fields","description":"aggregate variance on columns","fields":[{"name":"created_on","description":"Block number where account was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"killed_on","description":"Block number where account was killed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block","description":"Table of blocks.","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamp","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","args":[{"name":"path","description":"JSON select path","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hash","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_aggregate","description":"aggregated selection of \"block\"","fields":[{"name":"aggregate","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_aggregate_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_aggregate_fields","description":"aggregate fields of \"block\"","fields":[{"name":"avg","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_avg_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[{"name":"columns","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"block_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_max_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_min_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_stddev_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_stddev_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_stddev_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sum","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_sum_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_var_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_var_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"variance","description":null,"args":[],"type":{"kind":"OBJECT","name":"block_variance_fields","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_append_input","description":"append existing jsonb value of filtered columns with new jsonb value","fields":null,"inputFields":[{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_avg_fields","description":"aggregate avg on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_bool_exp","description":"Boolean expression to filter rows from the table \"block\". All fields are combined with a logical 'AND'.","fields":null,"inputFields":[{"name":"_and","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null}}},"defaultValue":null},{"name":"_not","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null},{"name":"_or","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null}}},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamp_comparison_exp","ofType":null},"defaultValue":null},{"name":"data","description":null,"type":{"kind":"INPUT_OBJECT","name":"jsonb_comparison_exp","ofType":null},"defaultValue":null},{"name":"hash","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"number","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"block_constraint","description":"unique or primary key constraints on table \"block\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"block_hash_key","description":"unique or primary key constraint on columns \"hash\"","isDeprecated":false,"deprecationReason":null},{"name":"block_pkey","description":"unique or primary key constraint on columns \"number\"","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_delete_at_path_input","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","fields":null,"inputFields":[{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_delete_elem_input","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","fields":null,"inputFields":[{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_delete_key_input","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","fields":null,"inputFields":[{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_inc_input","description":"input type for incrementing numeric columns in table \"block\"","fields":null,"inputFields":[{"name":"number","description":"Number of the block in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_insert_input","description":"input type for inserting data into table \"block\"","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"hash","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"number","description":"Number of the block in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_max_fields","description":"aggregate max on columns","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hash","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_min_fields","description":"aggregate min on columns","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"hash","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_mutation_response","description":"response of any mutation on the table \"block\"","fields":[{"name":"affected_rows","description":"number of rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"returning","description":"data from the rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_obj_rel_insert_input","description":"input type for inserting object relation for remote table \"block\"","fields":null,"inputFields":[{"name":"data","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"block_on_conflict","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_on_conflict","description":"on_conflict condition type for table \"block\"","fields":null,"inputFields":[{"name":"constraint","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"block_constraint","ofType":null}},"defaultValue":null},{"name":"update_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"block_update_column","ofType":null}}}},"defaultValue":"[]"},{"name":"where","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_order_by","description":"Ordering options when selecting data from \"block\".","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"data","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"hash","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"number","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_pk_columns_input","description":"primary key columns input for table: block","fields":null,"inputFields":[{"name":"number","description":"Number of the block in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_prepend_input","description":"prepend existing jsonb value of filtered columns with new jsonb value","fields":null,"inputFields":[{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"block_select_column","description":"select columns of table \"block\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"data","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"hash","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"number","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_set_input","description":"input type for updating data in table \"block\"","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"hash","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"number","description":"Number of the block in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_stddev_fields","description":"aggregate stddev on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_stddev_pop_fields","description":"aggregate stddev_pop on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_stddev_samp_fields","description":"aggregate stddev_samp on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_stream_cursor_input","description":"Streaming cursor of the table \"block\"","fields":null,"inputFields":[{"name":"initial_value","description":"Stream column input with initial value","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_stream_cursor_value_input","ofType":null}},"defaultValue":null},{"name":"ordering","description":"cursor ordering","type":{"kind":"ENUM","name":"cursor_ordering","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_stream_cursor_value_input","description":"Initial value of the column from where the streaming should start","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"data","description":"Data contains `extrinsics` and `events` of the block. Exemple for querying specific data: `data(path: \"extrinsics[0].isSigned\")`.","type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"hash","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"number","description":"Number of the block in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_sum_fields","description":"aggregate sum on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"block_update_column","description":"update columns of table \"block\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"data","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"hash","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"number","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"block_updates","description":null,"fields":null,"inputFields":[{"name":"_append","description":"append existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"block_append_input","ofType":null},"defaultValue":null},{"name":"_delete_at_path","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","type":{"kind":"INPUT_OBJECT","name":"block_delete_at_path_input","ofType":null},"defaultValue":null},{"name":"_delete_elem","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","type":{"kind":"INPUT_OBJECT","name":"block_delete_elem_input","ofType":null},"defaultValue":null},{"name":"_delete_key","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","type":{"kind":"INPUT_OBJECT","name":"block_delete_key_input","ofType":null},"defaultValue":null},{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"block_inc_input","ofType":null},"defaultValue":null},{"name":"_prepend","description":"prepend existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"block_prepend_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"block_set_input","ofType":null},"defaultValue":null},{"name":"where","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_var_pop_fields","description":"aggregate var_pop on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_var_samp_fields","description":"aggregate var_samp on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"block_variance_fields","description":"aggregate variance on columns","fields":[{"name":"number","description":"Number of the block in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification","description":"Table of certifications.","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamptz","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"created_on_block","description":"An object relationship","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issuer","description":"An object relationship","args":[],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issuer_name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"receiver","description":"An object relationship","args":[],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"receiver_name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_aggregate","description":"aggregated selection of \"certification\"","fields":[{"name":"aggregate","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_aggregate_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_aggregate_bool_exp","description":null,"fields":null,"inputFields":[{"name":"count","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_aggregate_bool_exp_count","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_aggregate_bool_exp_count","description":null,"fields":null,"inputFields":[{"name":"arguments","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null},{"name":"predicate","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_aggregate_fields","description":"aggregate fields of \"certification\"","fields":[{"name":"avg","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_avg_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[{"name":"columns","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_max_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_min_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_stddev_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_stddev_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_stddev_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sum","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_sum_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_var_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_var_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"variance","description":null,"args":[],"type":{"kind":"OBJECT","name":"certification_variance_fields","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_aggregate_order_by","description":"order by aggregate values of table \"certification\"","fields":null,"inputFields":[{"name":"avg","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_avg_order_by","ofType":null},"defaultValue":null},{"name":"count","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"max","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_max_order_by","ofType":null},"defaultValue":null},{"name":"min","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_min_order_by","ofType":null},"defaultValue":null},{"name":"stddev","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_stddev_order_by","ofType":null},"defaultValue":null},{"name":"stddev_pop","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_stddev_pop_order_by","ofType":null},"defaultValue":null},{"name":"stddev_samp","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_stddev_samp_order_by","ofType":null},"defaultValue":null},{"name":"sum","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_sum_order_by","ofType":null},"defaultValue":null},{"name":"var_pop","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_var_pop_order_by","ofType":null},"defaultValue":null},{"name":"var_samp","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_var_samp_order_by","ofType":null},"defaultValue":null},{"name":"variance","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_variance_order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_arr_rel_insert_input","description":"input type for inserting array relation for remote table \"certification\"","fields":null,"inputFields":[{"name":"data","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"certification_on_conflict","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_avg_fields","description":"aggregate avg on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_avg_order_by","description":"order by avg() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_bool_exp","description":"Boolean expression to filter rows from the table \"certification\". All fields are combined with a logical 'AND'.","fields":null,"inputFields":[{"name":"_and","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null}}},"defaultValue":null},{"name":"_not","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null},{"name":"_or","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null}}},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","ofType":null},"defaultValue":null},{"name":"created_on","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"created_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null},{"name":"issuer","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null},{"name":"issuer_name","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"receiver","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"certification_constraint","description":"unique or primary key constraints on table \"certification\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"certification_pkey","description":"unique or primary key constraint on columns \"receiver_name\", \"issuer_name\"","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_inc_input","description":"input type for incrementing numeric columns in table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_insert_input","description":"input type for inserting data into table \"certification\"","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"created_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"issuer","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"issuer_name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"receiver","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_max_fields","description":"aggregate max on columns","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issuer_name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"receiver_name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_max_order_by","description":"order by max() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"issuer_name","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_min_fields","description":"aggregate min on columns","fields":[{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issuer_name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"receiver_name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_min_order_by","description":"order by min() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"issuer_name","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_mutation_response","description":"response of any mutation on the table \"certification\"","fields":[{"name":"affected_rows","description":"number of rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"returning","description":"data from the rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_on_conflict","description":"on_conflict condition type for table \"certification\"","fields":null,"inputFields":[{"name":"constraint","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_constraint","ofType":null}},"defaultValue":null},{"name":"update_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_update_column","ofType":null}}}},"defaultValue":"[]"},{"name":"where","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_order_by","description":"Ordering options when selecting data from \"certification\".","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null},"defaultValue":null},{"name":"issuer","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null},"defaultValue":null},{"name":"issuer_name","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"receiver","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_pk_columns_input","description":"primary key columns input for table: certification","fields":null,"inputFields":[{"name":"issuer_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"certification_select_column","description":"select columns of table \"certification\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"issuer_name","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"receiver_name","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_set_input","description":"input type for updating data in table \"certification\"","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"issuer_name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_stddev_fields","description":"aggregate stddev on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_stddev_order_by","description":"order by stddev() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_stddev_pop_fields","description":"aggregate stddev_pop on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_stddev_pop_order_by","description":"order by stddev_pop() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_stddev_samp_fields","description":"aggregate stddev_samp on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_stddev_samp_order_by","description":"order by stddev_samp() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_stream_cursor_input","description":"Streaming cursor of the table \"certification\"","fields":null,"inputFields":[{"name":"initial_value","description":"Stream column input with initial value","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_stream_cursor_value_input","ofType":null}},"defaultValue":null},{"name":"ordering","description":"cursor ordering","type":{"kind":"ENUM","name":"cursor_ordering","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_stream_cursor_value_input","description":"Initial value of the column from where the streaming should start","fields":null,"inputFields":[{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"issuer_name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_sum_fields","description":"aggregate sum on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_sum_order_by","description":"order by sum() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"certification_update_column","description":"update columns of table \"certification\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"issuer_name","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"receiver_name","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_updates","description":null,"fields":null,"inputFields":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"certification_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"certification_set_input","ofType":null},"defaultValue":null},{"name":"where","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_var_pop_fields","description":"aggregate var_pop on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_var_pop_order_by","description":"order by var_pop() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_var_samp_fields","description":"aggregate var_samp on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_var_samp_order_by","description":"order by var_samp() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"certification_variance_fields","description":"aggregate variance on columns","fields":[{"name":"created_on","description":"Block number where certification was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"certification_variance_order_by","description":"order by variance() on columns of table \"certification\"","fields":null,"inputFields":[{"name":"created_on","description":"Block number where certification was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"cursor_ordering","description":"ordering argument of a cursor","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ASC","description":"ascending ordering of the cursor","isDeprecated":false,"deprecationReason":null},{"name":"DESC","description":"descending ordering of the cursor","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"identity","description":"Table of identities.","fields":[{"name":"account","description":"An object relationship","args":[],"type":{"kind":"OBJECT","name":"account","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"certifications_issued","description":"An array relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"certifications_issued_aggregate","description":"An aggregate relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"certifications_received","description":"An array relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"certifications_received_aggregate","description":"An aggregate relationship","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"confirmed_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"confirmed_on_block","description":"An object relationship","args":[],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Name of the identity.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"Pubkey of the account associated to this identity.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on_block","description":"An object relationship","args":[],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on_block","description":"An object relationship","args":[],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_aggregate","description":"aggregated selection of \"identity\"","fields":[{"name":"aggregate","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_aggregate_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_aggregate_fields","description":"aggregate fields of \"identity\"","fields":[{"name":"avg","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_avg_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[{"name":"columns","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_max_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_min_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_stddev_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_stddev_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_stddev_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sum","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_sum_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_var_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_var_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"variance","description":null,"args":[],"type":{"kind":"OBJECT","name":"identity_variance_fields","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_avg_fields","description":"aggregate avg on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_bool_exp","description":"Boolean expression to filter rows from the table \"identity\". All fields are combined with a logical 'AND'.","fields":null,"inputFields":[{"name":"_and","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null}}},"defaultValue":null},{"name":"_not","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null},{"name":"_or","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null}}},"defaultValue":null},{"name":"account","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null},{"name":"certifications_issued","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null},{"name":"certifications_issued_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_aggregate_bool_exp","ofType":null},"defaultValue":null},{"name":"certifications_received","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null},{"name":"certifications_received_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_aggregate_bool_exp","ofType":null},"defaultValue":null},{"name":"confirmed_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","ofType":null},"defaultValue":null},{"name":"confirmed_on","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"confirmed_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"pubkey","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"revoked_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","ofType":null},"defaultValue":null},{"name":"revoked_on","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"revoked_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null},{"name":"validated_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","ofType":null},"defaultValue":null},{"name":"validated_on","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"validated_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"identity_constraint","description":"unique or primary key constraints on table \"identity\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"identity_id_key","description":"unique or primary key constraint on columns \"pubkey\"","isDeprecated":false,"deprecationReason":null},{"name":"identity_key_key","description":"unique or primary key constraint on columns \"pubkey\"","isDeprecated":false,"deprecationReason":null},{"name":"identity_name_key","description":"unique or primary key constraint on columns \"name\"","isDeprecated":false,"deprecationReason":null},{"name":"identity_pkey","description":"unique or primary key constraint on columns \"name\"","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_inc_input","description":"input type for incrementing numeric columns in table \"identity\"","fields":null,"inputFields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"revoked_on","description":"Block number where identity was revoked.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"validated_on","description":"Block number where identity was validated.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_insert_input","description":"input type for inserting data into table \"identity\"","fields":null,"inputFields":[{"name":"account","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"certifications_issued","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_arr_rel_insert_input","ofType":null},"defaultValue":null},{"name":"certifications_received","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_arr_rel_insert_input","ofType":null},"defaultValue":null},{"name":"confirmed_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"confirmed_on","description":"Block number where identity was confirmed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"confirmed_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"name","description":"Name of the identity.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"pubkey","description":"Pubkey of the account associated to this identity.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"revoked_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"revoked_on","description":"Block number where identity was revoked.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"revoked_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"validated_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"validated_on","description":"Block number where identity was validated.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"validated_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_obj_rel_insert_input","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_max_fields","description":"aggregate max on columns","fields":[{"name":"confirmed_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Name of the identity.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"Pubkey of the account associated to this identity.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_min_fields","description":"aggregate min on columns","fields":[{"name":"confirmed_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":"Name of the identity.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"Pubkey of the account associated to this identity.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_mutation_response","description":"response of any mutation on the table \"identity\"","fields":[{"name":"affected_rows","description":"number of rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"returning","description":"data from the rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_obj_rel_insert_input","description":"input type for inserting object relation for remote table \"identity\"","fields":null,"inputFields":[{"name":"data","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"identity_on_conflict","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_on_conflict","description":"on_conflict condition type for table \"identity\"","fields":null,"inputFields":[{"name":"constraint","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_constraint","ofType":null}},"defaultValue":null},{"name":"update_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_update_column","ofType":null}}}},"defaultValue":"[]"},{"name":"where","description":null,"type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_order_by","description":"Ordering options when selecting data from \"identity\".","fields":null,"inputFields":[{"name":"account","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_order_by","ofType":null},"defaultValue":null},{"name":"certifications_issued_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_aggregate_order_by","ofType":null},"defaultValue":null},{"name":"certifications_received_aggregate","description":null,"type":{"kind":"INPUT_OBJECT","name":"certification_aggregate_order_by","ofType":null},"defaultValue":null},{"name":"confirmed_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"confirmed_on","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"confirmed_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"revoked_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"revoked_on","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"revoked_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null},"defaultValue":null},{"name":"validated_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"validated_on","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"validated_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_pk_columns_input","description":"primary key columns input for table: identity","fields":null,"inputFields":[{"name":"name","description":"Name of the identity.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"identity_select_column","description":"select columns of table \"identity\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"confirmed_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"confirmed_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"name","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"revoked_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"validated_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_set_input","description":"input type for updating data in table \"identity\"","fields":null,"inputFields":[{"name":"confirmed_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"confirmed_on","description":"Block number where identity was confirmed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"name","description":"Name of the identity.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"pubkey","description":"Pubkey of the account associated to this identity.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"revoked_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"revoked_on","description":"Block number where identity was revoked.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"validated_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"validated_on","description":"Block number where identity was validated.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_stddev_fields","description":"aggregate stddev on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_stddev_pop_fields","description":"aggregate stddev_pop on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_stddev_samp_fields","description":"aggregate stddev_samp on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_stream_cursor_input","description":"Streaming cursor of the table \"identity\"","fields":null,"inputFields":[{"name":"initial_value","description":"Stream column input with initial value","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_stream_cursor_value_input","ofType":null}},"defaultValue":null},{"name":"ordering","description":"cursor ordering","type":{"kind":"ENUM","name":"cursor_ordering","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_stream_cursor_value_input","description":"Initial value of the column from where the streaming should start","fields":null,"inputFields":[{"name":"confirmed_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"confirmed_on","description":"Block number where identity was confirmed.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"name","description":"Name of the identity.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"pubkey","description":"Pubkey of the account associated to this identity.","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"revoked_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"revoked_on","description":"Block number where identity was revoked.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"validated_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"validated_on","description":"Block number where identity was validated.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_sum_fields","description":"aggregate sum on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"identity_update_column","description":"update columns of table \"identity\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"confirmed_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"confirmed_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"name","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"pubkey","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"revoked_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"validated_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"identity_updates","description":null,"fields":null,"inputFields":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"identity_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"identity_set_input","ofType":null},"defaultValue":null},{"name":"where","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_var_pop_fields","description":"aggregate var_pop on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_var_samp_fields","description":"aggregate var_samp on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"identity_variance_fields","description":"aggregate variance on columns","fields":[{"name":"confirmed_on","description":"Block number where identity was confirmed.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"revoked_on","description":"Block number where identity was revoked.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"validated_on","description":"Block number where identity was validated.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"jsonb","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"jsonb_cast_exp","description":null,"fields":null,"inputFields":[{"name":"String","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"jsonb_comparison_exp","description":"Boolean expression to compare columns of type \"jsonb\". All fields are combined with logical 'AND'.","fields":null,"inputFields":[{"name":"_cast","description":null,"type":{"kind":"INPUT_OBJECT","name":"jsonb_cast_exp","ofType":null},"defaultValue":null},{"name":"_contained_in","description":"is the column contained in the given json value","type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_contains","description":"does the column contain the given json value at the top level","type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_eq","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_gt","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_gte","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_has_key","description":"does the string exist as a top-level key in the column","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"_has_keys_all","description":"do all of these strings exist as top-level keys in the column","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"_has_keys_any","description":"do any of these strings exist as top-level keys in the column","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"_in","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"jsonb","ofType":null}}},"defaultValue":null},{"name":"_is_null","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_lt","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_lte","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_neq","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null},{"name":"_nin","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"jsonb","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"mutation_root","description":"mutation root","fields":[{"name":"delete_account","description":"delete data from the table: \"account\"","args":[{"name":"where","description":"filter the rows which have to be deleted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_account_by_pk","description":"delete single row from the table: \"account\"","args":[{"name":"pubkey","description":"Pubkey of the account.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_block","description":"delete data from the table: \"block\"","args":[{"name":"where","description":"filter the rows which have to be deleted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_block_by_pk","description":"delete single row from the table: \"block\"","args":[{"name":"number","description":"Number of the block in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_certification","description":"delete data from the table: \"certification\"","args":[{"name":"where","description":"filter the rows which have to be deleted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_certification_by_pk","description":"delete single row from the table: \"certification\"","args":[{"name":"issuer_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_identity","description":"delete data from the table: \"identity\"","args":[{"name":"where","description":"filter the rows which have to be deleted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_identity_by_pk","description":"delete single row from the table: \"identity\"","args":[{"name":"name","description":"Name of the identity.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_parameters","description":"delete data from the table: \"parameters\"","args":[{"name":"where","description":"filter the rows which have to be deleted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_parameters_by_pk","description":"delete single row from the table: \"parameters\"","args":[{"name":"key","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_transaction","description":"delete data from the table: \"transaction\"","args":[{"name":"where","description":"filter the rows which have to be deleted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"delete_transaction_by_pk","description":"delete single row from the table: \"transaction\"","args":[{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_account","description":"insert data into the table: \"account\"","args":[{"name":"objects","description":"the rows to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"account_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_account_one","description":"insert a single row into the table: \"account\"","args":[{"name":"object","description":"the row to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"account_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_block","description":"insert data into the table: \"block\"","args":[{"name":"objects","description":"the rows to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"block_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_block_one","description":"insert a single row into the table: \"block\"","args":[{"name":"object","description":"the row to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"block_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_certification","description":"insert data into the table: \"certification\"","args":[{"name":"objects","description":"the rows to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"certification_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_certification_one","description":"insert a single row into the table: \"certification\"","args":[{"name":"object","description":"the row to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"certification_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_identity","description":"insert data into the table: \"identity\"","args":[{"name":"objects","description":"the rows to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"identity_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_identity_one","description":"insert a single row into the table: \"identity\"","args":[{"name":"object","description":"the row to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"identity_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_parameters","description":"insert data into the table: \"parameters\"","args":[{"name":"objects","description":"the rows to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"parameters_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_parameters_one","description":"insert a single row into the table: \"parameters\"","args":[{"name":"object","description":"the row to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"parameters_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_transaction","description":"insert data into the table: \"transaction\"","args":[{"name":"objects","description":"the rows to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"transaction_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"insert_transaction_one","description":"insert a single row into the table: \"transaction\"","args":[{"name":"object","description":"the row to be inserted","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_insert_input","ofType":null}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"transaction_on_conflict","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_account","description":"update data of the table: \"account\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"account_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"account_set_input","ofType":null},"defaultValue":null},{"name":"where","description":"filter the rows which have to be updated","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_account_by_pk","description":"update single row of the table: \"account\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"account_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"account_set_input","ofType":null},"defaultValue":null},{"name":"pk_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_pk_columns_input","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_account_many","description":"update multiples rows of table: \"account\"","args":[{"name":"updates","description":"updates to execute, in order","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_updates","ofType":null}}}},"defaultValue":null}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"account_mutation_response","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"update_block","description":"update data of the table: \"block\"","args":[{"name":"_append","description":"append existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"block_append_input","ofType":null},"defaultValue":null},{"name":"_delete_at_path","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","type":{"kind":"INPUT_OBJECT","name":"block_delete_at_path_input","ofType":null},"defaultValue":null},{"name":"_delete_elem","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","type":{"kind":"INPUT_OBJECT","name":"block_delete_elem_input","ofType":null},"defaultValue":null},{"name":"_delete_key","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","type":{"kind":"INPUT_OBJECT","name":"block_delete_key_input","ofType":null},"defaultValue":null},{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"block_inc_input","ofType":null},"defaultValue":null},{"name":"_prepend","description":"prepend existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"block_prepend_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"block_set_input","ofType":null},"defaultValue":null},{"name":"where","description":"filter the rows which have to be updated","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_block_by_pk","description":"update single row of the table: \"block\"","args":[{"name":"_append","description":"append existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"block_append_input","ofType":null},"defaultValue":null},{"name":"_delete_at_path","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","type":{"kind":"INPUT_OBJECT","name":"block_delete_at_path_input","ofType":null},"defaultValue":null},{"name":"_delete_elem","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","type":{"kind":"INPUT_OBJECT","name":"block_delete_elem_input","ofType":null},"defaultValue":null},{"name":"_delete_key","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","type":{"kind":"INPUT_OBJECT","name":"block_delete_key_input","ofType":null},"defaultValue":null},{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"block_inc_input","ofType":null},"defaultValue":null},{"name":"_prepend","description":"prepend existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"block_prepend_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"block_set_input","ofType":null},"defaultValue":null},{"name":"pk_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_pk_columns_input","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_block_many","description":"update multiples rows of table: \"block\"","args":[{"name":"updates","description":"updates to execute, in order","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_updates","ofType":null}}}},"defaultValue":null}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"block_mutation_response","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"update_certification","description":"update data of the table: \"certification\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"certification_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"certification_set_input","ofType":null},"defaultValue":null},{"name":"where","description":"filter the rows which have to be updated","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_certification_by_pk","description":"update single row of the table: \"certification\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"certification_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"certification_set_input","ofType":null},"defaultValue":null},{"name":"pk_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_pk_columns_input","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_certification_many","description":"update multiples rows of table: \"certification\"","args":[{"name":"updates","description":"updates to execute, in order","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_updates","ofType":null}}}},"defaultValue":null}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"certification_mutation_response","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"update_identity","description":"update data of the table: \"identity\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"identity_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"identity_set_input","ofType":null},"defaultValue":null},{"name":"where","description":"filter the rows which have to be updated","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_identity_by_pk","description":"update single row of the table: \"identity\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"identity_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"identity_set_input","ofType":null},"defaultValue":null},{"name":"pk_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_pk_columns_input","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_identity_many","description":"update multiples rows of table: \"identity\"","args":[{"name":"updates","description":"updates to execute, in order","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_updates","ofType":null}}}},"defaultValue":null}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"identity_mutation_response","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"update_parameters","description":"update data of the table: \"parameters\"","args":[{"name":"_append","description":"append existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"parameters_append_input","ofType":null},"defaultValue":null},{"name":"_delete_at_path","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_at_path_input","ofType":null},"defaultValue":null},{"name":"_delete_elem","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_elem_input","ofType":null},"defaultValue":null},{"name":"_delete_key","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_key_input","ofType":null},"defaultValue":null},{"name":"_prepend","description":"prepend existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"parameters_prepend_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"parameters_set_input","ofType":null},"defaultValue":null},{"name":"where","description":"filter the rows which have to be updated","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_parameters_by_pk","description":"update single row of the table: \"parameters\"","args":[{"name":"_append","description":"append existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"parameters_append_input","ofType":null},"defaultValue":null},{"name":"_delete_at_path","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_at_path_input","ofType":null},"defaultValue":null},{"name":"_delete_elem","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_elem_input","ofType":null},"defaultValue":null},{"name":"_delete_key","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_key_input","ofType":null},"defaultValue":null},{"name":"_prepend","description":"prepend existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"parameters_prepend_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"parameters_set_input","ofType":null},"defaultValue":null},{"name":"pk_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_pk_columns_input","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_parameters_many","description":"update multiples rows of table: \"parameters\"","args":[{"name":"updates","description":"updates to execute, in order","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_updates","ofType":null}}}},"defaultValue":null}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"parameters_mutation_response","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"update_transaction","description":"update data of the table: \"transaction\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"transaction_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"transaction_set_input","ofType":null},"defaultValue":null},{"name":"where","description":"filter the rows which have to be updated","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction_mutation_response","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_transaction_by_pk","description":"update single row of the table: \"transaction\"","args":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"transaction_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"transaction_set_input","ofType":null},"defaultValue":null},{"name":"pk_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_pk_columns_input","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"update_transaction_many","description":"update multiples rows of table: \"transaction\"","args":[{"name":"updates","description":"updates to execute, in order","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_updates","ofType":null}}}},"defaultValue":null}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"transaction_mutation_response","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"order_by","description":"column ordering options","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"asc","description":"in ascending order, nulls last","isDeprecated":false,"deprecationReason":null},{"name":"asc_nulls_first","description":"in ascending order, nulls first","isDeprecated":false,"deprecationReason":null},{"name":"asc_nulls_last","description":"in ascending order, nulls last","isDeprecated":false,"deprecationReason":null},{"name":"desc","description":"in descending order, nulls first","isDeprecated":false,"deprecationReason":null},{"name":"desc_nulls_first","description":"in descending order, nulls first","isDeprecated":false,"deprecationReason":null},{"name":"desc_nulls_last","description":"in descending order, nulls last","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"parameters","description":"Table of key/value parameters.","fields":[{"name":"key","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[{"name":"path","description":"JSON select path","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"parameters_aggregate","description":"aggregated selection of \"parameters\"","fields":[{"name":"aggregate","description":null,"args":[],"type":{"kind":"OBJECT","name":"parameters_aggregate_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"parameters","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"parameters_aggregate_fields","description":"aggregate fields of \"parameters\"","fields":[{"name":"count","description":null,"args":[{"name":"columns","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"parameters_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"OBJECT","name":"parameters_max_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"OBJECT","name":"parameters_min_fields","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_append_input","description":"append existing jsonb value of filtered columns with new jsonb value","fields":null,"inputFields":[{"name":"value","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","description":"Boolean expression to filter rows from the table \"parameters\". All fields are combined with a logical 'AND'.","fields":null,"inputFields":[{"name":"_and","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null}}},"defaultValue":null},{"name":"_not","description":null,"type":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null},"defaultValue":null},{"name":"_or","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null}}},"defaultValue":null},{"name":"key","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"INPUT_OBJECT","name":"jsonb_comparison_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"parameters_constraint","description":"unique or primary key constraints on table \"parameters\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"parameters_pkey","description":"unique or primary key constraint on columns \"key\"","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_delete_at_path_input","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","fields":null,"inputFields":[{"name":"value","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_delete_elem_input","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","fields":null,"inputFields":[{"name":"value","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_delete_key_input","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","fields":null,"inputFields":[{"name":"value","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_insert_input","description":"input type for inserting data into table \"parameters\"","fields":null,"inputFields":[{"name":"key","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"parameters_max_fields","description":"aggregate max on columns","fields":[{"name":"key","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"parameters_min_fields","description":"aggregate min on columns","fields":[{"name":"key","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"parameters_mutation_response","description":"response of any mutation on the table \"parameters\"","fields":[{"name":"affected_rows","description":"number of rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"returning","description":"data from the rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"parameters","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_on_conflict","description":"on_conflict condition type for table \"parameters\"","fields":null,"inputFields":[{"name":"constraint","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"parameters_constraint","ofType":null}},"defaultValue":null},{"name":"update_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"parameters_update_column","ofType":null}}}},"defaultValue":"[]"},{"name":"where","description":null,"type":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_order_by","description":"Ordering options when selecting data from \"parameters\".","fields":null,"inputFields":[{"name":"key","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_pk_columns_input","description":"primary key columns input for table: parameters","fields":null,"inputFields":[{"name":"key","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_prepend_input","description":"prepend existing jsonb value of filtered columns with new jsonb value","fields":null,"inputFields":[{"name":"value","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"parameters_select_column","description":"select columns of table \"parameters\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"key","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"value","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_set_input","description":"input type for updating data in table \"parameters\"","fields":null,"inputFields":[{"name":"key","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_stream_cursor_input","description":"Streaming cursor of the table \"parameters\"","fields":null,"inputFields":[{"name":"initial_value","description":"Stream column input with initial value","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_stream_cursor_value_input","ofType":null}},"defaultValue":null},{"name":"ordering","description":"cursor ordering","type":{"kind":"ENUM","name":"cursor_ordering","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_stream_cursor_value_input","description":"Initial value of the column from where the streaming should start","fields":null,"inputFields":[{"name":"key","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"SCALAR","name":"jsonb","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"parameters_update_column","description":"update columns of table \"parameters\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"key","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"value","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"parameters_updates","description":null,"fields":null,"inputFields":[{"name":"_append","description":"append existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"parameters_append_input","ofType":null},"defaultValue":null},{"name":"_delete_at_path","description":"delete the field or element with specified path (for JSON arrays, negative integers count from the end)","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_at_path_input","ofType":null},"defaultValue":null},{"name":"_delete_elem","description":"delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_elem_input","ofType":null},"defaultValue":null},{"name":"_delete_key","description":"delete key/value pair or string element. key/value pairs are matched based on their key value","type":{"kind":"INPUT_OBJECT","name":"parameters_delete_key_input","ofType":null},"defaultValue":null},{"name":"_prepend","description":"prepend existing jsonb value of filtered columns with new jsonb value","type":{"kind":"INPUT_OBJECT","name":"parameters_prepend_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"parameters_set_input","ofType":null},"defaultValue":null},{"name":"where","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"query_root","description":null,"fields":[{"name":"account","description":"fetch data from the table: \"account\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"account_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"account_aggregate","description":"fetch aggregated fields from the table: \"account\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"account_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"account_by_pk","description":"fetch data from the table: \"account\" using primary key columns","args":[{"name":"pubkey","description":"Pubkey of the account.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"block","description":"fetch data from the table: \"block\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"block_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"block_aggregate","description":"fetch aggregated fields from the table: \"block\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"block_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"block_by_pk","description":"fetch data from the table: \"block\" using primary key columns","args":[{"name":"number","description":"Number of the block in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"certification","description":"fetch data from the table: \"certification\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"certification_aggregate","description":"fetch aggregated fields from the table: \"certification\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"certification_by_pk","description":"fetch data from the table: \"certification\" using primary key columns","args":[{"name":"issuer_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"identity","description":"fetch data from the table: \"identity\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"identity_aggregate","description":"fetch aggregated fields from the table: \"identity\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identity_by_pk","description":"fetch data from the table: \"identity\" using primary key columns","args":[{"name":"name","description":"Name of the identity.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parameters","description":"fetch data from the table: \"parameters\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"parameters_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"parameters","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"parameters_aggregate","description":"fetch aggregated fields from the table: \"parameters\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"parameters_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"parameters_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"parameters_by_pk","description":"fetch data from the table: \"parameters\" using primary key columns","args":[{"name":"key","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"search_identity","description":"execute function \"search_identity\" which returns \"identity\"","args":[{"name":"args","description":"input parameters for function \"search_identity\"","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"search_identity_args","ofType":null}},"defaultValue":null},{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"search_identity_aggregate","description":"execute function \"search_identity\" and query aggregates on result of table type \"identity\"","args":[{"name":"args","description":"input parameters for function \"search_identity_aggregate\"","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"search_identity_args","ofType":null}},"defaultValue":null},{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transaction","description":"fetch data from the table: \"transaction\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"transaction_aggregate","description":"fetch aggregated fields from the table: \"transaction\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transaction_by_pk","description":"fetch data from the table: \"transaction\" using primary key columns","args":[{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"search_identity_args","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"subscription_root","description":null,"fields":[{"name":"account","description":"fetch data from the table: \"account\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"account_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"account_aggregate","description":"fetch aggregated fields from the table: \"account\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"account_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"account_by_pk","description":"fetch data from the table: \"account\" using primary key columns","args":[{"name":"pubkey","description":"Pubkey of the account.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"account","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"account_stream","description":"fetch data from the table in a streaming manner: \"account\"","args":[{"name":"batch_size","description":"maximum number of rows returned in a single batch","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"cursor","description":"cursor to stream the results returned by the query","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"account_stream_cursor_input","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"block","description":"fetch data from the table: \"block\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"block_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"block_aggregate","description":"fetch aggregated fields from the table: \"block\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"block_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"block_by_pk","description":"fetch data from the table: \"block\" using primary key columns","args":[{"name":"number","description":"Number of the block in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"block","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"block_stream","description":"fetch data from the table in a streaming manner: \"block\"","args":[{"name":"batch_size","description":"maximum number of rows returned in a single batch","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"cursor","description":"cursor to stream the results returned by the query","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"block_stream_cursor_input","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"certification","description":"fetch data from the table: \"certification\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"certification_aggregate","description":"fetch aggregated fields from the table: \"certification\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"certification_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"certification_by_pk","description":"fetch data from the table: \"certification\" using primary key columns","args":[{"name":"issuer_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"receiver_name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"certification","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"certification_stream","description":"fetch data from the table in a streaming manner: \"certification\"","args":[{"name":"batch_size","description":"maximum number of rows returned in a single batch","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"cursor","description":"cursor to stream the results returned by the query","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"certification_stream_cursor_input","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"certification_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"certification","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"identity","description":"fetch data from the table: \"identity\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"identity_aggregate","description":"fetch aggregated fields from the table: \"identity\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identity_by_pk","description":"fetch data from the table: \"identity\" using primary key columns","args":[{"name":"name","description":"Name of the identity.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"identity","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"identity_stream","description":"fetch data from the table in a streaming manner: \"identity\"","args":[{"name":"batch_size","description":"maximum number of rows returned in a single batch","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"cursor","description":"cursor to stream the results returned by the query","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_stream_cursor_input","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"parameters","description":"fetch data from the table: \"parameters\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"parameters_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"parameters","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"parameters_aggregate","description":"fetch aggregated fields from the table: \"parameters\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"parameters_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"parameters_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"parameters_by_pk","description":"fetch data from the table: \"parameters\" using primary key columns","args":[{"name":"key","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"parameters","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"parameters_stream","description":"fetch data from the table in a streaming manner: \"parameters\"","args":[{"name":"batch_size","description":"maximum number of rows returned in a single batch","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"cursor","description":"cursor to stream the results returned by the query","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"parameters_stream_cursor_input","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"parameters_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"parameters","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"search_identity","description":"execute function \"search_identity\" which returns \"identity\"","args":[{"name":"args","description":"input parameters for function \"search_identity\"","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"search_identity_args","ofType":null}},"defaultValue":null},{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"search_identity_aggregate","description":"execute function \"search_identity\" and query aggregates on result of table type \"identity\"","args":[{"name":"args","description":"input parameters for function \"search_identity_aggregate\"","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"search_identity_args","ofType":null}},"defaultValue":null},{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"identity_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"identity_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"identity_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"identity_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transaction","description":"fetch data from the table: \"transaction\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"transaction_aggregate","description":"fetch aggregated fields from the table: \"transaction\"","args":[{"name":"distinct_on","description":"distinct select on columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"limit","description":"limit the number of rows returned","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"offset","description":"skip the first n rows. Use only with order_by","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"order_by","description":"sort the rows by one or more columns","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_order_by","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction_aggregate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transaction_by_pk","description":"fetch data from the table: \"transaction\" using primary key columns","args":[{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"transaction","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"transaction_stream","description":"fetch data from the table in a streaming manner: \"transaction\"","args":[{"name":"batch_size","description":"maximum number of rows returned in a single batch","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"cursor","description":"cursor to stream the results returned by the query","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_stream_cursor_input","ofType":null}}},"defaultValue":null},{"name":"where","description":"filter the rows returned","type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"timestamp","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"timestamp_comparison_exp","description":"Boolean expression to compare columns of type \"timestamp\". All fields are combined with logical 'AND'.","fields":null,"inputFields":[{"name":"_eq","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"_gt","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"_gte","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"_in","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamp","ofType":null}}},"defaultValue":null},{"name":"_is_null","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_lt","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"_lte","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"_neq","description":null,"type":{"kind":"SCALAR","name":"timestamp","ofType":null},"defaultValue":null},{"name":"_nin","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamp","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"timestamptz","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","description":"Boolean expression to compare columns of type \"timestamptz\". All fields are combined with logical 'AND'.","fields":null,"inputFields":[{"name":"_eq","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"_gt","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"_gte","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"_in","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamptz","ofType":null}}},"defaultValue":null},{"name":"_is_null","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"_lt","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"_lte","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"_neq","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"_nin","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamptz","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction","description":"Table of transactions.","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"comment","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_at","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"timestamptz","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"created_on_block","description":"An object relationship","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"block","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issuer","description":"An object relationship","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"issuer_pubkey","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"receiver","description":"An object relationship","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"account","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"receiver_pubkey","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_aggregate","description":"aggregated selection of \"transaction\"","fields":[{"name":"aggregate","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_aggregate_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_aggregate_bool_exp","description":null,"fields":null,"inputFields":[{"name":"count","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_aggregate_bool_exp_count","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_aggregate_bool_exp_count","description":null,"fields":null,"inputFields":[{"name":"arguments","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null},{"name":"predicate","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_aggregate_fields","description":"aggregate fields of \"transaction\"","fields":[{"name":"avg","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_avg_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[{"name":"columns","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_select_column","ofType":null}}},"defaultValue":null},{"name":"distinct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_max_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_min_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_stddev_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_stddev_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"stddev_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_stddev_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"sum","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_sum_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_pop","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_var_pop_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"var_samp","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_var_samp_fields","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"variance","description":null,"args":[],"type":{"kind":"OBJECT","name":"transaction_variance_fields","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_aggregate_order_by","description":"order by aggregate values of table \"transaction\"","fields":null,"inputFields":[{"name":"avg","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_avg_order_by","ofType":null},"defaultValue":null},{"name":"count","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"max","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_max_order_by","ofType":null},"defaultValue":null},{"name":"min","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_min_order_by","ofType":null},"defaultValue":null},{"name":"stddev","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_stddev_order_by","ofType":null},"defaultValue":null},{"name":"stddev_pop","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_stddev_pop_order_by","ofType":null},"defaultValue":null},{"name":"stddev_samp","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_stddev_samp_order_by","ofType":null},"defaultValue":null},{"name":"sum","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_sum_order_by","ofType":null},"defaultValue":null},{"name":"var_pop","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_var_pop_order_by","ofType":null},"defaultValue":null},{"name":"var_samp","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_var_samp_order_by","ofType":null},"defaultValue":null},{"name":"variance","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_variance_order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_arr_rel_insert_input","description":"input type for inserting array relation for remote table \"transaction\"","fields":null,"inputFields":[{"name":"data","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_insert_input","ofType":null}}}},"defaultValue":null},{"name":"on_conflict","description":"upsert condition","type":{"kind":"INPUT_OBJECT","name":"transaction_on_conflict","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_avg_fields","description":"aggregate avg on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_avg_order_by","description":"order by avg() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","description":"Boolean expression to filter rows from the table \"transaction\". All fields are combined with a logical 'AND'.","fields":null,"inputFields":[{"name":"_and","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null}}},"defaultValue":null},{"name":"_not","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null},{"name":"_or","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null}}},"defaultValue":null},{"name":"amount","description":null,"type":{"kind":"INPUT_OBJECT","name":"Float_comparison_exp","ofType":null},"defaultValue":null},{"name":"comment","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"INPUT_OBJECT","name":"timestamptz_comparison_exp","ofType":null},"defaultValue":null},{"name":"created_on","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"created_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_bool_exp","ofType":null},"defaultValue":null},{"name":"id","description":null,"type":{"kind":"INPUT_OBJECT","name":"Int_comparison_exp","ofType":null},"defaultValue":null},{"name":"issuer","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null},{"name":"issuer_pubkey","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null},{"name":"receiver","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_bool_exp","ofType":null},"defaultValue":null},{"name":"receiver_pubkey","description":null,"type":{"kind":"INPUT_OBJECT","name":"String_comparison_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"transaction_constraint","description":"unique or primary key constraints on table \"transaction\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"transaction_pkey","description":"unique or primary key constraint on columns \"id\"","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_inc_input","description":"input type for incrementing numeric columns in table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_insert_input","description":"input type for inserting data into table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"comment","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"created_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"issuer","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"issuer_pubkey","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"receiver","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_obj_rel_insert_input","ofType":null},"defaultValue":null},{"name":"receiver_pubkey","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_max_fields","description":"aggregate max on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"comment","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issuer_pubkey","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"receiver_pubkey","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_max_order_by","description":"order by max() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"comment","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"issuer_pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"receiver_pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_min_fields","description":"aggregate min on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"comment","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_at","description":null,"args":[],"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"issuer_pubkey","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"receiver_pubkey","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_min_order_by","description":"order by min() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"comment","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"issuer_pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"receiver_pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_mutation_response","description":"response of any mutation on the table \"transaction\"","fields":[{"name":"affected_rows","description":"number of rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"returning","description":"data from the rows affected by the mutation","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"transaction","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_on_conflict","description":"on_conflict condition type for table \"transaction\"","fields":null,"inputFields":[{"name":"constraint","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_constraint","ofType":null}},"defaultValue":null},{"name":"update_columns","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"transaction_update_column","ofType":null}}}},"defaultValue":"[]"},{"name":"where","description":null,"type":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_order_by","description":"Ordering options when selecting data from \"transaction\".","fields":null,"inputFields":[{"name":"amount","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"comment","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on_block","description":null,"type":{"kind":"INPUT_OBJECT","name":"block_order_by","ofType":null},"defaultValue":null},{"name":"id","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"issuer","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_order_by","ofType":null},"defaultValue":null},{"name":"issuer_pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"receiver","description":null,"type":{"kind":"INPUT_OBJECT","name":"account_order_by","ofType":null},"defaultValue":null},{"name":"receiver_pubkey","description":null,"type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_pk_columns_input","description":"primary key columns input for table: transaction","fields":null,"inputFields":[{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"transaction_select_column","description":"select columns of table \"transaction\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"amount","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"comment","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"id","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"issuer_pubkey","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"receiver_pubkey","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_set_input","description":"input type for updating data in table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"comment","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"issuer_pubkey","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"receiver_pubkey","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_stddev_fields","description":"aggregate stddev on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_stddev_order_by","description":"order by stddev() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_stddev_pop_fields","description":"aggregate stddev_pop on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_stddev_pop_order_by","description":"order by stddev_pop() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_stddev_samp_fields","description":"aggregate stddev_samp on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_stddev_samp_order_by","description":"order by stddev_samp() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_stream_cursor_input","description":"Streaming cursor of the table \"transaction\"","fields":null,"inputFields":[{"name":"initial_value","description":"Stream column input with initial value","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_stream_cursor_value_input","ofType":null}},"defaultValue":null},{"name":"ordering","description":"cursor ordering","type":{"kind":"ENUM","name":"cursor_ordering","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_stream_cursor_value_input","description":"Initial value of the column from where the streaming should start","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"comment","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"created_at","description":null,"type":{"kind":"SCALAR","name":"timestamptz","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"issuer_pubkey","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"receiver_pubkey","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_sum_fields","description":"aggregate sum on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_sum_order_by","description":"order by sum() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"transaction_update_column","description":"update columns of table \"transaction\"","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"amount","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"comment","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_at","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"id","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"issuer_pubkey","description":"column name","isDeprecated":false,"deprecationReason":null},{"name":"receiver_pubkey","description":"column name","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_updates","description":null,"fields":null,"inputFields":[{"name":"_inc","description":"increments the numeric columns with given value of the filtered values","type":{"kind":"INPUT_OBJECT","name":"transaction_inc_input","ofType":null},"defaultValue":null},{"name":"_set","description":"sets the columns of the filtered rows to the given values","type":{"kind":"INPUT_OBJECT","name":"transaction_set_input","ofType":null},"defaultValue":null},{"name":"where","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"transaction_bool_exp","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_var_pop_fields","description":"aggregate var_pop on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_var_pop_order_by","description":"order by var_pop() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_var_samp_fields","description":"aggregate var_samp on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_var_samp_order_by","description":"order by var_samp() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"transaction_variance_fields","description":"aggregate variance on columns","fields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"created_on","description":"Block number where transaction was created.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"transaction_variance_order_by","description":"order by variance() on columns of table \"transaction\"","fields":null,"inputFields":[{"name":"amount","description":"Amount of the transaction. 100 units = 1 Ğ1.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"created_on","description":"Block number where transaction was created.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null},{"name":"id","description":"Primary Key `id` is used for postgreSQL and Hasura relationship, not related to any value in substrate.","type":{"kind":"ENUM","name":"order_by","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null}],"directives":[{"name":"include","description":"whether this query should be included","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"skip","description":"whether this query should be skipped","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"cached","description":"whether this query should be cached (Hasura Cloud only)","locations":["QUERY"],"args":[{"name":"ttl","description":"measured in seconds","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":"60"},{"name":"refresh","description":"refresh the cache entry","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":"false"}]}]}}} \ No newline at end of file diff --git a/res/metadata.scale b/res/metadata.scale index 9b04918d2b88645a3e41c6d1ac9339d222188b2e..f963c977883e0d240b34d87f1b77b461ffcdee71 100644 GIT binary patch literal 112080 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 literal 133159 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 diff --git a/src/commands/certification.rs b/src/commands/certification.rs index 1376b10..dd8b981 100644 --- a/src/commands/certification.rs +++ b/src/commands/certification.rs @@ -2,17 +2,13 @@ use crate::*; /// submit a certification and track progress pub async fn certify(data: &Data, receiver: IdtyId) -> Result<(), anyhow::Error> { - let progress = submit_call( - data, - &runtime::tx().cert().add_cert(data.idty_index(), receiver), - ) - .await?; + let progress = submit_call(data, &runtime::tx().certification().add_cert(receiver)).await?; if data.args.no_wait { return Ok(()); } let events = track_progress(progress).await?; // look for the expected event - look_event::<runtime::cert::events::NewCert>(data, &events)?; - look_event::<runtime::cert::events::RenewedCert>(data, &events)?; + look_event::<runtime::certification::events::CertAdded>(data, &events)?; + look_event::<runtime::certification::events::CertRenewed>(data, &events)?; Ok(()) } diff --git a/src/commands/cesium.rs b/src/commands/cesium.rs index bb071b1..0eda774 100644 --- a/src/commands/cesium.rs +++ b/src/commands/cesium.rs @@ -8,9 +8,9 @@ pub enum Subcommand { #[default] #[clap(hide = true)] Nothing, - /// Generate key pair with old style unsafe scrypt - Pubkey { id: String, pass: String }, - /// Prompt + /// Analyse a base58 pubkey and gives it in all its form + Pubkey { pubkey: String }, + /// Prompt for cesium input Prompt, } @@ -18,17 +18,25 @@ pub enum Subcommand { pub async fn handle_command(_data: Data, command: Subcommand) -> Result<(), GcliError> { match command { Subcommand::Nothing => {} - Subcommand::Pubkey { id, pass } => { - let keypair = pair_from_cesium(id, pass); - println!("Pubkey: {}", bs58::encode(keypair.pkey).into_string()); - let address: AccountId = keypair.pkey.into(); - println!("Address: {}", address.to_string()); + Subcommand::Pubkey { pubkey } => { + let raw_pubkey = bs58::decode(pubkey).into_vec().unwrap(); + let raw_pubkey: [u8; 32] = if raw_pubkey.len() > 32 { + return Err(GcliError::Input("invalid pubkey size".to_string())); + } else { + [vec![0; 32 - raw_pubkey.len()], raw_pubkey] + .concat() + .try_into() + .unwrap() + }; + println!("Pubkey (hex): 0x{}", hex::encode(raw_pubkey)); + let address: AccountId = sp_core::ed25519::Public(raw_pubkey).into(); + println!("Address (SS58): {}", address); } Subcommand::Prompt => { let keypair = prompt_secret_cesium(); println!("Pubkey: {}", bs58::encode(keypair.pkey).into_string()); let address: AccountId = keypair.pkey.into(); - println!("Address: {}", address.to_string()); + println!("Address: {}", address); } } Ok(()) diff --git a/src/commands/collective.rs b/src/commands/collective.rs index 80da16a..9717d66 100644 --- a/src/commands/collective.rs +++ b/src/commands/collective.rs @@ -8,6 +8,8 @@ pub enum Subcommand { #[default] /// List members of the technical committee Members, + /// Propose a hex encoded call + Propose { hex: String }, /// List proposals to the technical committee Proposals, /// Vote a proposal to the technical committee @@ -23,24 +25,18 @@ pub enum Subcommand { /// handle technical committee commands pub async fn handle_command(data: Data, command: Subcommand) -> Result<(), GcliError> { - let mut data = data.build_client().await?.build_indexer().await?; + let data = data.build_client().await?; match command { - Subcommand::Members => { - data = data.build_client().await?; - commands::collective::technical_committee_members(&data).await? - } - Subcommand::Proposals => { - data = data.build_client().await?; - commands::collective::technical_committee_proposals(data.client()).await? - } + Subcommand::Members => technical_committee_members(&data).await?, + Subcommand::Propose { hex } => technical_committee_propose(&data, &hex).await?, + Subcommand::Proposals => technical_committee_proposals(data.client()).await?, Subcommand::Vote { hash, index, vote } => { - data = data.build_client().await?; let vote = match vote { 0 => false, 1 => true, _ => panic!("Vote must be written 0 if you disagree, or 1 if you agree."), }; - commands::collective::technical_committee_vote( + technical_committee_vote( &data, hash, //Hash::from_str(&hash).expect("Invalid hash formatting"), index, vote, ) @@ -141,3 +137,17 @@ pub async fn technical_committee_vote( ) .await } + +/// propose call given as hexadecimal +/// can be generated with `subxt explore` for example +pub async fn technical_committee_propose(data: &Data, proposal: &str) -> Result<(), subxt::Error> { + let raw_call = hex::decode(proposal).expect("invalid hex"); + let call = codec::decode_from_bytes(raw_call.into()).expect("invalid call"); + let payload = runtime::tx().technical_committee().propose(5, call, 100); + + submit_call_and_look_event::< + runtime::technical_committee::events::Proposed, + Payload<runtime::technical_committee::calls::types::Propose>, + >(data, &payload) + .await +} diff --git a/src/commands/distance.rs b/src/commands/distance.rs index 6eaaf4c..8ced4e1 100644 --- a/src/commands/distance.rs +++ b/src/commands/distance.rs @@ -2,36 +2,29 @@ use crate::*; /// request distance evaluation pub async fn request_distance_evaluation(data: &Data) -> Result<(), subxt::Error> { - let progress = submit_call( + submit_call_and_look_event::< + runtime::distance::events::EvaluationRequested, + Payload<runtime::distance::calls::types::RequestDistanceEvaluation>, + >( data, &runtime::tx().distance().request_distance_evaluation(), ) - .await?; - if data.args.no_wait { - return Ok(()); - } - let _ = track_progress(progress).await?; - Ok(()) + .await } -/// get identity distance status -pub async fn get_identity_distance_status( +/// request distance evaluation for someone else (must be unvalidated) +pub async fn request_distance_evaluation_for( data: &Data, -) -> Result< - Option<( - AccountId, - runtime::runtime_types::pallet_distance::types::DistanceStatus, - )>, - subxt::Error, -> { - data.client() - .storage() - .at_latest() - .await? - .fetch( - &runtime::storage() - .distance() - .identity_distance_status(data.idty_index()), - ) - .await + target: IdtyId, +) -> Result<(), subxt::Error> { + submit_call_and_look_event::< + runtime::distance::events::EvaluationRequested, + Payload<runtime::distance::calls::types::RequestDistanceEvaluationFor>, + >( + data, + &runtime::tx() + .distance() + .request_distance_evaluation_for(target), + ) + .await } diff --git a/src/commands/expire.rs b/src/commands/expire.rs index f6b4963..d8f7bf0 100644 --- a/src/commands/expire.rs +++ b/src/commands/expire.rs @@ -33,7 +33,7 @@ pub async fn monitor_expirations(data: &Data, blocks: u32, _sessions: u32) -> an let mut basic_certs_iter = client .storage() .at(parent_hash) - .iter(runtime::storage().cert().storage_certs_removable_on_iter()) + .iter(runtime::storage().certification().certs_removable_on_iter()) .await?; let mut basic_certs = BTreeMap::new(); while let Some(Ok((k, v))) = basic_certs_iter.next().await { @@ -43,27 +43,7 @@ pub async fn monitor_expirations(data: &Data, blocks: u32, _sessions: u32) -> an } } - let mut smith_certs_iter = client - .storage() - .at(parent_hash) - .iter( - runtime::storage() - .smith_cert() - .storage_certs_removable_on_iter(), - ) - .await?; - let mut smith_certs = BTreeMap::new(); - while let Some(Ok((k, v))) = smith_certs_iter.next().await { - let block_number = BlockNumber::from_le_bytes(k[40..44].try_into().unwrap()); - if block_number < end_block { - smith_certs.insert(block_number - current_block, v); - } - } - - for (title, certs) in [ - ("Certifications", basic_certs), - ("Smith certifications", smith_certs), - ] { + for (title, certs) in [("Certifications", basic_certs)] { println!("\n{title}:"); for (blocks_left, certs) in certs { println!("{blocks_left} blocks before expiration:"); @@ -102,27 +82,7 @@ pub async fn monitor_expirations(data: &Data, blocks: u32, _sessions: u32) -> an } } - let mut smith_membership_iter = client - .storage() - .at(parent_hash) - .iter( - runtime::storage() - .smith_membership() - .memberships_expire_on_iter(), - ) - .await?; - let mut smith_memberships = BTreeMap::new(); - while let Some(Ok((k, v))) = smith_membership_iter.next().await { - let block_number = BlockNumber::from_le_bytes(k[40..44].try_into().unwrap()); - if block_number < end_block { - smith_memberships.insert(block_number - current_block, v); - } - } - - for (title, memberships) in [ - ("Memberships", basic_memberships), - ("Smith memberships", smith_memberships), - ] { + for (title, memberships) in [("Memberships", basic_memberships)] { println!("\n{title}:"); for (blocks_left, membership) in memberships { println!("{blocks_left} blocks before expiration:"); diff --git a/src/commands/identity.rs b/src/commands/identity.rs index fc4e7ba..324dc62 100644 --- a/src/commands/identity.rs +++ b/src/commands/identity.rs @@ -31,17 +31,11 @@ pub enum Subcommand { /// /// To be called by the certified not-yet-member account, to become member. Confirm { name: String }, - /// Validate an identity - /// Should be called when the distance has been evaluated positively - Validate { index: IdtyId }, /// Request distance evaluation /// make sure that it's ok otherwise currency is slashed RequestDistanceEvaluation, - /// Get distance status - DistanceStatus, - /// Renew membership - /// When membership comes to and end, it should be renewed for the identity to stay member - RenewMembership, + /// Request distance evaluation for unvalidated identity + RequestDistanceEvaluationFor { target: IdtyId }, /// Certify an identity Certify { target: IdtyId }, /// Revoke an identity immediately @@ -77,7 +71,6 @@ pub enum Subcommand { pub async fn handle_command(data: Data, command: Subcommand) -> Result<(), GcliError> { let mut data = data.build_client().await?; match command { - // TODO remove indexer where not necessary when BlakeConcat will be there Subcommand::Show => { data = data.build_indexer().await?; get_identity(&data, Some(data.address()), None, None).await? @@ -96,18 +89,11 @@ pub async fn handle_command(data: Data, command: Subcommand) -> Result<(), GcliE Subcommand::Confirm { name } => { confirm_identity(&data, name).await?; } - Subcommand::Validate { index } => { - validate_identity(&data, index).await?; - } Subcommand::RequestDistanceEvaluation => { commands::distance::request_distance_evaluation(&data).await?; } - Subcommand::DistanceStatus => { - data = data.fetch_idty_index().await?; - dbg!(commands::distance::get_identity_distance_status(&data).await?); - } - Subcommand::RenewMembership => { - renew_membership(&data).await?; + Subcommand::RequestDistanceEvaluationFor { target } => { + commands::distance::request_distance_evaluation_for(&data, target).await?; } Subcommand::Certify { target } => { data = data.fetch_idty_index().await?; @@ -163,41 +149,30 @@ pub async fn handle_command(data: Data, command: Subcommand) -> Result<(), GcliE /// get identity pub async fn get_identity( data: &Data, - mut account_id: Option<AccountId>, - mut identity_id: Option<IdtyId>, - mut username: Option<String>, + account_id: Option<AccountId>, + identity_id: Option<IdtyId>, + username: Option<String>, ) -> Result<(), anyhow::Error> { let client = data.client(); let indexer = data.indexer.clone(); // fetch reachable information using Duniter only (no indexer) - match (&account_id, identity_id, &username) { + let (idty, value) = match (&account_id, identity_id, &username) { // idty_id → account_id - (None, Some(identity_id), None) => { - account_id = get_identity_by_index(client, identity_id) - .await? - .map(|idty| idty.owner_key); - if account_id.is_none() { - return Err(anyhow!("no identity for this account id")); - } - } + (None, Some(idty), None) => (idty, get_identity_by_index(client, idty).await?), // account_id → idty_id (Some(account_id), None, None) => { - identity_id = get_idty_index_by_account_id(client, account_id).await?; - if identity_id.is_none() { - return Err(anyhow!("no identity for this identity index")); - } + let idty = get_idty_index_by_account_id(client, account_id) + .await? + .ok_or_else(|| anyhow!("no identity for this account id"))?; + (idty, get_identity_by_index(client, idty).await?) } // username → idty_id and account_id (None, None, Some(username)) => { - identity_id = get_idty_index_by_name(client, username).await?; - if let Some(identity_id) = identity_id { - account_id = get_identity_by_index(client, identity_id) - .await? - .map(|idty| idty.owner_key); - } else { - return Err(anyhow!("no identity found for this username")); - } + let idty = get_idty_index_by_name(client, username) + .await? + .ok_or_else(|| anyhow!("no identity found for this username"))?; + (idty, get_identity_by_index(client, idty).await?) } _ => { return Err(anyhow!( @@ -205,28 +180,25 @@ pub async fn get_identity( )); } }; + let value = value.ok_or_else(|| anyhow!("no identity value"))?; // print result // 1. identity index - println!( - "Identity index: {}", - identity_id.map_or(String::new(), |identity_id| format!("{identity_id}")) - ); + println!("Identity index: {idty}",); // 2. username (indexer needed if not provided) - if let (Some(indexer), Some(identity_id), None) = (&indexer, identity_id, &username) { - username = indexer.username_by_index(identity_id).await?; - } - println!( - "Username: {}", - username.unwrap_or("<no indexer>".to_string()) - ); + let username = username.unwrap_or(if let Some(indexer) = &indexer { + indexer + .username_by_index(idty) + .await? + .ok_or_else(|| anyhow!("indexer does not have username for this index"))? + } else { + "<no indexer>".to_string() + }); + println!("Username: {username}",); // 3. address - println!( - "Address: {}", - account_id - .as_ref() - .map_or(String::new(), AccountId::to_string) - ); + println!("Address: {}", AccountId::to_string(&value.owner_key)); + // 4. status + println!("Status: {:?}", value.status); Ok(()) } @@ -253,7 +225,11 @@ pub async fn get_idty_index_by_name( .storage() .at_latest() .await? - .fetch(&runtime::storage().identity().identities_names(name)) + .fetch( + &runtime::storage() + .identity() + .identities_names(IdtyName(name.into())), + ) .await } @@ -284,25 +260,10 @@ pub async fn confirm_identity(data: &Data, name: String) -> Result<(), subxt::Er submit_call_and_look_event::< runtime::identity::events::IdtyConfirmed, Payload<runtime::identity::calls::types::ConfirmIdentity>, - >(data, &runtime::tx().identity().confirm_identity(name)) - .await -} - -/// confirm identity -pub async fn validate_identity(data: &Data, index: IdtyId) -> Result<(), subxt::Error> { - submit_call_and_look_event::< - runtime::identity::events::IdtyValidated, - Payload<runtime::identity::calls::types::ValidateIdentity>, - >(data, &runtime::tx().identity().validate_identity(index)) - .await -} - -/// renew membership -pub async fn renew_membership(data: &Data) -> Result<(), subxt::Error> { - submit_call_and_look_event::< - runtime::membership::events::MembershipRenewed, - Payload<runtime::membership::calls::types::RenewMembership>, - >(data, &runtime::tx().membership().renew_membership()) + >( + data, + &runtime::tx().identity().confirm_identity(IdtyName(name.into())), + ) .await } diff --git a/src/commands/net_test.rs b/src/commands/net_test.rs index 96bb11e..e01e265 100644 --- a/src/commands/net_test.rs +++ b/src/commands/net_test.rs @@ -20,7 +20,7 @@ pub async fn repart(data: &Data, target: u32, actual_repart: Option<u32>) -> any /*let _ = api .tx() .balances() - .transfer(MultiAddress::Id(pair_i.public().into()), 501)? + .transfer_allow_death(MultiAddress::Id(pair_i.public().into()), 501)? .sign_and_submit_then_watch(&signer, DefaultExtrinsicParamsBuilder::new()) .await? .wait_for_in_block() @@ -68,7 +68,7 @@ pub async fn spam_roll(data: &Data, actual_repart: usize) -> anyhow::Result<()> .create_signed_with_nonce( &runtime::tx() .balances() - .transfer(MultiAddress::Id(dest).into(), 1), + .transfer_allow_death(MultiAddress::Id(dest).into(), 1), &pairs[i].0, nonce, DefaultExtrinsicParamsBuilder::new().build(), @@ -85,7 +85,7 @@ pub async fn spam_roll(data: &Data, actual_repart: usize) -> anyhow::Result<()> .sign_and_submit_then_watch( &runtime::tx() .balances() - .transfer(MultiAddress::Id(dest).into(), 1), + .transfer_allow_death(MultiAddress::Id(dest).into(), 1), &pairs[actual_repart - 1].0, DefaultExtrinsicParamsBuilder::new().build(), ) @@ -95,8 +95,9 @@ pub async fn spam_roll(data: &Data, actual_repart: usize) -> anyhow::Result<()> watchers.push(watcher); // Wait all transactions - for watcher in watchers { - watcher.wait_for_in_block().await?; - } + // FIXME fix after subxt update + // for watcher in watchers { + // watcher.wait_for_in_block().await?; + // } } } diff --git a/src/commands/runtime.rs b/src/commands/runtime.rs index 2f51e6f..ed3b96a 100644 --- a/src/commands/runtime.rs +++ b/src/commands/runtime.rs @@ -2,42 +2,159 @@ use crate::*; pub async fn runtime_info(data: Data) { let api = data.client(); + let consts = runtime::constants(); + // get constant u32 value + let getu32 = |c| api.constants().at(&c).unwrap(); + // get constant u64 value + let getu64 = |c| api.constants().at(&c).unwrap(); + // get constant perbill value + let getp = |c| api.constants().at(&c).unwrap(); + // get formatted currency value + let getf = |c| data.format_balance(api.constants().at(&c).unwrap()); - // certifications - let cert_period = api - .constants() - .at(&runtime::constants().cert().cert_period()) - .unwrap(); - let max_by_issuer = api - .constants() - .at(&runtime::constants().cert().max_by_issuer()) - .unwrap(); - let validity_period = api - .constants() - .at(&runtime::constants().cert().validity_period()) - .unwrap(); - - println!("certification period: {cert_period} blocks"); - println!("max certs by issuer: {max_by_issuer}"); - println!("certification validity: {validity_period} blocks"); - - // account - let new_account_price = api - .constants() - .at(&runtime::constants().account().new_account_price()) - .unwrap(); - // balances - let existential_deposit = api - .constants() - .at(&runtime::constants().balances().existential_deposit()) - .unwrap(); - + // identity + println!("--- identity ---"); + println!( + "confirm period: {} blocks", + getu32(consts.identity().confirm_period()) + ); + println!( + "validation period: {} blocks", + getu32(consts.identity().validation_period()) + ); + println!( + "autorevocation period: {} blocks", + getu32(consts.identity().autorevocation_period()) + ); + println!( + "deletion period: {} blocks", + getu32(consts.identity().deletion_period()) + ); + println!( + "change owner key period: {} blocks", + getu32(consts.identity().change_owner_key_period()) + ); + println!( + "identity creation period: {} blocks", + getu32(consts.identity().idty_creation_period()) + ); + // certification + println!("--- certification ---"); + println!( + "certification period: {} blocks", + getu32(consts.certification().cert_period()) + ); + println!( + "max certs by issuer: {}", + getu32(consts.certification().max_by_issuer()) + ); + println!( + "min received cert to issue cert: {}", + getu32( + consts + .certification() + .min_received_cert_to_be_able_to_issue_cert() + ) + ); + println!( + "certification validity: {} blocks", + getu32(consts.certification().validity_period()) + ); + // wot + println!("--- wot ---"); + println!( + "first issuable on: {}", + getu32(consts.wot().first_issuable_on()) + ); + println!( + "min cert for membership: {}", + getu32(consts.wot().min_cert_for_membership()) + ); + println!( + "min cert for create identity: {}", + getu32(consts.wot().min_cert_for_create_idty_right()) + ); + // membership + println!("--- membership ---"); + println!( + "membership validity: {} blocks", + getu32(consts.membership().membership_period()) + ); + // smith members + println!("--- smith members ---"); + println!( + "max certs by issuer: {}", + getu32(consts.smith_members().max_by_issuer()) + ); + println!( + "min cert for membership: {}", + getu32(consts.smith_members().min_cert_for_membership()) + ); + println!( + "smith inactivity max duration: {}", + getu32(consts.smith_members().smith_inactivity_max_duration()) + ); + // todo membership renewal period + // distance + println!("--- distance ---"); + println!( + "max referee distance: {}", + getu32(consts.distance().max_referee_distance()) + ); + println!( + "min accessible referees: {:?}", + getp(consts.distance().min_accessible_referees()) + ); + println!( + "distance evaluation price: {}", + getf(consts.distance().evaluation_price()) + ); + // currency + println!("--- currency ---"); println!( "new account price: {}", - data.format_balance(new_account_price) + getf(consts.account().new_account_price()) + ); + println!( + "max new accounts per block: {}", + getu32(consts.account().max_new_accounts_per_block()) ); println!( "existential deposit: {}", - data.format_balance(existential_deposit) + getf(consts.balances().existential_deposit()) + ); + // provide randomness + println!("--- provide randomness ---"); + println!( + "max requests: {}", + getu32(consts.provide_randomness().max_requests()) + ); + println!( + "request price: {}", + getf(consts.provide_randomness().request_price()) + ); + // universal dividend + println!("--- universal dividend ---"); + println!( + "max past reevals: {}", + getu32(consts.universal_dividend().max_past_reeval()) + ); + println!( + "square money growth rate: {:?}", + getp(consts.universal_dividend().square_money_growth_rate()) + ); + println!( + "UD creation period: {}", + getu64(consts.universal_dividend().ud_creation_period()) + ); + println!( + "UD reeval period: {}", + getu64(consts.universal_dividend().ud_reeval_period()) + ); + println!( + "units per ud: {}", + getf(consts.universal_dividend().units_per_ud()) ); + // todo treasury, technical committee, transaction payment, authority members + // consts.system().ss58_prefix() } diff --git a/src/commands/smith.rs b/src/commands/smith.rs index 807381f..827e77c 100644 --- a/src/commands/smith.rs +++ b/src/commands/smith.rs @@ -14,42 +14,28 @@ fn session_keys_decode(session_keys: SessionKeys) -> RuntimeSessionKeys { runtime::runtime_types::sp_core::ed25519::Public( session_keys[0..32].try_into().unwrap(), ), - ) - .into(), + ), babe: runtime::runtime_types::sp_consensus_babe::app::Public( runtime::runtime_types::sp_core::sr25519::Public( session_keys[32..64].try_into().unwrap(), ), - ) - .into(), + ), im_online: runtime::runtime_types::pallet_im_online::sr25519::app_sr25519::Public( runtime::runtime_types::sp_core::sr25519::Public( session_keys[64..96].try_into().unwrap(), ), - ) - .into(), + ), authority_discovery: runtime::runtime_types::sp_authority_discovery::app::Public( runtime::runtime_types::sp_core::sr25519::Public( session_keys[96..128].try_into().unwrap(), ), - ) - .into(), + ), } } /// define smith subcommands #[derive(Clone, Default, Debug, clap::Parser)] pub enum Subcommand { - /// Request smith membership - Request, - /// Emit a smith certification - Cert { to: IdtyId }, - /// Claim smith membership - Claim, - /// Renew smith membership - Renew, - /// Revoke smith membership - Revoke, /// go online GoOnline, /// go offline @@ -70,36 +56,24 @@ pub enum Subcommand { }, /// List online authorities ShowOnline, - /// count of smith member - MemberCount, + /// Invite identity to become smith + Invite { target: IdtyId }, + /// Accept invitation + Accept, + /// Certify smith + Certify { target: IdtyId }, } /// handle smith commands pub async fn handle_command(data: Data, command: Subcommand) -> Result<(), GcliError> { let mut data = data.build_client().await?; match command { - Subcommand::Request => { - request_smith_membership(&data).await?; - } - Subcommand::Claim => { - claim_smith_membership(&data).await?; - } - Subcommand::Renew => { - renew_smith_membership(&data).await?; - } - Subcommand::Revoke => { - revoke_smith_membership(&data).await?; - } Subcommand::GoOnline => { go_online(&data).await?; } Subcommand::GoOffline => { go_offline(&data).await?; } - Subcommand::Cert { to } => { - data = data.fetch_idty_index().await?; - cert(&data, to).await? - } Subcommand::UpdateKeys => { update_session_keys(&data).await?; } @@ -113,28 +87,13 @@ pub async fn handle_command(data: Data, command: Subcommand) -> Result<(), GcliE set_session_keys(&data, session_keys).await?; } Subcommand::ShowExpire { blocks, sessions } => { - data = data.build_client().await?.build_indexer().await?; + data = data.build_indexer().await?; commands::expire::monitor_expirations(&data, blocks, sessions).await? } - Subcommand::ShowOnline => { - data = data.build_client().await?; - online(&data).await? - } - Subcommand::MemberCount => { - println!( - "smith member count: {:?}", - data.client() - .storage() - .at_latest() - .await? - .fetch( - &runtime::storage() - .smith_membership() - .counter_for_membership(), - ) - .await? - ) - } + Subcommand::ShowOnline => online(&data).await?, + Subcommand::Invite { target } => invite_smith(&data, target).await?, + Subcommand::Accept => accept_invitation(&data).await?, + Subcommand::Certify { target } => certify_smith(&data, target).await?, }; Ok(()) @@ -158,15 +117,6 @@ pub async fn rotate_keys(data: &Data) -> Result<SessionKeys, anyhow::Error> { .map_err(|e| anyhow!("Session keys have wrong length: {:?}", e)) } -/// request smith membership -pub async fn request_smith_membership(data: &Data) -> Result<(), subxt::Error> { - submit_call_and_look_event::< - runtime::smith_membership::events::MembershipRequested, - Payload<runtime::smith_membership::calls::types::RequestMembership>, - >(data, &runtime::tx().smith_membership().request_membership()) - .await -} - /// set session keys pub async fn set_session_keys( data: &Data, @@ -221,33 +171,6 @@ pub async fn go_online(data: &Data) -> Result<(), GcliError> { .map_err(|e| e.into()) } -/// claim smith membership -pub async fn claim_smith_membership(data: &Data) -> Result<(), subxt::Error> { - submit_call_and_look_event::< - runtime::smith_membership::events::MembershipAcquired, - Payload<runtime::smith_membership::calls::types::ClaimMembership>, - >(data, &runtime::tx().smith_membership().claim_membership()) - .await -} - -/// renew smith membership -pub async fn renew_smith_membership(data: &Data) -> Result<(), subxt::Error> { - submit_call_and_look_event::< - runtime::smith_membership::events::MembershipRenewed, - Payload<runtime::smith_membership::calls::types::RenewMembership>, - >(data, &runtime::tx().smith_membership().renew_membership()) - .await -} - -/// revoke smith membership -pub async fn revoke_smith_membership(data: &Data) -> Result<(), subxt::Error> { - submit_call_and_look_event::< - runtime::smith_membership::events::MembershipRevoked, - Payload<runtime::smith_membership::calls::types::RevokeMembership>, - >(data, &runtime::tx().smith_membership().revoke_membership()) - .await -} - /// submit go_offline pub async fn go_offline(data: &Data) -> Result<(), subxt::Error> { submit_call_and_look_event::< @@ -338,21 +261,38 @@ pub async fn online(data: &Data) -> Result<(), anyhow::Error> { Ok(()) } -/// submit a smith certification and track progress -pub async fn cert(data: &Data, receiver: IdtyId) -> Result<(), anyhow::Error> { - let progress = submit_call( - data, - &runtime::tx() - .smith_cert() - .add_cert(data.idty_index(), receiver), - ) - .await?; +/// invite identity to join smith +pub async fn invite_smith(data: &Data, target: IdtyId) -> Result<(), subxt::Error> { + submit_call_and_look_event::< + runtime::smith_members::events::InvitationSent, + Payload<runtime::smith_members::calls::types::InviteSmith>, + >(data, &runtime::tx().smith_members().invite_smith(target)) + .await +} + +/// accept invitation +pub async fn accept_invitation(data: &Data) -> Result<(), subxt::Error> { + submit_call_and_look_event::< + runtime::smith_members::events::InvitationAccepted, + Payload<runtime::smith_members::calls::types::AcceptInvitation>, + >(data, &runtime::tx().smith_members().accept_invitation()) + .await +} + +/// invite identity to join smith +pub async fn certify_smith(data: &Data, target: IdtyId) -> Result<(), subxt::Error> { + // submit_call_and_look_event::< + // runtime::smith_members::events::CertificationReceived, + // Payload<runtime::smith_members::calls::types::CertifySmith>, + // >(data, &runtime::tx().smith_members().certify_smith(target)) + // .await + let progress = submit_call(data, &runtime::tx().smith_members().certify_smith(target)).await?; if data.args.no_wait { return Ok(()); } let events = track_progress(progress).await?; // look for the expected event - look_event::<runtime::smith_cert::events::NewCert>(data, &events)?; - look_event::<runtime::smith_cert::events::RenewedCert>(data, &events)?; + look_event::<runtime::smith_members::events::SmithCertAdded>(data, &events)?; + look_event::<runtime::smith_members::events::SmithMembershipAdded>(data, &events)?; Ok(()) } diff --git a/src/commands/sudo.rs b/src/commands/sudo.rs index b54e5eb..5c172b1 100644 --- a/src/commands/sudo.rs +++ b/src/commands/sudo.rs @@ -9,7 +9,7 @@ pub enum Subcommand { Nothing, /// set sudo keys SetKey { new_key: AccountId }, - /// force set distance status to DistanceStatus::Valid + /// force valid distance status SetDistanceOk { identity: IdtyId }, } @@ -40,17 +40,11 @@ pub async fn set_key(data: &Data, new_key: AccountId) -> Result<(), subxt::Error /// set distance ok pub async fn set_distance_ok(data: &Data, identity: IdtyId) -> Result<(), subxt::Error> { - let inner = runtime::distance::Call::force_set_distance_status { - identity, - status: Some(( - data.address(), - runtime::runtime_types::pallet_distance::types::DistanceStatus::Valid, - )), - }; + let inner = runtime::distance::Call::force_valid_distance_status { identity }; let inner = runtime::Call::Distance(inner); submit_call_and_look_event::< runtime::sudo::events::Sudid, Payload<runtime::sudo::calls::types::Sudo>, - >(data, &runtime::tx().sudo().sudo(inner.into())) + >(data, &runtime::tx().sudo().sudo(inner)) .await } diff --git a/src/commands/transfer.rs b/src/commands/transfer.rs index b0ce454..5f31cd6 100644 --- a/src/commands/transfer.rs +++ b/src/commands/transfer.rs @@ -28,10 +28,12 @@ pub async fn transfer( (false, false) => { submit_call_and_look_event::< runtime::balances::events::Transfer, - Payload<runtime::balances::calls::types::Transfer>, + Payload<runtime::balances::calls::types::TransferAllowDeath>, >( data, - &runtime::tx().balances().transfer(dest.into(), balance), + &runtime::tx() + .balances() + .transfer_allow_death(dest.into(), balance), ) .await } diff --git a/src/data.rs b/src/data.rs index dcfc112..4cb3a67 100644 --- a/src/data.rs +++ b/src/data.rs @@ -5,7 +5,7 @@ use indexer::Indexer; // consts pub const LOCAL_DUNITER_ENDPOINT: &str = "ws://localhost:9944"; -pub const LOCAL_INDEXER_ENDPOINT: &str = "http://localhost:8080/v1/graphql"; +pub const LOCAL_INDEXER_ENDPOINT: &str = "http://localhost:4350/graphql"; #[cfg(feature = "gdev")] pub const GDEV_DUNITER_ENDPOINTS: [&str; 5] = [ @@ -17,8 +17,8 @@ pub const GDEV_DUNITER_ENDPOINTS: [&str; 5] = [ ]; #[cfg(feature = "gdev")] pub const GDEV_INDEXER_ENDPOINTS: [&str; 2] = [ - "https://gdev-indexer.p2p.legal/v1/graphql", - "https://hasura.gdev.coinduf.eu/v1/graphql", + "https://subsquid.gdev.coinduf.eu/graphql", + "https://gdev-squid.axiom-team.fr/graphql", ]; // data derived from command arguments diff --git a/src/display.rs b/src/display.rs index 7f68d8d..4c49083 100644 --- a/src/display.rs +++ b/src/display.rs @@ -1,4 +1,5 @@ use crate::*; +use std::str; // display events in a friendly manner @@ -14,26 +15,16 @@ impl DisplayEvent for runtime::universal_dividend::events::UdsClaimed { ) } } -impl DisplayEvent for runtime::cert::events::NewCert { +impl DisplayEvent for runtime::certification::events::CertAdded { fn display(&self, _data: &Data) -> String { format!("new certification {} → {}", self.issuer, self.receiver) } } -impl DisplayEvent for runtime::cert::events::RenewedCert { +impl DisplayEvent for runtime::certification::events::CertRenewed { fn display(&self, _data: &Data) -> String { format!("renewed cert {:?}", self) } } -impl DisplayEvent for runtime::smith_cert::events::NewCert { - fn display(&self, _data: &Data) -> String { - format!("certified as smith {:?}", self) - } -} -impl DisplayEvent for runtime::smith_cert::events::RenewedCert { - fn display(&self, _data: &Data) -> String { - format!("renewed smith cert {:?}", self) - } -} impl DisplayEvent for runtime::account::events::AccountUnlinked { fn display(&self, _data: &Data) -> String { format!("account unlinked: {}", self.0) @@ -56,68 +47,63 @@ impl DisplayEvent for runtime::identity::events::IdtyConfirmed { fn display(&self, _data: &Data) -> String { format!( "identity confirmed with name \"{}\" (index {}, owner key {})", - self.name, self.idty_index, self.owner_key + str::from_utf8(&self.name.0).unwrap(), self.idty_index, self.owner_key ) } } -impl DisplayEvent for runtime::identity::events::IdtyValidated { - fn display(&self, _data: &Data) -> String { - format!("identity validated {:?}", self) - } -} impl DisplayEvent for runtime::identity::events::IdtyChangedOwnerKey { fn display(&self, _data: &Data) -> String { format!("identity changed owner key {:?}", self) } } -impl DisplayEvent for runtime::membership::events::MembershipRenewed { +impl DisplayEvent for runtime::distance::events::EvaluationRequested { fn display(&self, _data: &Data) -> String { - format!("membership renewed {:?}", self) + format!("evaluation requested {:?}", self) } } -impl DisplayEvent for runtime::identity::events::IdtyRemoved { +impl DisplayEvent for runtime::smith_members::events::InvitationSent { fn display(&self, _data: &Data) -> String { - format!("identity removed {:?}", self) + format!("sent smith invitation {:?}", self) } } -impl DisplayEvent for runtime::account::events::AccountLinked { +impl DisplayEvent for runtime::smith_members::events::InvitationAccepted { fn display(&self, _data: &Data) -> String { - format!("account {} linked to identity {}", self.who, self.identity) + format!("accepted smith invitation {:?}", self) } } -impl DisplayEvent for runtime::oneshot_account::events::OneshotAccountCreated { +impl DisplayEvent for runtime::smith_members::events::SmithCertAdded { fn display(&self, _data: &Data) -> String { - format!("oneshot {:?}", self) + format!("new smith certification {:?}", self) } } -impl DisplayEvent for runtime::oneshot_account::events::OneshotAccountConsumed { +impl DisplayEvent for runtime::smith_members::events::SmithMembershipAdded { fn display(&self, _data: &Data) -> String { - format!("oneshot {:?}", self) + format!("new smith promoted {:?}", self) } } -impl DisplayEvent for runtime::smith_membership::events::MembershipRequested { +impl DisplayEvent for runtime::identity::events::IdtyRemoved { fn display(&self, _data: &Data) -> String { - format!("smith membership requested {:?}", self) + format!("identity removed {:?}", self) } } -impl DisplayEvent for runtime::authority_members::events::MemberGoOnline { +impl DisplayEvent for runtime::account::events::AccountLinked { fn display(&self, _data: &Data) -> String { - format!("smith went online {:?}", self) + format!("account {} linked to identity {}", self.who, self.identity) } } -impl DisplayEvent for runtime::smith_membership::events::MembershipAcquired { +impl DisplayEvent for runtime::oneshot_account::events::OneshotAccountCreated { fn display(&self, _data: &Data) -> String { - format!("smith membership aquired {:?}", self) + format!("oneshot {:?}", self) } } -impl DisplayEvent for runtime::smith_membership::events::MembershipRenewed { +impl DisplayEvent for runtime::oneshot_account::events::OneshotAccountConsumed { fn display(&self, _data: &Data) -> String { - format!("smith membership renewed {:?}", self) + format!("oneshot {:?}", self) } } -impl DisplayEvent for runtime::smith_membership::events::MembershipRevoked { +impl DisplayEvent for runtime::authority_members::events::MemberGoOnline { fn display(&self, _data: &Data) -> String { - format!("smith membership revoked {:?}", self) + format!("smith went online {:?}", self) } } impl DisplayEvent for runtime::authority_members::events::MemberGoOffline { @@ -150,3 +136,8 @@ impl DisplayEvent for runtime::sudo::events::Sudid { format!("SUDO call succeeded {:?}", self) } } +impl DisplayEvent for runtime::technical_committee::events::Proposed { + fn display(&self, _data: &Data) -> String { + format!("proposed {:?}", self) + } +} diff --git a/src/indexer.rs b/src/indexer.rs index 4a97cbc..f867878 100644 --- a/src/indexer.rs +++ b/src/indexer.rs @@ -1,10 +1,11 @@ use graphql_client::{reqwest::post_graphql, GraphQLQuery}; +use sp_core::Bytes; use crate::*; // type used in parameters query -#[allow(non_camel_case_types)] -type jsonb = serde_json::Value; +// #[allow(non_camel_case_types)] +// type jsonb = serde_json::Value; // index → identity #[derive(GraphQLQuery)] @@ -61,8 +62,7 @@ impl Indexer { ) .await? .data - .and_then(|data| data.identity_by_pk.map(|idty| idty.name)) - .unwrap()) + .and_then(|data| data.identities.first().map(|idty| idty.name.clone()))) } pub async fn username_by_pubkey(&self, pubkey: &str) -> anyhow::Result<Option<String>> { @@ -75,8 +75,7 @@ impl Indexer { ) .await? .data - .and_then(|data| data.identity.into_iter().next().map(|idty| idty.name)) - .unwrap()) + .and_then(|data| data.identities.first().map(|idty| idty.name.clone()))) } // // not used anymore because available with Duniter @@ -103,19 +102,17 @@ impl Indexer { .await? .data .unwrap() // must have a data field - .parameters + .blocks .first() .unwrap() // must have one and only one parameter matching request - .value - .clone() - .unwrap() // must have a value field - .as_u64() - .unwrap()) // must be a Number of blocks + .height + .try_into() + .unwrap()) } /// fetch genesis hash pub async fn fetch_genesis_hash(&self) -> Result<Hash, anyhow::Error> { - Ok(post_graphql::<GenesisHash, _>( + let hash = post_graphql::<GenesisHash, _>( &self.gql_client, self.gql_url.clone(), genesis_hash::Variables {}, @@ -123,13 +120,13 @@ impl Indexer { .await? .data .ok_or(GcliError::Indexer("could not reach indexer".to_string()))? - .block + .blocks .first() .unwrap() // must have one and only one block matching request .hash - .clone() - .parse::<Hash>() - .unwrap()) + .clone(); + let hash = TryInto::<[u8; 32]>::try_into(hash.as_ref()).unwrap(); + Ok(hash.into()) } } diff --git a/src/main.rs b/src/main.rs index 8ee9098..eb02418 100644 --- a/src/main.rs +++ b/src/main.rs @@ -139,7 +139,7 @@ async fn main() -> Result<(), GcliError> { if let Err(ref e) = result { println!("{}", e) } - println!(""); + println!(); // still return result for detailed error message result // Ok(()) diff --git a/src/runtime_config.rs b/src/runtime_config.rs index f20d875..2ce602d 100644 --- a/src/runtime_config.rs +++ b/src/runtime_config.rs @@ -21,6 +21,7 @@ pub type Hash = sp_core::H256; // declare runtime types pub enum Runtime {} impl subxt::config::Config for Runtime { + type AssetId = (); type Hash = Hash; type AccountId = AccountId; type Address = sp_runtime::MultiAddress<Self::AccountId, u32>; diff --git a/src/utils.rs b/src/utils.rs index 0db8018..c2b7302 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -80,7 +80,10 @@ pub fn look_event<E: std::fmt::Debug + StaticEvent + DisplayEvent>( if let Some(e) = events.find_first::<E>()? { println!("{}", e.display(data)); } else { - println!("(no event of type {})", std::any::type_name::<E>()) + // print nothing, this could happen for + // - new cert vs renew cert + // - new smith cert and smith "promotion" + // println!("(no event of type {})", std::any::type_name::<E>()) } Ok(()) } -- GitLab