lib/metadata/metadata_v14.rb in scale_rb-0.1.15 vs lib/metadata/metadata_v14.rb in scale_rb-0.2.0
- old
+ new
@@ -1,203 +1,207 @@
# frozen_string_literal: true
-module Metadata
- module MetadataV14
- class << self
- def build_registry(metadata)
- types = metadata._get(:lookup)._get(:types)
- types.map { |type| [type._get(:id), type._get(:type)] }.to_h
- end
+module ScaleRb
+ module Metadata
+ module MetadataV14
+ class << self
+ def build_registry(metadata)
+ types = metadata._get(:lookup)._get(:types)
+ types.map { |type| [type._get(:id), type._get(:type)] }.to_h
+ end
- def get_module(pallet_name, metadata)
- metadata._get(:metadata)._get(:v14)._get(:pallets).find do |p|
- p._get(:name) == pallet_name
+ def get_module(pallet_name, metadata)
+ metadata._get(:metadata)._get(:v14)._get(:pallets).find do |p|
+ p._get(:name) == pallet_name
+ end
end
- end
- def get_module_by_index(pallet_index, metadata)
- metadata._get(:metadata)._get(:v14)._get(:pallets).find do |p|
- p._get(:index) == pallet_index
+ def get_module_by_index(pallet_index, metadata)
+ metadata._get(:metadata)._get(:v14)._get(:pallets).find do |p|
+ p._get(:index) == pallet_index
+ end
end
- end
- def get_storage_item(pallet_name, item_name, metadata)
- pallet = get_module(pallet_name, metadata)
- raise "Pallet `#{pallet_name}` not found" if pallet.nil?
- pallet._get(:storage)._get(:items).find do |item|
- item._get(:name) == item_name
+ def get_storage_item(pallet_name, item_name, metadata)
+ pallet = get_module(pallet_name, metadata)
+ raise "Pallet `#{pallet_name}` not found" if pallet.nil?
+
+ pallet._get(:storage)._get(:items).find do |item|
+ item._get(:name) == item_name
+ end
end
- end
- def get_calls_type_id(pallet_name, metadata)
- pallet = get_module(pallet_name, metadata)
- raise "Pallet `#{pallet_name}` not found" if pallet.nil?
- pallet._get(:calls)._get(:type)
- end
+ def get_calls_type_id(pallet_name, metadata)
+ pallet = get_module(pallet_name, metadata)
+ raise "Pallet `#{pallet_name}` not found" if pallet.nil?
- def get_calls_type(pallet_name, metadata)
- type_id = get_calls_type_id(pallet_name, metadata)
- metadata._get(:metadata)._get(:v14)._get(:lookup)._get(:types).find do |type|
- type._get(:id) == type_id
+ pallet._get(:calls)._get(:type)
end
- end
- def get_call_type(pallet_name, call_name, metadata)
- calls_type = get_calls_type(pallet_name, metadata)
- calls_type._get(:type)._get(:def)._get(:variant)._get(:variants).find do |variant|
- variant._get(:name).downcase == call_name.downcase
+ def get_calls_type(pallet_name, metadata)
+ type_id = get_calls_type_id(pallet_name, metadata)
+ metadata._get(:metadata)._get(:v14)._get(:lookup)._get(:types).find do |type|
+ type._get(:id) == type_id
+ end
end
+
+ def get_call_type(pallet_name, call_name, metadata)
+ calls_type = get_calls_type(pallet_name, metadata)
+ calls_type._get(:type)._get(:def)._get(:variant)._get(:variants).find do |variant|
+ variant._get(:name).downcase == call_name.downcase
+ end
+ end
end
- end
- TYPES = {
- MetadataV14: {
- lookup: 'PortableRegistry',
- pallets: 'Vec<PalletMetadataV14>',
- extrinsic: 'ExtrinsicMetadataV14',
- type: 'SiLookupTypeId'
- },
+ TYPES = {
+ MetadataV14: {
+ lookup: 'PortableRegistry',
+ pallets: 'Vec<PalletMetadataV14>',
+ extrinsic: 'ExtrinsicMetadataV14',
+ type: 'SiLookupTypeId'
+ },
- # PortableRegistry begin
- PortableRegistry: {
- types: 'Vec<PortableTypeV14>'
- },
- PortableTypeV14: {
- id: 'Si1LookupTypeId',
- type: 'Si1Type'
- },
- Si1LookupTypeId: 'Compact',
- Si1Type: {
- path: 'Si1Path',
- params: 'Vec<Si1TypeParameter>',
- def: 'Si1TypeDef',
- docs: 'Vec<Text>'
- },
- Si1Path: 'Vec<Text>',
- Si1TypeParameter: {
- name: 'Text',
- type: 'Option<Si1LookupTypeId>'
- },
- Si1TypeDef: {
- _enum: {
- composite: 'Si1TypeDefComposite',
- variant: 'Si1TypeDefVariant',
- sequence: 'Si1TypeDefSequence',
- array: 'Si1TypeDefArray',
- tuple: 'Si1TypeDefTuple',
- primitive: 'Si1TypeDefPrimitive',
- compact: 'Si1TypeDefCompact',
- bitSequence: 'Si1TypeDefBitSequence',
- historicMetaCompat: 'Text' # TODO: sanitize?
- }
- },
- Si1TypeDefComposite: {
- fields: 'Vec<Si1Field>'
- },
- Si1Field: {
- name: 'Option<Text>',
- type: 'Si1LookupTypeId',
- typeName: 'Option<Text>',
- docs: 'Vec<Text>'
- },
- Si1TypeDefVariant: {
- variants: 'Vec<Si1Variant>'
- },
- Si1Variant: {
- name: 'Text',
- fields: 'Vec<Si1Field>',
- index: 'u8',
- docs: 'Vec<Text>'
- },
- Si1TypeDefSequence: {
- type: 'Si1LookupTypeId'
- },
- Si1TypeDefArray: {
- len: 'u32',
- type: 'Si1LookupTypeId'
- },
- Si1TypeDefTuple: 'Vec<Si1LookupTypeId>',
- Si1TypeDefPrimitive: {
- _enum: %w[
- Bool Char Str U8 U16 U32 U64 U128 U256 I8 I16 I32 I64 I128 I256
- ]
- },
- Si1TypeDefCompact: {
- type: 'Si1LookupTypeId'
- },
- Si1TypeDefBitSequence: {
- bitStoreType: 'Si1LookupTypeId',
- bitOrderType: 'Si1LookupTypeId'
- },
- # PortableRegistry end
+ # PortableRegistry begin
+ PortableRegistry: {
+ types: 'Vec<PortableTypeV14>'
+ },
+ PortableTypeV14: {
+ id: 'Si1LookupTypeId',
+ type: 'Si1Type'
+ },
+ Si1LookupTypeId: 'Compact',
+ Si1Type: {
+ path: 'Si1Path',
+ params: 'Vec<Si1TypeParameter>',
+ def: 'Si1TypeDef',
+ docs: 'Vec<Text>'
+ },
+ Si1Path: 'Vec<Text>',
+ Si1TypeParameter: {
+ name: 'Text',
+ type: 'Option<Si1LookupTypeId>'
+ },
+ Si1TypeDef: {
+ _enum: {
+ composite: 'Si1TypeDefComposite',
+ variant: 'Si1TypeDefVariant',
+ sequence: 'Si1TypeDefSequence',
+ array: 'Si1TypeDefArray',
+ tuple: 'Si1TypeDefTuple',
+ primitive: 'Si1TypeDefPrimitive',
+ compact: 'Si1TypeDefCompact',
+ bitSequence: 'Si1TypeDefBitSequence',
+ historicMetaCompat: 'Text' # TODO: sanitize?
+ }
+ },
+ Si1TypeDefComposite: {
+ fields: 'Vec<Si1Field>'
+ },
+ Si1Field: {
+ name: 'Option<Text>',
+ type: 'Si1LookupTypeId',
+ typeName: 'Option<Text>',
+ docs: 'Vec<Text>'
+ },
+ Si1TypeDefVariant: {
+ variants: 'Vec<Si1Variant>'
+ },
+ Si1Variant: {
+ name: 'Text',
+ fields: 'Vec<Si1Field>',
+ index: 'u8',
+ docs: 'Vec<Text>'
+ },
+ Si1TypeDefSequence: {
+ type: 'Si1LookupTypeId'
+ },
+ Si1TypeDefArray: {
+ len: 'u32',
+ type: 'Si1LookupTypeId'
+ },
+ Si1TypeDefTuple: 'Vec<Si1LookupTypeId>',
+ Si1TypeDefPrimitive: {
+ _enum: %w[
+ Bool Char Str U8 U16 U32 U64 U128 U256 I8 I16 I32 I64 I128 I256
+ ]
+ },
+ Si1TypeDefCompact: {
+ type: 'Si1LookupTypeId'
+ },
+ Si1TypeDefBitSequence: {
+ bitStoreType: 'Si1LookupTypeId',
+ bitOrderType: 'Si1LookupTypeId'
+ },
+ # PortableRegistry end
- # PalletMetadataV14 begin
- PalletMetadataV14: {
- name: 'Text',
- storage: 'Option<PalletStorageMetadataV14>',
- calls: 'Option<PalletCallMetadataV14>',
- events: 'Option<PalletEventMetadataV14>',
- constants: 'Vec<PalletConstantMetadataV14>',
- errors: 'Option<PalletErrorMetadataV14>',
- index: 'U8'
- },
- PalletStorageMetadataV14: {
- prefix: 'Text',
- items: 'Vec<StorageEntryMetadataV14>'
- },
- StorageEntryMetadataV14: {
- name: 'Text',
- modifier: 'StorageEntryModifierV14',
- type: 'StorageEntryTypeV14',
- fallback: 'Bytes',
- docs: 'Vec<Text>'
- },
- StorageEntryModifierV14: {
- _enum: %w[Optional Default Required]
- },
- StorageEntryTypeV14: {
- _enum: {
- plain: 'SiLookupTypeId',
- map: {
- hashers: 'Vec<StorageHasherV14>',
- key: 'SiLookupTypeId',
- value: 'SiLookupTypeId'
+ # PalletMetadataV14 begin
+ PalletMetadataV14: {
+ name: 'Text',
+ storage: 'Option<PalletStorageMetadataV14>',
+ calls: 'Option<PalletCallMetadataV14>',
+ events: 'Option<PalletEventMetadataV14>',
+ constants: 'Vec<PalletConstantMetadataV14>',
+ errors: 'Option<PalletErrorMetadataV14>',
+ index: 'U8'
+ },
+ PalletStorageMetadataV14: {
+ prefix: 'Text',
+ items: 'Vec<StorageEntryMetadataV14>'
+ },
+ StorageEntryMetadataV14: {
+ name: 'Text',
+ modifier: 'StorageEntryModifierV14',
+ type: 'StorageEntryTypeV14',
+ fallback: 'Bytes',
+ docs: 'Vec<Text>'
+ },
+ StorageEntryModifierV14: {
+ _enum: %w[Optional Default Required]
+ },
+ StorageEntryTypeV14: {
+ _enum: {
+ plain: 'SiLookupTypeId',
+ map: {
+ hashers: 'Vec<StorageHasherV14>',
+ key: 'SiLookupTypeId',
+ value: 'SiLookupTypeId'
+ }
}
- }
- },
- StorageHasherV14: {
- _enum: %w[Blake2128 Blake2256 Blake2128Concat Twox128 Twox256 Twox64Concat Identity]
- },
- PalletCallMetadataV14: {
- type: 'Si1LookupTypeId'
- },
- PalletEventMetadataV14: {
- type: 'SiLookupTypeId'
- },
- PalletConstantMetadataV14: {
- name: 'Text',
- type: 'SiLookupTypeId',
- value: 'Bytes',
- docs: 'Vec<Text>'
- },
- PalletErrorMetadataV14: {
- type: 'SiLookupTypeId'
- },
- # PalletMetadataV14 end
+ },
+ StorageHasherV14: {
+ _enum: %w[Blake2128 Blake2256 Blake2128Concat Twox128 Twox256 Twox64Concat Identity]
+ },
+ PalletCallMetadataV14: {
+ type: 'Si1LookupTypeId'
+ },
+ PalletEventMetadataV14: {
+ type: 'SiLookupTypeId'
+ },
+ PalletConstantMetadataV14: {
+ name: 'Text',
+ type: 'SiLookupTypeId',
+ value: 'Bytes',
+ docs: 'Vec<Text>'
+ },
+ PalletErrorMetadataV14: {
+ type: 'SiLookupTypeId'
+ },
+ # PalletMetadataV14 end
- # ExtrinsicMetadataV14 begin
- ExtrinsicMetadataV14: {
- type: 'SiLookupTypeId',
- version: 'u8',
- signedExtensions: 'Vec<SignedExtensionMetadataV14>'
- },
- SignedExtensionMetadataV14: {
- identifier: 'Text',
- type: 'SiLookupTypeId',
- additionalSigned: 'SiLookupTypeId'
- },
- # ExtrinsicMetadataV14 end
+ # ExtrinsicMetadataV14 begin
+ ExtrinsicMetadataV14: {
+ type: 'SiLookupTypeId',
+ version: 'u8',
+ signedExtensions: 'Vec<SignedExtensionMetadataV14>'
+ },
+ SignedExtensionMetadataV14: {
+ identifier: 'Text',
+ type: 'SiLookupTypeId',
+ additionalSigned: 'SiLookupTypeId'
+ },
+ # ExtrinsicMetadataV14 end
- SiLookupTypeId: 'Compact'
- }.freeze
+ SiLookupTypeId: 'Compact'
+ }.freeze
+ end
end
end