* Updated ABI definitions & parsing * Run type generation * Definitions (should be ok-ish) * Cleanup names * Allow aliasses on structs (JSON parsing) * Cleanup json mapping passing * s/types/lookup/ * Parsing as per current output * InkSelector * MtRegistryIndex * String lookup tests * Remove serd ovverride comments (it works as-is) * inkRegistry tests * Extract primitive types * s/ty/id/ * Start of parsing into types (actually to be TypeDef) * Parsing * stringify struct fields * Small cleanups * Add type index to project lookup * Prefix with index * Fix interface generation * Latest contract metadata (#2118) * Add new (provisional) incrementer contract metadata * Update and regenerate type definitions * WIP: generate new format scale-info types * WIP: implementing variants * Implement variants * Fix up type resolution * Fix registry spec tests * Fix lints and some tests * Fix inkTypes tests * Fix some lints * Make imports same line like original * Comment out (temporarily) sanitize import to make CI pass * Sanitize * Remove indices * Remove index * Adjust ContractAbi interface (empty rpc) * linting * Pull in Andrew's changes * Cleanups * Some more cleanups * Update with v3 contracts * Adjust with actual types * Regenerate * Update ABI parsing (#2695) * Adjust ABI code * Cleanup * Merge non-code * Type naming * Simplify Base * Rename 1 * rename 2 * Rename 3 * Simplify * Add index to AbiMessage * Pass actual message or index for call * Rename param * Simplify * Expose call & exec * s/call/read/ * Cleanup asserts * AccountId as per spec * displayName is path * Update definitions * Flatten ABIType into TypeDef * Rewrite * Fix tests * Updates Co-authored-by: Andrew Jones <ascjones@gmail.com>
681 lines
13 KiB
JSON
681 lines
13 KiB
JSON
[
|
|
{
|
|
"displayName": "Header",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "last_vacant"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "len"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "len_entries"
|
|
}
|
|
],
|
|
"type": "{\"last_vacant\":\"u32\",\"len\":\"u32\",\"len_entries\":\"u32\"}"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32"
|
|
},
|
|
{
|
|
"displayName": "Entry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"params": [
|
|
{
|
|
"info": 10,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32"
|
|
},
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId"
|
|
}
|
|
],
|
|
"type": "(u32, AccountId)"
|
|
}
|
|
],
|
|
"info": 3,
|
|
"sub": [
|
|
{
|
|
"displayName": "VacantEntry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "next"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "prev"
|
|
}
|
|
],
|
|
"type": "{\"next\":\"u32\",\"prev\":\"u32\"}",
|
|
"name": "Vacant"
|
|
},
|
|
{
|
|
"info": 10,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32"
|
|
},
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId"
|
|
}
|
|
],
|
|
"type": "(u32, AccountId)",
|
|
"name": "Occupied"
|
|
}
|
|
],
|
|
"type": "{\"_enum\":{\"Vacant\":\"VacantEntry\",\"Occupied\":\"(u32, AccountId)\"}}"
|
|
},
|
|
{
|
|
"info": 10,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32"
|
|
},
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId"
|
|
}
|
|
],
|
|
"type": "(u32, AccountId)"
|
|
},
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId"
|
|
},
|
|
{
|
|
"info": 12,
|
|
"length": 32,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "[u8;32]"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
{
|
|
"displayName": "VacantEntry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "next"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "prev"
|
|
}
|
|
],
|
|
"type": "{\"next\":\"u32\",\"prev\":\"u32\"}"
|
|
},
|
|
{
|
|
"displayName": "ValueEntry",
|
|
"namespace": "ink_storage::collections::hashmap",
|
|
"params": [
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
}
|
|
],
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()",
|
|
"name": "value"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "key_index"
|
|
}
|
|
],
|
|
"type": "{\"value\":\"()\",\"key_index\":\"u32\"}"
|
|
},
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
},
|
|
{
|
|
"displayName": "Entry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"params": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32"
|
|
}
|
|
],
|
|
"info": 3,
|
|
"sub": [
|
|
{
|
|
"displayName": "VacantEntry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "next"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "prev"
|
|
}
|
|
],
|
|
"type": "{\"next\":\"u32\",\"prev\":\"u32\"}",
|
|
"name": "Vacant"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "Occupied"
|
|
}
|
|
],
|
|
"type": "{\"_enum\":{\"Vacant\":\"VacantEntry\",\"Occupied\":\"u32\"}}"
|
|
},
|
|
{
|
|
"displayName": "ValueEntry",
|
|
"namespace": "ink_storage::collections::hashmap",
|
|
"params": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32"
|
|
}
|
|
],
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "value"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "key_index"
|
|
}
|
|
],
|
|
"type": "{\"value\":\"u32\",\"key_index\":\"u32\"}"
|
|
},
|
|
{
|
|
"displayName": "Entry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"params": [
|
|
{
|
|
"displayName": "Transaction",
|
|
"namespace": "multisig_plain::multisig_plain",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId",
|
|
"name": "callee"
|
|
},
|
|
{
|
|
"info": 12,
|
|
"length": 4,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "[u8;4]",
|
|
"name": "selector"
|
|
},
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>",
|
|
"name": "input"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u128",
|
|
"name": "transferred_value"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u64",
|
|
"name": "gas_limit"
|
|
}
|
|
],
|
|
"type": "{\"callee\":\"AccountId\",\"selector\":\"[u8;4]\",\"input\":\"Vec<u8>\",\"transferred_value\":\"u128\",\"gas_limit\":\"u64\"}"
|
|
}
|
|
],
|
|
"info": 3,
|
|
"sub": [
|
|
{
|
|
"displayName": "VacantEntry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "next"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "prev"
|
|
}
|
|
],
|
|
"type": "{\"next\":\"u32\",\"prev\":\"u32\"}",
|
|
"name": "Vacant"
|
|
},
|
|
{
|
|
"displayName": "Transaction",
|
|
"namespace": "multisig_plain::multisig_plain",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId",
|
|
"name": "callee"
|
|
},
|
|
{
|
|
"info": 12,
|
|
"length": 4,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "[u8;4]",
|
|
"name": "selector"
|
|
},
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>",
|
|
"name": "input"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u128",
|
|
"name": "transferred_value"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u64",
|
|
"name": "gas_limit"
|
|
}
|
|
],
|
|
"type": "{\"callee\":\"AccountId\",\"selector\":\"[u8;4]\",\"input\":\"Vec<u8>\",\"transferred_value\":\"u128\",\"gas_limit\":\"u64\"}",
|
|
"name": "Occupied"
|
|
}
|
|
],
|
|
"type": "{\"_enum\":{\"Vacant\":\"VacantEntry\",\"Occupied\":\"Transaction\"}}"
|
|
},
|
|
{
|
|
"displayName": "Transaction",
|
|
"namespace": "multisig_plain::multisig_plain",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId",
|
|
"name": "callee"
|
|
},
|
|
{
|
|
"info": 12,
|
|
"length": 4,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "[u8;4]",
|
|
"name": "selector"
|
|
},
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>",
|
|
"name": "input"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u128",
|
|
"name": "transferred_value"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u64",
|
|
"name": "gas_limit"
|
|
}
|
|
],
|
|
"type": "{\"callee\":\"AccountId\",\"selector\":\"[u8;4]\",\"input\":\"Vec<u8>\",\"transferred_value\":\"u128\",\"gas_limit\":\"u64\"}"
|
|
},
|
|
{
|
|
"info": 12,
|
|
"length": 4,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "[u8;4]"
|
|
},
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u128"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"displayName": "Entry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"params": [
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId"
|
|
}
|
|
],
|
|
"info": 3,
|
|
"sub": [
|
|
{
|
|
"displayName": "VacantEntry",
|
|
"namespace": "ink_storage::collections::stash",
|
|
"info": 9,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "next"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "prev"
|
|
}
|
|
],
|
|
"type": "{\"next\":\"u32\",\"prev\":\"u32\"}",
|
|
"name": "Vacant"
|
|
},
|
|
{
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId",
|
|
"name": "Occupied"
|
|
}
|
|
],
|
|
"type": "{\"_enum\":{\"Vacant\":\"VacantEntry\",\"Occupied\":\"AccountId\"}}"
|
|
},
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"displayName": "AccountId",
|
|
"namespace": "ink_env::types",
|
|
"info": 6,
|
|
"type": "AccountId"
|
|
},
|
|
"type": "Vec<AccountId>"
|
|
},
|
|
{
|
|
"info": 10,
|
|
"sub": [
|
|
{
|
|
"info": 6,
|
|
"type": "u32"
|
|
},
|
|
{
|
|
"displayName": "ConfirmationStatus",
|
|
"namespace": "multisig_plain::multisig_plain",
|
|
"info": 3,
|
|
"sub": [
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"name": "Confirmed"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "ConfirmationsNeeded"
|
|
}
|
|
],
|
|
"type": "{\"_enum\":{\"Confirmed\":\"()\",\"ConfirmationsNeeded\":\"u32\"}}"
|
|
}
|
|
],
|
|
"type": "(u32, ConfirmationStatus)"
|
|
},
|
|
{
|
|
"displayName": "ConfirmationStatus",
|
|
"namespace": "multisig_plain::multisig_plain",
|
|
"info": 3,
|
|
"sub": [
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"name": "Confirmed"
|
|
},
|
|
{
|
|
"info": 6,
|
|
"type": "u32",
|
|
"name": "ConfirmationsNeeded"
|
|
}
|
|
],
|
|
"type": "{\"_enum\":{\"Confirmed\":\"()\",\"ConfirmationsNeeded\":\"u32\"}}"
|
|
},
|
|
{
|
|
"displayName": "Result",
|
|
"params": [
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
},
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
}
|
|
],
|
|
"info": 7,
|
|
"sub": [
|
|
{
|
|
"name": "Ok",
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
},
|
|
{
|
|
"name": "Error",
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
}
|
|
],
|
|
"type": "Result<(), ()>"
|
|
},
|
|
{
|
|
"displayName": "Result",
|
|
"params": [
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
},
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
}
|
|
],
|
|
"info": 7,
|
|
"sub": [
|
|
{
|
|
"name": "Ok",
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "Error",
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
}
|
|
],
|
|
"type": "Result<Vec<u8>, ()>"
|
|
},
|
|
{
|
|
"displayName": "Result",
|
|
"params": [
|
|
{
|
|
"displayName": "Option",
|
|
"params": [
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
}
|
|
],
|
|
"info": 5,
|
|
"sub": {
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
},
|
|
"type": "Option<Vec<u8>>"
|
|
},
|
|
{
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
}
|
|
],
|
|
"info": 7,
|
|
"sub": [
|
|
{
|
|
"name": "Ok",
|
|
"displayName": "Option",
|
|
"params": [
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
}
|
|
],
|
|
"info": 5,
|
|
"sub": {
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
},
|
|
"type": "Option<Vec<u8>>"
|
|
},
|
|
{
|
|
"name": "Error",
|
|
"info": 10,
|
|
"sub": [],
|
|
"type": "()"
|
|
}
|
|
],
|
|
"type": "Result<Option<Vec<u8>>, ()>"
|
|
},
|
|
{
|
|
"displayName": "Option",
|
|
"params": [
|
|
{
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
}
|
|
],
|
|
"info": 5,
|
|
"sub": {
|
|
"info": 11,
|
|
"sub": {
|
|
"info": 6,
|
|
"type": "u8"
|
|
},
|
|
"type": "Vec<u8>"
|
|
},
|
|
"type": "Option<Vec<u8>>"
|
|
}
|
|
]
|