diff --git a/packages/api-contract/src/v2.test.json b/packages/api-contract/src/v2.test.json index d2810895fa..5c49d9a4b8 100644 --- a/packages/api-contract/src/v2.test.json +++ b/packages/api-contract/src/v2.test.json @@ -1,29 +1,29 @@ [ { - "info": 7, + "info": 8, "type": "{\"my_tuple_struct\": {\"cell\": {\"cell\": ([u8;32])}}, \"my_struct\": {\"cell\": {\"cell\": ([u8;32])}}, \"my_clike_enum\": {\"cell\": {\"cell\": ([u8;32])}}, \"my_enum\": {\"cell\": {\"cell\": ([u8;32])}}, \"my_union\": {\"cell\": {\"cell\": ([u8;32])}}}", "name": "RustStructures", "namespace": "structures::normal", "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "my_tuple_struct", "namespace": "ink_core::storage::value", "params": [ { - "info": 8, + "info": 9, "type": "(u8, u16)", "name": "TupleStruct", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "index": 0 }, { - "info": 5, + "info": 6, "type": "u16", "index": 1 } @@ -32,24 +32,24 @@ ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 8, + "info": 9, "type": "(u8, u16)", "name": "TupleStruct", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "index": 0 }, { - "info": 5, + "info": 6, "type": "u16", "index": 1 } @@ -58,20 +58,20 @@ ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -83,24 +83,24 @@ ] }, { - "info": 7, + "info": 8, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "my_struct", "namespace": "ink_core::storage::value", "params": [ { - "info": 7, + "info": 8, "type": "{\"first\": u8, \"seconds\": u16}", "name": "Struct", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "name": "first" }, { - "info": 5, + "info": 6, "type": "u16", "name": "seconds" } @@ -109,24 +109,24 @@ ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 7, + "info": 8, "type": "{\"first\": u8, \"seconds\": u16}", "name": "Struct", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "name": "first" }, { - "info": 5, + "info": 6, "type": "u16", "name": "seconds" } @@ -135,20 +135,20 @@ ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -160,13 +160,13 @@ ] }, { - "info": 7, + "info": 8, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "my_clike_enum", "namespace": "ink_core::storage::value", "params": [ { - "info": 2, + "info": 3, "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", "name": "ClikeEnum", "namespace": "structures", @@ -175,7 +175,7 @@ "ext": { "discriminant": 0 }, - "info": 5, + "info": 6, "name": "FirstVariant", "type": "Null" }, @@ -183,7 +183,7 @@ "ext": { "discriminant": 1 }, - "info": 5, + "info": 6, "name": "SecondVariant", "type": "Null" }, @@ -191,7 +191,7 @@ "ext": { "discriminant": 42 }, - "info": 5, + "info": 6, "name": "ThirdVariant", "type": "Null" } @@ -200,13 +200,13 @@ ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 2, + "info": 3, "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", "name": "ClikeEnum", "namespace": "structures", @@ -215,7 +215,7 @@ "ext": { "discriminant": 0 }, - "info": 5, + "info": 6, "name": "FirstVariant", "type": "Null" }, @@ -223,7 +223,7 @@ "ext": { "discriminant": 1 }, - "info": 5, + "info": 6, "name": "SecondVariant", "type": "Null" }, @@ -231,7 +231,7 @@ "ext": { "discriminant": 42 }, - "info": 5, + "info": 6, "name": "ThirdVariant", "type": "Null" } @@ -240,20 +240,20 @@ ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -265,51 +265,51 @@ ] }, { - "info": 7, + "info": 8, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "my_enum", "namespace": "ink_core::storage::value", "params": [ { - "info": 2, + "info": 3, "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", "name": "RustEnum", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "name": "NoData", "type": "Null" }, { - "info": 8, + "info": 9, "name": "TupleVariant", "type": "(u8, u16)", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "index": 0 }, { - "info": 5, + "info": 6, "type": "u16", "index": 1 } ] }, { - "info": 7, + "info": 8, "name": "StructVariant", "type": "{\"first\": u8, \"second\": u16}", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "name": "first" }, { - "info": 5, + "info": 6, "type": "u16", "name": "second" } @@ -320,51 +320,51 @@ ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 2, + "info": 3, "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", "name": "RustEnum", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "name": "NoData", "type": "Null" }, { - "info": 8, + "info": 9, "name": "TupleVariant", "type": "(u8, u16)", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "index": 0 }, { - "info": 5, + "info": 6, "type": "u16", "index": 1 } ] }, { - "info": 7, + "info": 8, "name": "StructVariant", "type": "{\"first\": u8, \"second\": u16}", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "name": "first" }, { - "info": 5, + "info": 6, "type": "u16", "name": "second" } @@ -375,20 +375,20 @@ ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -400,24 +400,24 @@ ] }, { - "info": 7, + "info": 8, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "my_union", "namespace": "ink_core::storage::value", "params": [ { - "info": 9, + "info": 10, "type": "{\"first\": u8, \"second\": u16}", "name": "Union", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "name": "first" }, { - "info": 5, + "info": 6, "type": "u16", "name": "second" } @@ -426,24 +426,24 @@ ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 9, + "info": 10, "type": "{\"first\": u8, \"second\": u16}", "name": "Union", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "name": "first" }, { - "info": 5, + "info": 6, "type": "u16", "name": "second" } @@ -452,20 +452,20 @@ ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -478,862 +478,73 @@ } ] }, - { - "info": 7, - "type": "{\"cell\": {\"cell\": ([u8;32])}}", - "name": "Value", - "namespace": "ink_core::storage::value", - "params": [ - { - "info": 8, - "type": "(u8, u16)", - "name": "TupleStruct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - } - ], - "sub": [ - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "cell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 8, - "type": "(u8, u16)", - "name": "TupleStruct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - } - ] - }, { "info": 8, - "type": "(u8, u16)", - "name": "TupleStruct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - }, - { - "info": 5, - "type": "u8" - }, - { - "info": 5, - "type": "u16" - }, - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "SyncCell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 8, - "type": "(u8, u16)", - "name": "TupleStruct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - }, - { - "info": 8, - "type": "([u8;32])", - "name": "Key", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - }, - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - } - }, - { - "info": 7, - "type": "{\"cell\": {\"cell\": ([u8;32])}}", - "name": "Value", - "namespace": "ink_core::storage::value", - "params": [ - { - "info": 7, - "type": "{\"first\": u8, \"seconds\": u16}", - "name": "Struct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "seconds" - } - ] - } - ], - "sub": [ - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "cell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 7, - "type": "{\"first\": u8, \"seconds\": u16}", - "name": "Struct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "seconds" - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - } - ] - }, - { - "info": 7, - "type": "{\"first\": u8, \"seconds\": u16}", - "name": "Struct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "seconds" - } - ] - }, - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "SyncCell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 7, - "type": "{\"first\": u8, \"seconds\": u16}", - "name": "Struct", - "namespace": "structures", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "seconds" - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - }, - { - "info": 7, - "type": "{\"cell\": {\"cell\": ([u8;32])}}", - "name": "Value", - "namespace": "ink_core::storage::value", - "params": [ - { - "info": 2, - "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", - "name": "ClikeEnum", - "namespace": "structures", - "sub": [ - { - "ext": { - "discriminant": 0 - }, - "info": 5, - "name": "FirstVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 1 - }, - "info": 5, - "name": "SecondVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 42 - }, - "info": 5, - "name": "ThirdVariant", - "type": "Null" - } - ] - } - ], - "sub": [ - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "cell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 2, - "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", - "name": "ClikeEnum", - "namespace": "structures", - "sub": [ - { - "ext": { - "discriminant": 0 - }, - "info": 5, - "name": "FirstVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 1 - }, - "info": 5, - "name": "SecondVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 42 - }, - "info": 5, - "name": "ThirdVariant", - "type": "Null" - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - } - ] - }, - { - "info": 2, - "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", - "name": "ClikeEnum", - "namespace": "structures", - "sub": [ - { - "ext": { - "discriminant": 0 - }, - "info": 5, - "name": "FirstVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 1 - }, - "info": 5, - "name": "SecondVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 42 - }, - "info": 5, - "name": "ThirdVariant", - "type": "Null" - } - ] - }, - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "SyncCell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 2, - "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", - "name": "ClikeEnum", - "namespace": "structures", - "sub": [ - { - "ext": { - "discriminant": 0 - }, - "info": 5, - "name": "FirstVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 1 - }, - "info": 5, - "name": "SecondVariant", - "type": "Null" - }, - { - "ext": { - "discriminant": 42 - }, - "info": 5, - "name": "ThirdVariant", - "type": "Null" - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - }, - { - "info": 7, - "type": "{\"cell\": {\"cell\": ([u8;32])}}", - "name": "Value", - "namespace": "ink_core::storage::value", - "params": [ - { - "info": 2, - "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", - "name": "RustEnum", - "namespace": "structures", - "sub": [ - { - "info": 5, - "name": "NoData", - "type": "Null" - }, - { - "info": 8, - "name": "TupleVariant", - "type": "(u8, u16)", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - }, - { - "info": 7, - "name": "StructVariant", - "type": "{\"first\": u8, \"second\": u16}", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "second" - } - ] - } - ] - } - ], - "sub": [ - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "cell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 2, - "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", - "name": "RustEnum", - "namespace": "structures", - "sub": [ - { - "info": 5, - "name": "NoData", - "type": "Null" - }, - { - "info": 8, - "name": "TupleVariant", - "type": "(u8, u16)", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - }, - { - "info": 7, - "name": "StructVariant", - "type": "{\"first\": u8, \"second\": u16}", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "second" - } - ] - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - } - ] - }, - { - "info": 2, - "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", - "name": "RustEnum", - "namespace": "structures", - "sub": [ - { - "info": 5, - "name": "NoData", - "type": "Null" - }, - { - "info": 8, - "name": "TupleVariant", - "type": "(u8, u16)", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - }, - { - "info": 7, - "name": "StructVariant", - "type": "{\"first\": u8, \"second\": u16}", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "second" - } - ] - } - ] - }, - { - "info": 7, - "type": "{\"cell\": ([u8;32])}", - "name": "SyncCell", - "namespace": "ink_core::storage::cell::sync_cell", - "params": [ - { - "info": 2, - "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", - "name": "RustEnum", - "namespace": "structures", - "sub": [ - { - "info": 5, - "name": "NoData", - "type": "Null" - }, - { - "info": 8, - "name": "TupleVariant", - "type": "(u8, u16)", - "sub": [ - { - "info": 5, - "type": "u8", - "index": 0 - }, - { - "info": 5, - "type": "u16", - "index": 1 - } - ] - }, - { - "info": 7, - "name": "StructVariant", - "type": "{\"first\": u8, \"second\": u16}", - "sub": [ - { - "info": 5, - "type": "u8", - "name": "first" - }, - { - "info": 5, - "type": "u16", - "name": "second" - } - ] - } - ] - } - ], - "sub": [ - { - "info": 8, - "type": "([u8;32])", - "name": "cell", - "namespace": "ink_core::storage::key", - "sub": [ - { - "info": 11, - "type": "[u8;32]", - "ext": { - "length": 32, - "type": "" - }, - "sub": { - "info": 5, - "type": "u8" - }, - "index": 0 - } - ] - } - ] - }, - { - "info": 7, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "Value", "namespace": "ink_core::storage::value", "params": [ { "info": 9, - "type": "{\"first\": u8, \"second\": u16}", - "name": "Union", + "type": "(u8, u16)", + "name": "TupleStruct", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", - "name": "first" + "index": 0 }, { - "info": 5, + "info": 6, "type": "u16", - "name": "second" + "index": 1 } ] } ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { "info": 9, - "type": "{\"first\": u8, \"second\": u16}", - "name": "Union", + "type": "(u8, u16)", + "name": "TupleStruct", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", - "name": "first" + "index": 0 }, { - "info": 5, + "info": 6, "type": "u16", - "name": "second" + "index": 1 } ] } ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1346,41 +557,735 @@ }, { "info": 9, - "type": "{\"first\": u8, \"second\": u16}", - "name": "Union", + "type": "(u8, u16)", + "name": "TupleStruct", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", - "name": "first" + "index": 0 }, { - "info": 5, + "info": 6, "type": "u16", - "name": "second" + "index": 1 } ] }, { - "info": 7, + "info": 6, + "type": "u8" + }, + { + "info": 6, + "type": "u16" + }, + { + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "SyncCell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { "info": 9, + "type": "(u8, u16)", + "name": "TupleStruct", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "index": 0 + }, + { + "info": 6, + "type": "u16", + "index": 1 + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + }, + { + "info": 9, + "type": "([u8;32])", + "name": "Key", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + }, + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + } + }, + { + "info": 8, + "type": "{\"cell\": {\"cell\": ([u8;32])}}", + "name": "Value", + "namespace": "ink_core::storage::value", + "params": [ + { + "info": 8, + "type": "{\"first\": u8, \"seconds\": u16}", + "name": "Struct", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "seconds" + } + ] + } + ], + "sub": [ + { + "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "cell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 8, + "type": "{\"first\": u8, \"seconds\": u16}", + "name": "Struct", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "seconds" + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + } + ] + }, + { + "info": 8, + "type": "{\"first\": u8, \"seconds\": u16}", + "name": "Struct", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "seconds" + } + ] + }, + { + "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "SyncCell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 8, + "type": "{\"first\": u8, \"seconds\": u16}", + "name": "Struct", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "seconds" + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + }, + { + "info": 8, + "type": "{\"cell\": {\"cell\": ([u8;32])}}", + "name": "Value", + "namespace": "ink_core::storage::value", + "params": [ + { + "info": 3, + "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", + "name": "ClikeEnum", + "namespace": "structures", + "sub": [ + { + "ext": { + "discriminant": 0 + }, + "info": 6, + "name": "FirstVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 1 + }, + "info": 6, + "name": "SecondVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 42 + }, + "info": 6, + "name": "ThirdVariant", + "type": "Null" + } + ] + } + ], + "sub": [ + { + "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "cell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 3, + "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", + "name": "ClikeEnum", + "namespace": "structures", + "sub": [ + { + "ext": { + "discriminant": 0 + }, + "info": 6, + "name": "FirstVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 1 + }, + "info": 6, + "name": "SecondVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 42 + }, + "info": 6, + "name": "ThirdVariant", + "type": "Null" + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + } + ] + }, + { + "info": 3, + "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", + "name": "ClikeEnum", + "namespace": "structures", + "sub": [ + { + "ext": { + "discriminant": 0 + }, + "info": 6, + "name": "FirstVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 1 + }, + "info": 6, + "name": "SecondVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 42 + }, + "info": 6, + "name": "ThirdVariant", + "type": "Null" + } + ] + }, + { + "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "SyncCell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 3, + "type": "[\"FirstVariant\", \"SecondVariant\", \"ThirdVariant\"]", + "name": "ClikeEnum", + "namespace": "structures", + "sub": [ + { + "ext": { + "discriminant": 0 + }, + "info": 6, + "name": "FirstVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 1 + }, + "info": 6, + "name": "SecondVariant", + "type": "Null" + }, + { + "ext": { + "discriminant": 42 + }, + "info": 6, + "name": "ThirdVariant", + "type": "Null" + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + }, + { + "info": 8, + "type": "{\"cell\": {\"cell\": ([u8;32])}}", + "name": "Value", + "namespace": "ink_core::storage::value", + "params": [ + { + "info": 3, + "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", + "name": "RustEnum", + "namespace": "structures", + "sub": [ + { + "info": 6, + "name": "NoData", + "type": "Null" + }, + { + "info": 9, + "name": "TupleVariant", + "type": "(u8, u16)", + "sub": [ + { + "info": 6, + "type": "u8", + "index": 0 + }, + { + "info": 6, + "type": "u16", + "index": 1 + } + ] + }, + { + "info": 8, + "name": "StructVariant", + "type": "{\"first\": u8, \"second\": u16}", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "second" + } + ] + } + ] + } + ], + "sub": [ + { + "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "cell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 3, + "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", + "name": "RustEnum", + "namespace": "structures", + "sub": [ + { + "info": 6, + "name": "NoData", + "type": "Null" + }, + { + "info": 9, + "name": "TupleVariant", + "type": "(u8, u16)", + "sub": [ + { + "info": 6, + "type": "u8", + "index": 0 + }, + { + "info": 6, + "type": "u16", + "index": 1 + } + ] + }, + { + "info": 8, + "name": "StructVariant", + "type": "{\"first\": u8, \"second\": u16}", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "second" + } + ] + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + } + ] + }, + { + "info": 3, + "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", + "name": "RustEnum", + "namespace": "structures", + "sub": [ + { + "info": 6, + "name": "NoData", + "type": "Null" + }, + { + "info": 9, + "name": "TupleVariant", + "type": "(u8, u16)", + "sub": [ + { + "info": 6, + "type": "u8", + "index": 0 + }, + { + "info": 6, + "type": "u16", + "index": 1 + } + ] + }, + { + "info": 8, + "name": "StructVariant", + "type": "{\"first\": u8, \"second\": u16}", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "second" + } + ] + } + ] + }, + { + "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "SyncCell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 3, + "type": "{\"NoData\": Null, \"TupleVariant\": (u8, u16), \"StructVariant\": {\"first\": u8, \"second\": u16}}", + "name": "RustEnum", + "namespace": "structures", + "sub": [ + { + "info": 6, + "name": "NoData", + "type": "Null" + }, + { + "info": 9, + "name": "TupleVariant", + "type": "(u8, u16)", + "sub": [ + { + "info": 6, + "type": "u8", + "index": 0 + }, + { + "info": 6, + "type": "u16", + "index": 1 + } + ] + }, + { + "info": 8, + "name": "StructVariant", + "type": "{\"first\": u8, \"second\": u16}", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "second" + } + ] + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + }, + { + "info": 8, + "type": "{\"cell\": {\"cell\": ([u8;32])}}", + "name": "Value", + "namespace": "ink_core::storage::value", + "params": [ + { + "info": 10, "type": "{\"first\": u8, \"second\": u16}", "name": "Union", "namespace": "structures", "sub": [ { - "info": 5, + "info": 6, "type": "u8", "name": "first" }, { - "info": 5, + "info": 6, "type": "u16", "name": "second" } @@ -1390,19 +1295,114 @@ "sub": [ { "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "cell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 10, + "type": "{\"first\": u8, \"second\": u16}", + "name": "Union", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "second" + } + ] + } + ], + "sub": [ + { + "info": 9, + "type": "([u8;32])", + "name": "cell", + "namespace": "ink_core::storage::key", + "sub": [ + { + "info": 12, + "type": "[u8;32]", + "ext": { + "length": 32, + "type": "" + }, + "sub": { + "info": 6, + "type": "u8" + }, + "index": 0 + } + ] + } + ] + } + ] + }, + { + "info": 10, + "type": "{\"first\": u8, \"second\": u16}", + "name": "Union", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "second" + } + ] + }, + { + "info": 8, + "type": "{\"cell\": ([u8;32])}", + "name": "SyncCell", + "namespace": "ink_core::storage::cell::sync_cell", + "params": [ + { + "info": 10, + "type": "{\"first\": u8, \"second\": u16}", + "name": "Union", + "namespace": "structures", + "sub": [ + { + "info": 6, + "type": "u8", + "name": "first" + }, + { + "info": 6, + "type": "u16", + "name": "second" + } + ] + } + ], + "sub": [ + { + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 diff --git a/packages/api-contract/test/compare/erc20.test.json b/packages/api-contract/test/compare/erc20.test.json index 6d7a6c5a12..697d6f5faa 100644 --- a/packages/api-contract/test/compare/erc20.test.json +++ b/packages/api-contract/test/compare/erc20.test.json @@ -1,29 +1,29 @@ [ { - "info": 8, + "info": 9, "type": "{\"total_supply\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"balances\":\"{\\\"len\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"([u8;32])\\\\\\\\\\\\\\\"}\\\\\\\"}\\\",\\\"entries\\\":\\\"{\\\\\\\"cells_key\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"allowances\":\"{\\\"len\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"([u8;32])\\\\\\\\\\\\\\\"}\\\\\\\"}\\\",\\\"entries\\\":\\\"{\\\\\\\"cells_key\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -37,7 +37,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u128" } ] @@ -47,36 +47,36 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"entries\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -90,7 +90,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -100,28 +100,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -135,30 +135,30 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -168,7 +168,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -177,18 +177,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -198,7 +198,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -208,7 +208,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -217,18 +217,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -238,7 +238,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ] @@ -250,18 +250,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -271,36 +271,36 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"entries\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -314,7 +314,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -324,28 +324,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -359,34 +359,34 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"(([u8;32]), ([u8;32]))\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -396,18 +396,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -420,7 +420,7 @@ "name": "key" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -429,22 +429,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -454,18 +454,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -477,7 +477,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -487,7 +487,7 @@ "type": "({\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -496,22 +496,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -521,18 +521,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -544,7 +544,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ] @@ -556,22 +556,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -581,18 +581,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -604,7 +604,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ] @@ -614,26 +614,26 @@ "namespace": "erc20::normal" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -647,7 +647,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u128" } ] @@ -657,32 +657,32 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 5, + "info": 6, "type": "u128" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -696,24 +696,24 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -723,46 +723,46 @@ "namespace": "ink_core::storage::key" }, { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" } }, { - "info": 5, + "info": 6, "type": "u8" }, { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"entries\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -776,7 +776,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -786,28 +786,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -821,30 +821,30 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -854,7 +854,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -863,18 +863,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -884,7 +884,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -894,7 +894,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -903,18 +903,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -924,7 +924,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ] @@ -936,18 +936,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -957,24 +957,24 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -984,26 +984,26 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1017,7 +1017,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1027,32 +1027,32 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 5, + "info": 6, "type": "u32" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1066,28 +1066,28 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1101,30 +1101,30 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1134,7 +1134,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -1143,18 +1143,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1164,7 +1164,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -1174,7 +1174,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -1183,18 +1183,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1204,7 +1204,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ] @@ -1212,30 +1212,30 @@ ] }, { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1245,7 +1245,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -1254,18 +1254,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1275,7 +1275,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -1285,7 +1285,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -1294,18 +1294,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1315,28 +1315,28 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1346,7 +1346,7 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -1355,18 +1355,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1376,36 +1376,36 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"entries\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1419,7 +1419,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1429,28 +1429,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1464,34 +1464,34 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"(([u8;32]), ([u8;32]))\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1501,18 +1501,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1525,7 +1525,7 @@ "name": "key" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -1534,22 +1534,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1559,18 +1559,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1582,7 +1582,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -1592,7 +1592,7 @@ "type": "({\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -1601,22 +1601,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1626,18 +1626,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1649,7 +1649,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ] @@ -1661,22 +1661,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1686,18 +1686,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1709,28 +1709,28 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1740,18 +1740,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1763,22 +1763,22 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1792,34 +1792,34 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"(([u8;32]), ([u8;32]))\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1829,18 +1829,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1853,7 +1853,7 @@ "name": "key" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -1862,22 +1862,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1887,18 +1887,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1910,7 +1910,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -1920,7 +1920,7 @@ "type": "({\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -1929,22 +1929,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1954,18 +1954,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1977,7 +1977,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ] @@ -1985,34 +1985,34 @@ ] }, { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"(([u8;32]), ([u8;32]))\\\",\\\"val\\\":\\\"u128\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2022,18 +2022,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2046,7 +2046,7 @@ "name": "key" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -2055,22 +2055,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2080,18 +2080,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2103,7 +2103,7 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ], @@ -2113,7 +2113,7 @@ "type": "({\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -2122,22 +2122,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2147,18 +2147,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2170,32 +2170,32 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 8, + "info": 9, "type": "{\"key\":\"(([u8;32]), ([u8;32]))\",\"val\":\"u128\"}", "sub": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2205,18 +2205,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2229,7 +2229,7 @@ "name": "key" }, { - "info": 5, + "info": 6, "type": "u128", "name": "val" } @@ -2238,22 +2238,22 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "(([u8;32]), ([u8;32]))", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2263,18 +2263,18 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2286,31 +2286,31 @@ ] }, { - "info": 5, + "info": 6, "type": "u128" } ] }, { - "info": 5, + "info": 6, "type": "bool" }, { - "info": 4, + "info": 5, "type": "Option<([u8;32])>", "sub": { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -2322,18 +2322,18 @@ "name": "Option", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 diff --git a/packages/api-contract/test/compare/flipper.test.json b/packages/api-contract/test/compare/flipper.test.json index 2775b11321..50e73baff4 100644 --- a/packages/api-contract/test/compare/flipper.test.json +++ b/packages/api-contract/test/compare/flipper.test.json @@ -1,49 +1,49 @@ [ { - "info": 7, + "info": 8, "type": "{\"value\": {\"cell\": {\"cell\": ([u8;32])}}}", "name": "Flipper", "namespace": "flipper::normal", "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "value", "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 10, + "info": 11, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -57,44 +57,44 @@ ] }, { - "info": 7, + "info": 8, "type": "{\"cell\": {\"cell\": ([u8;32])}}", "name": "Value", "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ], "sub": [ { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "cell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 10, + "info": 11, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -106,36 +106,36 @@ ] }, { - "info": 5, + "info": 6, "type": "bool" }, { - "info": 7, + "info": 8, "type": "{\"cell\": ([u8;32])}", "name": "SyncCell", "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ], "sub": [ { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "cell", "namespace": "ink_core::storage::key", "sub": [ { - "info": 10, + "info": 11, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -145,20 +145,20 @@ ] }, { - "info": 8, + "info": 9, "type": "([u8;32])", "name": "Key", "namespace": "ink_core::storage::key", "sub": [ { - "info": 10, + "info": 11, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -166,19 +166,19 @@ ] }, { - "info": 10, + "info": 11, "type": "[u8;32]", "ext": { "length": 32, "type": "" }, "sub": { - "info": 5, + "info": 6, "type": "u8" } }, { - "info": 5, + "info": 6, "type": "u8" } ] \ No newline at end of file diff --git a/packages/api-contract/test/compare/incrementer.test.json b/packages/api-contract/test/compare/incrementer.test.json index 3ef1637ccc..8bc0fc54cf 100644 --- a/packages/api-contract/test/compare/incrementer.test.json +++ b/packages/api-contract/test/compare/incrementer.test.json @@ -1,29 +1,29 @@ [ { - "info": 9, + "info": 10, "type": "{ \"value\": \"{ \"cell\": \"{ \"cell\": \"([u8;32])\"} }\"} }\"} }", "sub": [ { - "info": 9, + "info": 10, "type": "{ \"cell\": \"{ \"cell\": \"([u8;32])\"} }\"} }", "sub": [ { - "info": 9, + "info": 10, "type": "{ \"cell\": \"([u8;32])\"} }", "sub": [ { - "info": 10, + "info": 11, "type": "([u8;32])", "sub": [ { - "info": 12, + "info": 13, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 6, + "info": 7, "type": "u8" }, "index": 0 @@ -37,7 +37,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 6, + "info": 7, "type": "u32" } ] @@ -47,7 +47,7 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 6, + "info": 7, "type": "u32" } ] @@ -57,26 +57,26 @@ "namespace": "incrementer::normal" }, { - "info": 9, + "info": 10, "type": "{ \"cell\": \"{ \"cell\": \"([u8;32])\"} }\"} }", "sub": [ { - "info": 9, + "info": 10, "type": "{ \"cell\": \"([u8;32])\"} }", "sub": [ { - "info": 10, + "info": 11, "type": "([u8;32])", "sub": [ { - "info": 12, + "info": 13, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 6, + "info": 7, "type": "u8" }, "index": 0 @@ -90,7 +90,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 6, + "info": 7, "type": "u32" } ] @@ -100,32 +100,32 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 6, + "info": 7, "type": "u32" } ] }, { - "info": 6, + "info": 7, "type": "u32" }, { - "info": 9, + "info": 10, "type": "{ \"cell\": \"([u8;32])\"} }", "sub": [ { - "info": 10, + "info": 11, "type": "([u8;32])", "sub": [ { - "info": 12, + "info": 13, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 6, + "info": 7, "type": "u8" }, "index": 0 @@ -139,24 +139,24 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 6, + "info": 7, "type": "u32" } ] }, { - "info": 10, + "info": 11, "type": "([u8;32])", "sub": [ { - "info": 12, + "info": 13, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 6, + "info": 7, "type": "u8" }, "index": 0 @@ -166,23 +166,23 @@ "namespace": "ink_core::storage::key" }, { - "info": 12, + "info": 13, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 6, + "info": 7, "type": "u8" } }, { - "info": 6, + "info": 7, "type": "u8" }, { - "info": 6, + "info": 7, "type": "bool" } ] \ No newline at end of file diff --git a/packages/api-contract/test/compare/shared-vec.test.json b/packages/api-contract/test/compare/shared-vec.test.json index c9485e4c07..ad6f31aa91 100644 --- a/packages/api-contract/test/compare/shared-vec.test.json +++ b/packages/api-contract/test/compare/shared-vec.test.json @@ -1,33 +1,33 @@ [ { - "info": 8, + "info": 9, "type": "{\"mutators\":\"{\\\"len\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"([u8;32])\\\\\\\\\\\\\\\"}\\\\\\\"}\\\",\\\"entries\\\":\\\"{\\\\\\\"cells_key\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"vec\":\"{\\\"len\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"([u8;32])\\\\\\\\\\\\\\\"}\\\\\\\"}\\\",\\\"cells\\\":\\\"{\\\\\\\"cells_key\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"entries\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -41,7 +41,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -51,28 +51,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -86,30 +86,30 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"{\\\\\\\"begin\\\\\\\":\\\\\\\"Option\\\\\\\",\\\\\\\"end\\\\\\\":\\\\\\\"Option\\\\\\\"}\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -119,35 +119,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -161,18 +161,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -182,35 +182,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -226,7 +226,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -235,18 +235,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -256,35 +256,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -302,18 +302,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -323,35 +323,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -363,30 +363,30 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"cells\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -400,7 +400,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -410,28 +410,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -445,7 +445,7 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 5, + "info": 6, "type": "i32" } ] @@ -455,7 +455,7 @@ "namespace": "ink_core::storage::collections::vec::impls", "params": [ { - "info": 5, + "info": 6, "type": "i32" } ] @@ -465,30 +465,30 @@ "namespace": "shared_vec::normal" }, { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"entries\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -502,7 +502,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -512,28 +512,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -547,30 +547,30 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"{\\\\\\\"begin\\\\\\\":\\\\\\\"Option\\\\\\\",\\\\\\\"end\\\\\\\":\\\\\\\"Option\\\\\\\"}\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -580,35 +580,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -622,18 +622,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -643,35 +643,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -687,7 +687,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -696,18 +696,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -717,35 +717,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -763,18 +763,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -784,35 +784,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -824,18 +824,18 @@ ] }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -845,51 +845,51 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" } }, { - "info": 5, + "info": 6, "type": "u8" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -899,45 +899,45 @@ "namespace": "shared_vec" }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "Option", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 5, + "info": 6, "type": "u32" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -951,7 +951,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -961,28 +961,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -996,24 +996,24 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1023,22 +1023,22 @@ "namespace": "ink_core::storage::key" }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1052,30 +1052,30 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"{\\\\\\\"begin\\\\\\\":\\\\\\\"Option\\\\\\\",\\\\\\\"end\\\\\\\":\\\\\\\"Option\\\\\\\"}\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1085,35 +1085,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1127,18 +1127,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1148,35 +1148,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1192,7 +1192,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -1201,18 +1201,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1222,35 +1222,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1264,30 +1264,30 @@ ] }, { - "info": 2, + "info": 3, "type": "{\"_enum\":{\"Occupied\":\"({\\\"key\\\":\\\"([u8;32])\\\",\\\"val\\\":\\\"{\\\\\\\"begin\\\\\\\":\\\\\\\"Option\\\\\\\",\\\\\\\"end\\\\\\\":\\\\\\\"Option\\\\\\\"}\\\"})\",\"Removed\":\"Null\"}}", "sub": [ { - "info": 9, + "info": 10, "name": "Occupied", "sub": [ { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1297,35 +1297,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1339,18 +1339,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1360,35 +1360,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1404,7 +1404,7 @@ "type": "({\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"})" }, { - "info": 5, + "info": 6, "name": "Removed", "type": "Null" } @@ -1413,18 +1413,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1434,35 +1434,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1474,22 +1474,22 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"key\":\"([u8;32])\",\"val\":\"{\\\"begin\\\":\\\"Option\\\",\\\"end\\\":\\\"Option\\\"}\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1499,35 +1499,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1541,18 +1541,18 @@ "namespace": "ink_core::storage::collections::hash_map::impls", "params": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1562,35 +1562,35 @@ "namespace": "ink_core::env::srml::types" }, { - "info": 8, + "info": 9, "type": "{\"begin\":\"Option\",\"end\":\"Option\"}", "sub": [ { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "begin", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "u32" }, "name": "end", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1602,30 +1602,30 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"len\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"cells\":\"{\\\"cells_key\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1639,7 +1639,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] @@ -1649,28 +1649,28 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1684,7 +1684,7 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 5, + "info": 6, "type": "i32" } ] @@ -1694,32 +1694,32 @@ "namespace": "ink_core::storage::collections::vec::impls", "params": [ { - "info": 5, + "info": 6, "type": "i32" } ] }, { - "info": 5, + "info": 6, "type": "i32" }, { - "info": 8, + "info": 9, "type": "{\"cells_key\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -1733,79 +1733,79 @@ "namespace": "ink_core::storage::chunk::sync_chunk::chunk", "params": [ { - "info": 5, + "info": 6, "type": "i32" } ] }, { - "info": 6, + "info": 7, "type": "Result<(), u32>", "sub": [ { - "info": 9, + "info": 10, "type": "()", "sub": [] }, { - "info": 5, + "info": 6, "type": "u32" } ], "name": "Result", "params": [ { - "info": 9, + "info": 10, "type": "()", "sub": [] }, { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 9, + "info": 10, "type": "()", "sub": [] }, { - "info": 6, + "info": 7, "type": "Result", "sub": [ { - "info": 5, + "info": 6, "type": "i32" }, { - "info": 5, + "info": 6, "type": "u32" } ], "name": "Result", "params": [ { - "info": 5, + "info": 6, "type": "i32" }, { - "info": 5, + "info": 6, "type": "u32" } ] }, { - "info": 4, + "info": 5, "type": "Option", "sub": { - "info": 5, + "info": 6, "type": "i32" }, "name": "Option", "params": [ { - "info": 5, + "info": 6, "type": "i32" } ] diff --git a/packages/api-contract/test/compare/test001.cmp.json b/packages/api-contract/test/compare/test001.cmp.json index 2857e0a2f5..a53c2de199 100644 --- a/packages/api-contract/test/compare/test001.cmp.json +++ b/packages/api-contract/test/compare/test001.cmp.json @@ -1,33 +1,33 @@ [ { - "info": 8, + "info": 9, "type": "{\"__storage\":\"{\\\"value\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"([u8;32])\\\\\\\\\\\\\\\"}\\\\\\\"}\\\",\\\"name\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"cell\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"([u8;32])\\\\\\\\\\\\\\\"}\\\\\\\"}\\\"}\",\"__env\":\"{\\\"access\\\":\\\"{\\\\\\\"env\\\\\\\":\\\\\\\"()\\\\\\\",\\\\\\\"buffer\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"elems\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"Vec\\\\\\\\\\\\\\\"}\\\\\\\",\\\\\\\"has_interacted\\\\\\\":\\\\\\\"bool\\\\\\\",\\\\\\\"has_returned_value\\\\\\\":\\\\\\\"bool\\\\\\\"}\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"value\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"name\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -41,7 +41,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ] @@ -51,32 +51,32 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ] }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -90,18 +90,18 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -110,7 +110,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -124,18 +124,18 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -144,7 +144,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -158,28 +158,28 @@ "namespace": "app::app::__ink_private::__ink_storage" }, { - "info": 8, + "info": 9, "type": "{\"access\":\"{\\\"env\\\":\\\"()\\\",\\\"buffer\\\":\\\"{\\\\\\\"elems\\\\\\\":\\\\\\\"Vec\\\\\\\"}\\\",\\\"has_interacted\\\":\\\"bool\\\",\\\"has_returned_value\\\":\\\"bool\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"env\":\"()\",\"buffer\":\"{\\\"elems\\\":\\\"Vec\\\"}\",\"has_interacted\":\"bool\",\"has_returned_value\":\"bool\"}", "sub": [ { - "info": 9, + "info": 10, "type": "()", "sub": [], "name": "env", "params": [ { - "info": 8, + "info": 9, "type": "{}", "sub": [], "name": "TestEnv", "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 2, + "info": 3, "type": "[]", "sub": [], "name": "DefaultSrmlTypes", @@ -190,14 +190,14 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -206,18 +206,18 @@ "name": "buffer", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] }, { - "info": 5, + "info": 6, "type": "bool", "name": "has_interacted" }, { - "info": 5, + "info": 6, "type": "bool", "name": "has_returned_value" } @@ -226,14 +226,14 @@ "namespace": "ink_core::env2::env_access::mutable", "params": [ { - "info": 8, + "info": 9, "type": "{}", "sub": [], "name": "TestEnv", "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 2, + "info": 3, "type": "[]", "sub": [], "name": "DefaultSrmlTypes", @@ -248,14 +248,14 @@ "namespace": "ink_core::env2::env_access::immutable", "params": [ { - "info": 8, + "info": 9, "type": "{}", "sub": [], "name": "TestEnv", "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 2, + "info": 3, "type": "[]", "sub": [], "name": "DefaultSrmlTypes", @@ -270,30 +270,30 @@ "namespace": "app::app::__ink_private::__ink_storage" }, { - "info": 8, + "info": 9, "type": "{\"value\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\",\"name\":\"{\\\"cell\\\":\\\"{\\\\\\\"cell\\\\\\\":\\\\\\\"([u8;32])\\\\\\\"}\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -307,7 +307,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ] @@ -317,32 +317,32 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ] }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -356,18 +356,18 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -376,7 +376,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -390,18 +390,18 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -410,7 +410,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -424,26 +424,26 @@ "namespace": "app::app::__ink_private::__ink_storage" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -457,7 +457,7 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ] @@ -467,32 +467,32 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ] }, { - "info": 5, + "info": 6, "type": "bool" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -506,24 +506,24 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 5, + "info": 6, "type": "bool" } ] }, { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -533,42 +533,42 @@ "namespace": "ink_core::storage::key" }, { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" } }, { - "info": 5, + "info": 6, "type": "u8" }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"{\\\"cell\\\":\\\"([u8;32])\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -582,18 +582,18 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -602,7 +602,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -616,18 +616,18 @@ "namespace": "ink_core::storage::value", "params": [ { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -636,7 +636,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -646,18 +646,18 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -666,7 +666,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -674,14 +674,14 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -690,36 +690,36 @@ "name": "Vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] }, { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" } }, { - "info": 8, + "info": 9, "type": "{\"cell\":\"([u8;32])\"}", "sub": [ { - "info": 9, + "info": 10, "type": "([u8;32])", "sub": [ { - "info": 11, + "info": 12, "type": "[u8;32]", "ext": { "length": 32, "type": "u8" }, "sub": { - "info": 5, + "info": 6, "type": "u8" }, "index": 0 @@ -733,18 +733,18 @@ "namespace": "ink_core::storage::cell::sync_cell", "params": [ { - "info": 8, + "info": 9, "type": "{\"vec\":\"{\\\"elems\\\":\\\"Vec\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -753,7 +753,7 @@ "name": "vec", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] @@ -763,28 +763,28 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"access\":\"{\\\"env\\\":\\\"()\\\",\\\"buffer\\\":\\\"{\\\\\\\"elems\\\\\\\":\\\\\\\"Vec\\\\\\\"}\\\",\\\"has_interacted\\\":\\\"bool\\\",\\\"has_returned_value\\\":\\\"bool\\\"}\"}", "sub": [ { - "info": 8, + "info": 9, "type": "{\"env\":\"()\",\"buffer\":\"{\\\"elems\\\":\\\"Vec\\\"}\",\"has_interacted\":\"bool\",\"has_returned_value\":\"bool\"}", "sub": [ { - "info": 9, + "info": 10, "type": "()", "sub": [], "name": "env", "params": [ { - "info": 8, + "info": 9, "type": "{}", "sub": [], "name": "TestEnv", "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 2, + "info": 3, "type": "[]", "sub": [], "name": "DefaultSrmlTypes", @@ -795,14 +795,14 @@ ] }, { - "info": 8, + "info": 9, "type": "{\"elems\":\"Vec\"}", "sub": [ { - "info": 10, + "info": 11, "type": "Vec", "sub": { - "info": 5, + "info": 6, "type": "u8" }, "name": "elems" @@ -811,18 +811,18 @@ "name": "buffer", "params": [ { - "info": 5, + "info": 6, "type": "u8" } ] }, { - "info": 5, + "info": 6, "type": "bool", "name": "has_interacted" }, { - "info": 5, + "info": 6, "type": "bool", "name": "has_returned_value" } @@ -831,14 +831,14 @@ "namespace": "ink_core::env2::env_access::mutable", "params": [ { - "info": 8, + "info": 9, "type": "{}", "sub": [], "name": "TestEnv", "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 2, + "info": 3, "type": "[]", "sub": [], "name": "DefaultSrmlTypes", @@ -852,120 +852,15 @@ "name": "EnvAccess", "namespace": "ink_core::env2::env_access::immutable", "params": [ - { - "info": 8, - "type": "{}", - "sub": [], - "name": "TestEnv", - "namespace": "ink_core::env2::test::accessor", - "params": [ - { - "info": 2, - "type": "[]", - "sub": [], - "name": "DefaultSrmlTypes", - "namespace": "ink_core::env2::types" - } - ] - } - ] - }, - { - "info": 8, - "type": "{}", - "sub": [], - "name": "TestEnv", - "namespace": "ink_core::env2::test::accessor", - "params": [ - { - "info": 2, - "type": "[]", - "sub": [], - "name": "DefaultSrmlTypes", - "namespace": "ink_core::env2::types" - } - ] - }, - { - "info": 2, - "type": "[]", - "sub": [], - "name": "DefaultSrmlTypes", - "namespace": "ink_core::env2::types" - }, - { - "info": 8, - "type": "{\"env\":\"()\",\"buffer\":\"{\\\"elems\\\":\\\"Vec\\\"}\",\"has_interacted\":\"bool\",\"has_returned_value\":\"bool\"}", - "sub": [ { "info": 9, - "type": "()", - "sub": [], - "name": "env", - "params": [ - { - "info": 8, - "type": "{}", - "sub": [], - "name": "TestEnv", - "namespace": "ink_core::env2::test::accessor", - "params": [ - { - "info": 2, - "type": "[]", - "sub": [], - "name": "DefaultSrmlTypes", - "namespace": "ink_core::env2::types" - } - ] - } - ] - }, - { - "info": 8, - "type": "{\"elems\":\"Vec\"}", - "sub": [ - { - "info": 10, - "type": "Vec", - "sub": { - "info": 5, - "type": "u8" - }, - "name": "elems" - } - ], - "name": "buffer", - "params": [ - { - "info": 5, - "type": "u8" - } - ] - }, - { - "info": 5, - "type": "bool", - "name": "has_interacted" - }, - { - "info": 5, - "type": "bool", - "name": "has_returned_value" - } - ], - "name": "EnvAccessMut", - "namespace": "ink_core::env2::env_access::mutable", - "params": [ - { - "info": 8, "type": "{}", "sub": [], "name": "TestEnv", "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 2, + "info": 3, "type": "[]", "sub": [], "name": "DefaultSrmlTypes", @@ -977,19 +872,124 @@ }, { "info": 9, - "type": "()", + "type": "{}", "sub": [], - "name": "PhantomData", + "name": "TestEnv", + "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 8, + "info": 3, + "type": "[]", + "sub": [], + "name": "DefaultSrmlTypes", + "namespace": "ink_core::env2::types" + } + ] + }, + { + "info": 3, + "type": "[]", + "sub": [], + "name": "DefaultSrmlTypes", + "namespace": "ink_core::env2::types" + }, + { + "info": 9, + "type": "{\"env\":\"()\",\"buffer\":\"{\\\"elems\\\":\\\"Vec\\\"}\",\"has_interacted\":\"bool\",\"has_returned_value\":\"bool\"}", + "sub": [ + { + "info": 10, + "type": "()", + "sub": [], + "name": "env", + "params": [ + { + "info": 9, + "type": "{}", + "sub": [], + "name": "TestEnv", + "namespace": "ink_core::env2::test::accessor", + "params": [ + { + "info": 3, + "type": "[]", + "sub": [], + "name": "DefaultSrmlTypes", + "namespace": "ink_core::env2::types" + } + ] + } + ] + }, + { + "info": 9, + "type": "{\"elems\":\"Vec\"}", + "sub": [ + { + "info": 11, + "type": "Vec", + "sub": { + "info": 6, + "type": "u8" + }, + "name": "elems" + } + ], + "name": "buffer", + "params": [ + { + "info": 6, + "type": "u8" + } + ] + }, + { + "info": 6, + "type": "bool", + "name": "has_interacted" + }, + { + "info": 6, + "type": "bool", + "name": "has_returned_value" + } + ], + "name": "EnvAccessMut", + "namespace": "ink_core::env2::env_access::mutable", + "params": [ + { + "info": 9, "type": "{}", "sub": [], "name": "TestEnv", "namespace": "ink_core::env2::test::accessor", "params": [ { - "info": 2, + "info": 3, + "type": "[]", + "sub": [], + "name": "DefaultSrmlTypes", + "namespace": "ink_core::env2::types" + } + ] + } + ] + }, + { + "info": 10, + "type": "()", + "sub": [], + "name": "PhantomData", + "params": [ + { + "info": 9, + "type": "{}", + "sub": [], + "name": "TestEnv", + "namespace": "ink_core::env2::test::accessor", + "params": [ + { + "info": 3, "type": "[]", "sub": [], "name": "DefaultSrmlTypes", diff --git a/packages/metadata/src/Metadata/util/validateTypes.ts b/packages/metadata/src/Metadata/util/validateTypes.ts index c07389eec9..a91dffef33 100644 --- a/packages/metadata/src/Metadata/util/validateTypes.ts +++ b/packages/metadata/src/Metadata/util/validateTypes.ts @@ -26,6 +26,7 @@ function extractTypes (types: string[]): any[] { return extractTypes([(decoded.ext as TypeDefExtVecFixed).type]); case TypeDefInfo.BTreeMap: + case TypeDefInfo.BTreeSet: case TypeDefInfo.Result: case TypeDefInfo.Tuple: return extractTypes((decoded.sub as TypeDef[]).map((sub): string => sub.type)); diff --git a/packages/types/src/codec/BTreeSet.spec.ts b/packages/types/src/codec/BTreeSet.spec.ts new file mode 100644 index 0000000000..493aed43bd --- /dev/null +++ b/packages/types/src/codec/BTreeSet.spec.ts @@ -0,0 +1,94 @@ +// Copyright 2017-2019 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { TypeRegistry } from '../codec'; +import Text from '../primitive/Text'; +import U32 from '../primitive/U32'; +import Struct from './Struct'; +import { CodecTo } from '../types'; + +import BTreeSet from './BTreeSet'; + +const registry = new TypeRegistry(); + +const mockU32Set = new Set(); +mockU32Set.add(new U32(registry, 2)); +mockU32Set.add(new U32(registry, 24)); +mockU32Set.add(new U32(registry, 30)); +mockU32Set.add(new U32(registry, 80)); +const mockU32SetString = '[2,24,30,80]'; +const mockU32SetObject = [2, 24, 30, 80]; +const mockU32SetHexString = '0x1002000000180000001e00000050000000'; +const mockU32SetUint8Array = Uint8Array.from([16, 2, 0, 0, 0, 24, 0, 0, 0, 30, 0, 0, 0, 80, 0, 0, 0]); + +describe('BTreeSet', (): void => { + describe('decoding', (): void => { + const testDecode = (type: string, input: any, output: string): void => + it(`can decode from ${type}`, (): void => { + const s = new BTreeSet(registry, U32, input); + + expect(s.toString()).toBe(output); + }); + + testDecode('Set', mockU32Set, mockU32SetString); + testDecode('hex', mockU32SetHexString, mockU32SetString); + testDecode('Uint8Array', mockU32SetUint8Array, mockU32SetString); + + testDecode('Set', mockU32Set, mockU32SetString); + testDecode('hex', mockU32SetHexString, mockU32SetString); + testDecode('Uint8Array', mockU32SetUint8Array, mockU32SetString); + }); + + describe('encoding muple values', (): void => { + const testEncode = (to: CodecTo, expected: any): void => + it(`can encode ${to}`, (): void => { + const s = new BTreeSet(registry, U32, mockU32Set); + expect(s[to]()).toEqual(expected); + }); + + testEncode('toHex', mockU32SetHexString); + testEncode('toJSON', mockU32SetObject); + testEncode('toU8a', mockU32SetUint8Array); + testEncode('toString', mockU32SetString); + }); + + it('decodes null', (): void => { + expect( + new ( + BTreeSet.with(U32) + )(registry, null).toString() + ).toEqual('[]'); + }); + + it('decodes within more complicated types', (): void => { + const s = new Struct(registry, { + placeholder: U32, + value: BTreeSet.with(U32) + }); + s.set('value', new BTreeSet(registry, U32, mockU32Set)); + expect(s.toString()).toBe('{"placeholder":0,"value":[2,24,30,80]}'); + }); + + it('throws when it cannot decode', (): void => { + expect( + (): BTreeSet => new ( + BTreeSet.with(U32) + )(registry, 'ABC') + ).toThrowError(/BTreeSet: cannot decode type/); + }); + + it('correctly encodes length', (): void => { + expect( + new ( + BTreeSet.with(U32))(registry, mockU32Set).encodedLength + ).toEqual(17); + }); + + it('generates sane toRawTypes', (): void => { + expect(new (BTreeSet.with(U32))(registry).toRawType()).toBe('BTreeSet'); + expect(new (BTreeSet.with(Text))(registry).toRawType()).toBe('BTreeSet'); + expect(new (BTreeSet.with(Struct.with({ a: U32, b: Text })))(registry).toRawType()) + .toBe('BTreeSet<{"a":"u32","b":"Text"}>'); + }); +}); diff --git a/packages/types/src/codec/BTreeSet.ts b/packages/types/src/codec/BTreeSet.ts new file mode 100644 index 0000000000..15a6a83280 --- /dev/null +++ b/packages/types/src/codec/BTreeSet.ts @@ -0,0 +1,182 @@ +// Copyright 2017-2019 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { AnyJsonArray, Constructor, Codec, IHash, InterfaceTypes, Registry } from '../types'; + +import { isHex, hexToU8a, isU8a, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util'; +import { blake2AsU8a } from '@polkadot/util-crypto'; + +import Compact from './Compact'; +import U8a from './U8aFixed'; +import { compareSet, decodeU8a, typeToConstructor } from './utils'; + +export default class BTreeSet extends Set implements Codec { + public readonly registry: Registry; + + protected _ValClass: Constructor; + + constructor (registry: Registry, valType: Constructor | InterfaceTypes, rawValue: any) { + const ValClass = typeToConstructor(registry, valType); + + super(BTreeSet.decodeBTreeSet(registry, ValClass, rawValue)); + + this.registry = registry; + this._ValClass = ValClass; + } + + /** + * Decode input to pass into constructor. + * + * @param ValClass - Type of the map value + * @param value - Value to decode, one of: + * - null + * - undefined + * - hex + * - Uint8Array + * - Set, where both key and value types are either + * constructors or decodeable values for their types. + * @param jsonSet + */ + private static decodeBTreeSet (registry: Registry, ValClass: Constructor, value: Uint8Array | string | Set): Set { + if (!value) { + return new Set(); + } else if (isHex(value)) { + return BTreeSet.decodeBTreeSet(registry, ValClass, hexToU8a(value)); + } else if (isU8a(value)) { + return BTreeSet.decodeBTreeSetFromU8a(registry, ValClass, u8aToU8a(value)); + } else if (value instanceof Set) { + return BTreeSet.decodeBTreeSetFromSet(registry, ValClass, value); + } + + throw new Error('BTreeSet: cannot decode type'); + } + + private static decodeBTreeSetFromU8a (registry: Registry, ValClass: Constructor, u8a: Uint8Array): Set { + const output = new Set(); + const [offset, length] = Compact.decodeU8a(u8a); + const types = []; + + for (let i = 0; i < length.toNumber(); i++) { + types.push(ValClass); + } + + const values = decodeU8a(registry, u8a.subarray(offset), types); + + for (let i = 0; i < values.length; i++) { + output.add(values[i] as V); + } + + return output; + } + + private static decodeBTreeSetFromSet (registry: Registry, ValClass: Constructor, value: Set): Set { + const output = new Set(); + + value.forEach((v: any) => { + let val; + try { + val = (v instanceof ValClass) ? v : new ValClass(registry, v); + } catch (error) { + console.error('Failed to decode BTreeSet key or value:', error.message); + throw error; + } + + output.add(val); + }); + + return output; + } + + public static with (valType: Constructor | InterfaceTypes): Constructor> { + return class extends BTreeSet { + constructor (registry: Registry, value?: any) { + super(registry, valType, value); + } + }; + } + + /** + * @description The length of the value when encoded as a Uint8Array + */ + public get encodedLength (): number { + let len = Compact.encodeU8a(this.size).length; + + this.forEach((v: V) => { + len += v.encodedLength; + }); + + return len; + } + + /** + * @description Returns a hash of the value + */ + public get hash (): IHash { + return new U8a(this.registry, blake2AsU8a(this.toU8a(), 256)); + } + + /** + * @description Checks if the value is an empty value + */ + public get isEmpty (): boolean { + return this.size === 0; + } + + /** + * @description Compares the value of the input to see if there is a match + */ + public eq (other?: any): boolean { + return compareSet(this, other); + } + + /** + * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation + */ + public toHex (): string { + return u8aToHex(this.toU8a()); + } + + /** + * @description Converts the Object to JSON, typically used for RPC transfers + */ + public toJSON (): AnyJsonArray { + const json: any = []; + this.forEach((v: V) => { + json.push(v.toJSON()); + }); + return json; + } + + /** + * @description Returns the base runtime type name for this instance + */ + public toRawType (): string { + return `BTreeSet<${new this._ValClass(this.registry).toRawType()}>`; + } + + /** + * @description Returns the string representation of the value + */ + public toString (): string { + return JSON.stringify(this.toJSON()); + } + + /** + * @description Encodes the value as a Uint8Array as per the SCALE specifications + * @param isBare true when the value has none of the type-specific prefixes (internal) + */ + public toU8a (isBare?: boolean): Uint8Array { + const encoded = new Array(); + + if (!isBare) { + encoded.push(Compact.encodeU8a(this.size)); + } + + this.forEach((v: V) => { + encoded.push(v.toU8a(isBare)); + }); + + return u8aConcat(...encoded); + } +} diff --git a/packages/types/src/codec/create/createType.spec.ts b/packages/types/src/codec/create/createType.spec.ts index 5f3797e8e5..05e6697fba 100644 --- a/packages/types/src/codec/create/createType.spec.ts +++ b/packages/types/src/codec/create/createType.spec.ts @@ -26,6 +26,12 @@ describe('createType', (): void => { ).toEqual('{"bazzing":69}'); }); + it('allows creation of a BTreeSet', (): void => { + expect( + createTypeUnsafe(registry, 'BTreeSet', ['0x1002000000180000001e00000050000000']).toString() + ).toEqual('[2,24,30,80]'); + }); + it('allows creation of a Result', (): void => { expect( createTypeUnsafe(registry, 'Result', ['0x011064656667']).toJSON() diff --git a/packages/types/src/codec/create/getTypeClass.ts b/packages/types/src/codec/create/getTypeClass.ts index 979e919726..ecabc4cc21 100644 --- a/packages/types/src/codec/create/getTypeClass.ts +++ b/packages/types/src/codec/create/getTypeClass.ts @@ -8,6 +8,7 @@ import { TypeDef, TypeDefExtVecFixed, TypeDefInfo } from './types'; import { assert } from '@polkadot/util'; import BTreeMap from '../BTreeMap'; +import BTreeSet from '../BTreeSet'; import Compact from '../Compact'; import Enum from '../Enum'; import Option from '../Option'; @@ -62,6 +63,8 @@ const infoMapping: Record C return BTreeMap.with(keyType, valueType); }, + [TypeDefInfo.BTreeSet]: (registry: Registry, value: TypeDef): Constructor => BTreeSet.with(getSubType(value)), + [TypeDefInfo.Compact]: (registry: Registry, value: TypeDef): Constructor => Compact.with(getSubType(value)), [TypeDefInfo.Enum]: (registry: Registry, value: TypeDef): Constructor => Enum.with(getTypeClassMap(value)), diff --git a/packages/types/src/codec/create/getTypeDef.spec.ts b/packages/types/src/codec/create/getTypeDef.spec.ts index ae23530d3a..39b9950ee6 100644 --- a/packages/types/src/codec/create/getTypeDef.spec.ts +++ b/packages/types/src/codec/create/getTypeDef.spec.ts @@ -47,6 +47,19 @@ describe('getTypeDef', (): void => { }); }); + it('properly decodes a BTreeSet', (): void => { + expect( + getTypeDef('BTreeSet') + ).toEqual({ + info: TypeDefInfo.BTreeSet, + type: 'BTreeSet', + sub: { + info: TypeDefInfo.Plain, + type: 'Text' + } + }); + }); + it('properly decodes a Result', (): void => { expect( getTypeDef('Result') diff --git a/packages/types/src/codec/create/getTypeDef.ts b/packages/types/src/codec/create/getTypeDef.ts index f155deb624..266631cb3d 100644 --- a/packages/types/src/codec/create/getTypeDef.ts +++ b/packages/types/src/codec/create/getTypeDef.ts @@ -108,6 +108,7 @@ const nestedExtraction: [string, string, TypeDefInfo, (value: TypeDef, type: str ]; const wrappedExtraction: [string, string, TypeDefInfo][] = [ + ['BTreeSet<', '>', TypeDefInfo.BTreeSet], ['Compact<', '>', TypeDefInfo.Compact], ['Linkage<', '>', TypeDefInfo.Linkage], ['Option<', '>', TypeDefInfo.Option], diff --git a/packages/types/src/codec/create/sanitize.ts b/packages/types/src/codec/create/sanitize.ts index 28d907cb10..bd5c7e97a1 100644 --- a/packages/types/src/codec/create/sanitize.ts +++ b/packages/types/src/codec/create/sanitize.ts @@ -5,7 +5,7 @@ type Mapper = (value: string) => string; -const ALLOWED_BOXES = ['BTreeMap', 'Compact', 'Linkage', 'Result', 'Option', 'Vec']; +const ALLOWED_BOXES = ['BTreeMap', 'BTreeSet', 'Compact', 'Linkage', 'Result', 'Option', 'Vec']; const mappings: Mapper[] = [ // alias ::Inherent -> InherentOfflineReport diff --git a/packages/types/src/codec/create/types.ts b/packages/types/src/codec/create/types.ts index 94c14dacdf..7becc37280 100644 --- a/packages/types/src/codec/create/types.ts +++ b/packages/types/src/codec/create/types.ts @@ -13,6 +13,7 @@ export type FromReg = K extends InterfaceType export enum TypeDefInfo { BTreeMap, + BTreeSet, Compact, Enum, Linkage, diff --git a/packages/types/src/codec/index.ts b/packages/types/src/codec/index.ts index dab67fc609..38c5798af5 100644 --- a/packages/types/src/codec/index.ts +++ b/packages/types/src/codec/index.ts @@ -9,6 +9,7 @@ // These are the base codec types, generally used for construction export { default as BTreeMap } from './BTreeMap'; +export { default as BTreeSet } from './BTreeSet'; export { default as Compact } from './Compact'; // export { default as Date } from './Date'; export { default as Enum } from './Enum'; diff --git a/packages/types/src/codec/utils/compareSet.ts b/packages/types/src/codec/utils/compareSet.ts new file mode 100644 index 0000000000..5b22e71c30 --- /dev/null +++ b/packages/types/src/codec/utils/compareSet.ts @@ -0,0 +1,20 @@ +// Copyright 2017-2019 @polkadot/types authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { isObject } from '@polkadot/util'; + +// NOTE These are used internally and when comparing objects, expects that +// when the second is an Set that the first has to be as well +export default function compareSet (a: Set, b?: any): boolean { + if (Array.isArray(b)) { + // equal number of entries and each entry in the array should match + return (a.size === b.length) && !b.some((entry): boolean => !a.has(entry)); + } else if (b instanceof Set) { + return compareSet(a, [...b.entries()]); + } else if (isObject(b)) { + return compareSet(a, Object.entries(b)); + } + + return false; +} diff --git a/packages/types/src/codec/utils/encodeTypes.ts b/packages/types/src/codec/utils/encodeTypes.ts index 02d1edf38d..89fa2655cb 100644 --- a/packages/types/src/codec/utils/encodeTypes.ts +++ b/packages/types/src/codec/utils/encodeTypes.ts @@ -25,6 +25,7 @@ function encodeWithParams (typeDef: Pick, outer = typeDef.displayN switch (info) { case TypeDefInfo.BTreeMap: + case TypeDefInfo.BTreeSet: case TypeDefInfo.Compact: case TypeDefInfo.Linkage: case TypeDefInfo.Option: @@ -114,6 +115,7 @@ function encodeVecFixed (typeDef: Pick): string { // in a compile-time error with the missing index) const encoders: Record string> = { [TypeDefInfo.BTreeMap]: (typeDef: TypeDef): string => encodeWithParams(typeDef, 'BTreeMap'), + [TypeDefInfo.BTreeSet]: (typeDef: TypeDef): string => encodeWithParams(typeDef, 'BTreeSet'), [TypeDefInfo.Compact]: (typeDef: TypeDef): string => encodeWithParams(typeDef, 'Compact'), [TypeDefInfo.Enum]: (typeDef: TypeDef): string => encodeEnum(typeDef), [TypeDefInfo.Linkage]: (typeDef: TypeDef): string => encodeWithParams(typeDef, 'Linkage'), diff --git a/packages/types/src/codec/utils/index.ts b/packages/types/src/codec/utils/index.ts index b067072e86..92e96014aa 100644 --- a/packages/types/src/codec/utils/index.ts +++ b/packages/types/src/codec/utils/index.ts @@ -4,6 +4,7 @@ export { default as compareArray } from './compareArray'; export { default as compareMap } from './compareMap'; +export { default as compareSet } from './compareSet'; export { default as decodeU8a } from './decodeU8a'; export * from './encodeTypes'; export * from './mapToTypeMap'; diff --git a/packages/types/src/scripts/generateTypes/tsDef.ts b/packages/types/src/scripts/generateTypes/tsDef.ts index b12a68a4aa..2513b6953f 100644 --- a/packages/types/src/scripts/generateTypes/tsDef.ts +++ b/packages/types/src/scripts/generateTypes/tsDef.ts @@ -32,6 +32,7 @@ function tsExport (definitions: object, def: TypeDef, imports: TypeImports): str } const tsBTreeMap = tsExport; +const tsBTreeSet = tsExport; const tsCompact = tsExport; const tsOption = tsExport; const tsPlain = tsExport; @@ -132,6 +133,7 @@ function generateInterfaces (definitions: object, { types }: { types: Record`; } +/** + * Given the inner `V`, return a `BTreeSet` string + */ +function formatBTreeSet (val: string): string { + return `BTreeSet<${val}>`; +} + /** * Given the inner `T`, return a `Compact` string */ @@ -129,6 +136,11 @@ export function formatType (definitions: object, type: string | TypeDef, imports const [keyDef, valDef] = (typeDef.sub as TypeDef[]); return formatBTreeMap(formatType(definitions, keyDef.type, imports), formatType(definitions, valDef.type, imports)); } + case TypeDefInfo.BTreeSet: { + setImports(definitions, imports, ['BTreeSet']); + const valDef = typeDef.sub as TypeDef; + return formatBTreeSet(formatType(definitions, valDef.type, imports)); + } case TypeDefInfo.Result: { setImports(definitions, imports, ['Result']); const [okDef, errorDef] = (typeDef.sub as TypeDef[]);