Compare commits

...
5 Commits
Author SHA1 Message Date
github-actions[bot] df2039f54d [CI Skip] release/stable 10.12.1
skip-checks: true
2024-03-04 12:16:27 +00:00
Tarik Gul 501638b2d9 10.12.1 (#5804)
* 10.12.1

* remove 10.12.0
2024-03-04 14:09:15 +02:00
Tarik Gul d163d91909 10.12.0 (#5802)
* 10.12.0

* extra space in changelog
2024-03-04 06:08:42 +02:00
github-actions[bot] dc7f687563 [CI Skip] bump/beta 10.11.4-0-x
skip-checks: true
2024-03-02 14:25:25 +00:00
peetzweg/ ca4802326c feat: ink! v5 (#5791)
* adds definitions and types according to ink v5 changes

* adds toV5 boilerplate code draft

* adds v5 flipper test contract code

* fix license dates

* adds test v5 toLatest test

* implements new scheme to determine event

* apply linter changes

* adds test result outputs

* change `EventRecord['topics'][0]` type to plain `Hash`

* adds testcases for decoding payload data of a ink!v4 and ink!v5 event

* changes `Abi.decodeEvent(data:Bytes)` method interface to `Abi.decodeEvent(record:EventRecord)` which includes the event and the topic for decoding.

* draft implementation with version metadata

* cleaner implementation of versioned Metadata by actually leveraging the `version` field included since v2 contract metadata

* trying to make linter happy

* makes `ContractMetadataSupported` in internal to `Abi` type and not exposing it externally.

* properly types unused parameter for tsc 🤷

* adds `@polkadot/types-support` dev dependency

* Update yarn.lock

* references `types-support` in `api-contract

* resolving change requests

* resolves linter warnings

* changes ContractMetadataV5 field to `u64` from `Text`

* adds contracts and contract metadata compiled with the most recent ink version

* implements decoding of anonymous events if possible

* removes done todo comments
2024-03-02 09:18:14 -05:00
72 changed files with 6440 additions and 278 deletions
+8 -1
View File
@@ -1,6 +1,13 @@
# CHANGELOG
## 10.11.3 Feb 27, 2023
## 10.12.1 Mar 4, 2024
Contributed:
- Ink! V5 Support (Thanks to https://github.com/peetzweg)
## 10.11.3 Feb 27, 2024
Contributed:
+2 -2
View File
@@ -8,11 +8,11 @@
14 Nikos Kontakis Bump substrate connect to 0.7.16 (#5307)
11 Ian He HttpProvider support clone() (#3949)
10 Axel Chalon Make Enum/Tuple constructor use value directly if instance (#1954)
7 Tarik Gul 10.12.1 (#5804)
6 Andreea Eftene Update check for contract instantiation (#5699)
5 Chevdor Fix metadata package link (#3458)
5 Jake Naviasky Fixing approvalFlagsToBools. (#1250)
5 Julien Eluard General WsProvider extensibility improvements (#5467)
5 Tarik Gul 10.11.3 (#5799)
4 Alex D Use derive customAccount and customLocks for balance overrides (#3248)
4 Alex Wang fix issue that creates duplicate providers (#983)
4 Alexander Popiak Add asset id in signing (#4009)
@@ -46,6 +46,7 @@
2 Keith Yeung Allow keyPrefix to accept an additional argument for double maps (#2230)
2 MOZGIII Follow-up fix after #4665 (#4666)
2 Paweł Nguyen Fix a minor typo in cookbook blocks docs (#2294)
2 peetzweg/ feat: ink! v5 (#5791)
2 rob thijssen nimbus author mapping correction (#5590)
2 sung wu Update tx.md (#2485)
2 Veliko Abi constructor takes different parameters (#3347)
@@ -102,7 +103,6 @@
1 Noah Corona Add rpc error fields (#4637)
1 Oleksandr Mykhailenko Add more complex namespaced contracts & test cases for them (#4472)
1 Paul M Fox Basic BTreeMaps codec support (#1474)
1 peetzweg/ Adds tests cases for issue #5702 (#5703)
1 philipstanislaus Update types for centrifuge chain v1.2.0 (#2424)
1 Pierre Krieger Update substrate/connect to 0.7.6 (#4940)
1 polymath-eric Allow unset external signer (#5649)
+3 -3
View File
@@ -14,10 +14,10 @@
},
"sideEffects": false,
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"versions": {
"git": "10.11.3",
"npm": "10.11.3"
"git": "10.12.1",
"npm": "10.12.1"
},
"workspaces": [
"packages/*"
+6 -6
View File
@@ -18,14 +18,14 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/api-base": "10.11.3",
"@polkadot/rpc-augment": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/types-augment": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/api-base": "10.12.1",
"@polkadot/rpc-augment": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/types-augment": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/util": "^12.6.2",
"tslib": "^2.6.2"
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '10.12.1' };
+3 -3
View File
@@ -18,11 +18,11 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/rpc-core": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/rpc-core": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/util": "^12.6.2",
"rxjs": "^7.8.1",
"tslib": "^2.6.2"
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '10.12.1' };
+9 -8
View File
@@ -18,21 +18,22 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/api": "10.11.3",
"@polkadot/api-augment": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/types-create": "10.11.3",
"@polkadot/api": "10.12.1",
"@polkadot/api-augment": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/types-create": "10.12.1",
"@polkadot/util": "^12.6.2",
"@polkadot/util-crypto": "^12.6.2",
"rxjs": "^7.8.1",
"tslib": "^2.6.2"
},
"devDependencies": {
"@polkadot/api-augment": "10.11.3",
"@polkadot/keyring": "^12.6.2"
"@polkadot/api-augment": "10.12.1",
"@polkadot/keyring": "^12.6.2",
"@polkadot/types-support": "10.12.1"
}
}
+110
View File
@@ -9,8 +9,10 @@ import fs from 'node:fs';
import process from 'node:process';
import { TypeDefInfo } from '@polkadot/types/types';
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate-contracts-node';
import { blake2AsHex } from '@polkadot/util-crypto';
import { Metadata, TypeRegistry } from '../../../types/src/bundle.js';
import abis from '../test/contracts/index.js';
import { Abi } from './index.js';
@@ -122,4 +124,112 @@ describe('Abi', (): void => {
// the hash as per the actual Abi
expect(bundle.source.hash).toEqual(abi.info.source.wasmHash.toHex());
});
describe('Events', (): void => {
const registry = new TypeRegistry();
beforeAll((): void => {
const metadata = new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
});
it('decoding <=ink!v4 event', (): void => {
const abiJson = abis['ink_v4_erc20Metadata'];
expect(abiJson).toBeDefined();
const abi = new Abi(abiJson);
const eventRecordHex =
'0x0001000000080360951b8baf569bca905a279c12d6ce17db7cdce23a42563870ef585129ce5dc64d010001d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4800505a4f7e9f4eb106000000000000000c0045726332303a3a5472616e7366657200000000000000000000000000000000da2d695d3b5a304e0039e7fc4419c34fa0c1f239189c99bb72a6484f1634782b2b00c7d40fe6d84d660f3e6bed90f218e022a0909f7e1a7ea35ada8b6e003564';
const record = registry.createType('EventRecord', eventRecordHex);
const decodedEvent = abi.decodeEvent(record);
expect(decodedEvent.event.args.length).toEqual(3);
expect(decodedEvent.args.length).toEqual(3);
expect(decodedEvent.event.identifier).toEqual('Transfer');
const decodedEventHuman = decodedEvent.event.args.reduce((prev, cur, index) => {
return {
...prev,
[cur.name]: decodedEvent.args[index].toHuman()
};
}, {});
const expectedEvent = {
from: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
to: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty',
value: '123.4567 MUnit'
};
expect(decodedEventHuman).toEqual(expectedEvent);
});
it('decoding >=ink!v5 event', (): void => {
const abiJson = abis['ink_v5_erc20Metadata'];
expect(abiJson).toBeDefined();
const abi = new Abi(abiJson);
const eventRecordHex =
'0x00010000000803da17150e96b3955a4db6ad35ddeb495f722f9c1d84683113bfb096bf3faa30f2490101d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4800505a4f7e9f4eb106000000000000000cb5b61a3e6a21a16be4f044b517c28ac692492f73c5bfd3f60178ad98c767f4cbd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48';
const record = registry.createType('EventRecord', eventRecordHex);
const decodedEvent = abi.decodeEvent(record);
expect(decodedEvent.event.args.length).toEqual(3);
expect(decodedEvent.args.length).toEqual(3);
expect(decodedEvent.event.identifier).toEqual('erc20::erc20::Transfer');
const decodedEventHuman = decodedEvent.event.args.reduce((prev, cur, index) => {
return {
...prev,
[cur.name]: decodedEvent.args[index].toHuman()
};
}, {});
const expectedEvent = {
from: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
to: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty',
value: '123.4567 MUnit'
};
expect(decodedEventHuman).toEqual(expectedEvent);
});
it('decoding >=ink!v5 anonymous event', (): void => {
const abiJson = abis['ink_v5_erc20AnonymousTransferMetadata'];
expect(abiJson).toBeDefined();
const abi = new Abi(abiJson);
expect(abi.events[0].identifier).toEqual('erc20::erc20::Transfer');
expect(abi.events[0].signatureTopic).toEqual(null);
const eventRecordWithAnonymousEventHex = '0x00010000000803538e726248a9c155911e7d99f4f474c3408630a2f6275dd501d4471c7067ad2c490101d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4800505a4f7e9f4eb1060000000000000008d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48';
const record = registry.createType('EventRecord', eventRecordWithAnonymousEventHex);
const decodedEvent = abi.decodeEvent(record);
expect(decodedEvent.event.args.length).toEqual(3);
expect(decodedEvent.args.length).toEqual(3);
expect(decodedEvent.event.identifier).toEqual('erc20::erc20::Transfer');
const decodedEventHuman = decodedEvent.event.args.reduce((prev, cur, index) => {
return {
...prev,
[cur.name]: decodedEvent.args[index].toHuman()
};
}, {});
const expectedEvent = {
from: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
to: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty',
value: '123.4567 MUnit'
};
expect(decodedEventHuman).toEqual(expectedEvent);
});
});
});
+120 -22
View File
@@ -1,16 +1,16 @@
// Copyright 2017-2024 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Bytes } from '@polkadot/types';
import type { ChainProperties, ContractConstructorSpecLatest, ContractEventSpecLatest, ContractMessageParamSpecLatest, ContractMessageSpecLatest, ContractMetadata, ContractMetadataLatest, ContractProjectInfo, ContractTypeSpec } from '@polkadot/types/interfaces';
import type { Bytes, Vec } from '@polkadot/types';
import type { ChainProperties, ContractConstructorSpecLatest, ContractEventParamSpecLatest, ContractMessageParamSpecLatest, ContractMessageSpecLatest, ContractMetadata, ContractMetadataV4, ContractMetadataV5, ContractProjectInfo, ContractTypeSpec, EventRecord } from '@polkadot/types/interfaces';
import type { Codec, Registry, TypeDef } from '@polkadot/types/types';
import type { AbiConstructor, AbiEvent, AbiMessage, AbiParam, DecodedEvent, DecodedMessage } from '../types.js';
import type { AbiConstructor, AbiEvent, AbiEventParam, AbiMessage, AbiMessageParam, AbiParam, DecodedEvent, DecodedMessage } from '../types.js';
import { Option, TypeRegistry } from '@polkadot/types';
import { TypeDefInfo } from '@polkadot/types-create';
import { assertReturn, compactAddLength, compactStripLength, isBn, isNumber, isObject, isString, isUndefined, logger, stringCamelCase, stringify, u8aConcat, u8aToHex } from '@polkadot/util';
import { convertVersions, enumVersions } from './toLatest.js';
import { convertVersions, enumVersions } from './toLatestCompatible.js';
interface AbiJson {
version?: string;
@@ -18,6 +18,10 @@ interface AbiJson {
[key: string]: unknown;
}
type EventOf<M> = M extends {spec: { events: Vec<infer E>}} ? E : never
export type ContractMetadataSupported = ContractMetadataV4 | ContractMetadataV5;
type ContractEventSupported = EventOf<ContractMetadataSupported>;
const l = logger('Abi');
const PRIMITIVE_ALWAYS = ['AccountId', 'AccountIndex', 'Address', 'Balance'];
@@ -32,7 +36,7 @@ function findMessage <T extends AbiMessage> (list: T[], messageOrId: T | string
return assertReturn(message, () => `Attempted to call an invalid contract interface, ${stringify(messageOrId)}`);
}
function getLatestMeta (registry: Registry, json: AbiJson): ContractMetadataLatest {
function getMetadata (registry: Registry, json: AbiJson): ContractMetadataSupported {
// this is for V1, V2, V3
const vx = enumVersions.find((v) => isObject(json[v]));
@@ -50,20 +54,23 @@ function getLatestMeta (registry: Registry, json: AbiJson): ContractMetadataLate
? { [`V${jsonVersion}`]: json }
: { V0: json }
);
const converter = convertVersions.find(([v]) => metadata[`is${v}`]);
if (!converter) {
throw new Error(`Unable to convert ABI with version ${metadata.type} to latest`);
throw new Error(`Unable to convert ABI with version ${metadata.type} to a supported version`);
}
return converter[1](registry, metadata[`as${converter[0]}`]);
const upgradedMetadata = converter[1](registry, metadata[`as${converter[0]}`]);
return upgradedMetadata;
}
function parseJson (json: Record<string, unknown>, chainProperties?: ChainProperties): [Record<string, unknown>, Registry, ContractMetadataLatest, ContractProjectInfo] {
function parseJson (json: Record<string, unknown>, chainProperties?: ChainProperties): [Record<string, unknown>, Registry, ContractMetadataSupported, ContractProjectInfo] {
const registry = new TypeRegistry();
const info = registry.createType('ContractProjectInfo', json) as unknown as ContractProjectInfo;
const latest = getLatestMeta(registry, json as unknown as AbiJson);
const lookup = registry.createType('PortableRegistry', { types: latest.types }, true);
const metadata = getMetadata(registry, json as unknown as AbiJson);
const lookup = registry.createType('PortableRegistry', { types: metadata.types }, true);
// attach the lookup to the registry - now the types are known
registry.setLookup(lookup);
@@ -77,7 +84,7 @@ function parseJson (json: Record<string, unknown>, chainProperties?: ChainProper
lookup.getTypeDef(id)
);
return [json, registry, latest, info];
return [json, registry, metadata, info];
}
/**
@@ -102,7 +109,7 @@ export class Abi {
readonly info: ContractProjectInfo;
readonly json: Record<string, unknown>;
readonly messages: AbiMessage[];
readonly metadata: ContractMetadataLatest;
readonly metadata: ContractMetadataSupported;
readonly registry: Registry;
readonly environment = new Map<string, TypeDef | Codec>();
@@ -123,8 +130,8 @@ export class Abi {
: null
})
);
this.events = this.metadata.spec.events.map((spec: ContractEventSpecLatest, index) =>
this.#createEvent(spec, index)
this.events = this.metadata.spec.events.map((_: ContractEventSupported, index: number) =>
this.#createEvent(index)
);
this.messages = this.metadata.spec.messages.map((spec: ContractMessageSpecLatest, index): AbiMessage =>
this.#createMessage(spec, index, {
@@ -162,7 +169,59 @@ export class Abi {
/**
* Warning: Unstable API, bound to change
*/
public decodeEvent (data: Bytes | Uint8Array): DecodedEvent {
public decodeEvent (record: EventRecord): DecodedEvent {
switch (this.metadata.version.toString()) {
// earlier version are hoisted to v4
case '4':
return this.#decodeEventV4(record);
// Latest
default:
return this.#decodeEventV5(record);
}
}
#decodeEventV5 = (record: EventRecord): DecodedEvent => {
// Find event by first topic, which potentially is the signature_topic
const signatureTopic = record.topics[0];
const data = record.event.data[1] as Bytes;
if (signatureTopic) {
const event = this.events.find((e) => e.signatureTopic !== undefined && e.signatureTopic !== null && e.signatureTopic === signatureTopic.toHex());
// Early return if event found by signature topic
if (event) {
return event.fromU8a(data);
}
}
// If no event returned yet, it might be anonymous
const amountOfTopics = record.topics.length;
const potentialEvents = this.events.filter((e) => {
// event can't have a signature topic
if (e.signatureTopic !== null && e.signatureTopic !== undefined) {
return false;
}
// event should have same amount of indexed fields as emitted topics
const amountIndexed = e.args.filter((a) => a.indexed).length;
if (amountIndexed !== amountOfTopics) {
return false;
}
// If all conditions met, it's a potential event
return true;
});
if (potentialEvents.length === 1) {
return potentialEvents[0].fromU8a(data);
}
throw new Error('Unable to determine event');
};
#decodeEventV4 = (record: EventRecord): DecodedEvent => {
const data = record.event.data[1] as Bytes;
const index = data[0];
const event = this.events[index];
@@ -171,7 +230,7 @@ export class Abi {
}
return event.fromU8a(data.subarray(1));
}
};
/**
* Warning: Unstable API, bound to change
@@ -195,7 +254,7 @@ export class Abi {
return findMessage(this.messages, messageOrId);
}
#createArgs = (args: ContractMessageParamSpecLatest[], spec: unknown): AbiParam[] => {
#createArgs = (args: ContractMessageParamSpecLatest[] | ContractEventParamSpecLatest[], spec: unknown): AbiParam[] => {
return args.map(({ label, type }, index): AbiParam => {
try {
if (!isObject(type)) {
@@ -233,8 +292,47 @@ export class Abi {
});
};
#createEvent = (spec: ContractEventSpecLatest, index: number): AbiEvent => {
const args = this.#createArgs(spec.args, spec);
#createMessageParams = (args: ContractMessageParamSpecLatest[], spec: unknown): AbiMessageParam[] => {
return this.#createArgs(args, spec);
};
#createEventParams = (args: ContractEventParamSpecLatest[], spec: unknown): AbiEventParam[] => {
const params = this.#createArgs(args, spec);
return params.map((p, index): AbiEventParam => ({ ...p, indexed: args[index].indexed.toPrimitive() }));
};
#createEvent = (index: number): AbiEvent => {
// TODO TypeScript would narrow this type to the correct version,
// but version is `Text` so I need to call `toString()` here,
// which breaks the type inference.
switch (this.metadata.version.toString()) {
case '4':
return this.#createEventV4((this.metadata as ContractMetadataV4).spec.events[index], index);
default:
return this.#createEventV5((this.metadata as ContractMetadataV5).spec.events[index], index);
}
};
#createEventV5 = (spec: EventOf<ContractMetadataV5>, index: number): AbiEvent => {
const args = this.#createEventParams(spec.args, spec);
const event = {
args,
docs: spec.docs.map((d) => d.toString()),
fromU8a: (data: Uint8Array): DecodedEvent => ({
args: this.#decodeArgs(args, data),
event
}),
identifier: [spec.module_path, spec.label].join('::'),
index,
signatureTopic: spec.signature_topic.isSome ? spec.signature_topic.unwrap().toHex() : null
};
return event;
};
#createEventV4 = (spec: EventOf<ContractMetadataV4>, index: number): AbiEvent => {
const args = this.#createEventParams(spec.args, spec);
const event = {
args,
docs: spec.docs.map((d) => d.toString()),
@@ -250,7 +348,7 @@ export class Abi {
};
#createMessage = (spec: ContractMessageSpecLatest | ContractConstructorSpecLatest, index: number, add: Partial<AbiMessage> = {}): AbiMessage => {
const args = this.#createArgs(spec.args, spec);
const args = this.#createMessageParams(spec.args, spec);
const identifier = spec.label.toString();
const message = {
...add,
@@ -267,7 +365,7 @@ export class Abi {
path: identifier.split('::').map((s) => stringCamelCase(s)),
selector: spec.selector,
toU8a: (params: unknown[]) =>
this.#encodeArgs(spec, args, params)
this.#encodeMessageArgs(spec, args, params)
};
return message;
@@ -299,7 +397,7 @@ export class Abi {
return message.fromU8a(trimmed.subarray(4));
};
#encodeArgs = ({ label, selector }: ContractMessageSpecLatest | ContractConstructorSpecLatest, args: AbiParam[], data: unknown[]): Uint8Array => {
#encodeMessageArgs = ({ label, selector }: ContractMessageSpecLatest | ContractConstructorSpecLatest, args: AbiMessageParam[], data: unknown[]): Uint8Array => {
if (data.length !== args.length) {
throw new Error(`Expected ${args.length} arguments to contract message '${label.toString()}', found ${data.length}`);
}
-41
View File
@@ -1,41 +0,0 @@
// Copyright 2017-2024 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ContractMetadataLatest, ContractMetadataV4 } from '@polkadot/types/interfaces';
import type { Registry } from '@polkadot/types/types';
import { v0ToV1 } from './toV1.js';
import { v1ToV2 } from './toV2.js';
import { v2ToV3 } from './toV3.js';
import { v3ToV4 } from './toV4.js';
// The versions where an enum is used, aka V0 is missing
// (Order from newest, i.e. we expect more on newest vs oldest)
export const enumVersions = ['V4', 'V3', 'V2', 'V1'] as const;
type Versions = typeof enumVersions[number] | 'V0';
type Converter = (registry: Registry, vx: any) => ContractMetadataLatest;
// Helper to convert metadata from one step to the next
function createConverter <I, O> (next: (registry: Registry, input: O) => ContractMetadataLatest, step: (registry: Registry, input: I) => O): (registry: Registry, input: I) => ContractMetadataLatest {
return (registry: Registry, input: I): ContractMetadataLatest =>
next(registry, step(registry, input));
}
export function v4ToLatest (_registry: Registry, v4: ContractMetadataV4): ContractMetadataLatest {
return v4;
}
export const v3ToLatest = /*#__PURE__*/ createConverter(v4ToLatest, v3ToV4);
export const v2ToLatest = /*#__PURE__*/ createConverter(v3ToLatest, v2ToV3);
export const v1ToLatest = /*#__PURE__*/ createConverter(v2ToLatest, v1ToV2);
export const v0ToLatest = /*#__PURE__*/ createConverter(v1ToLatest, v0ToV1);
export const convertVersions: [Versions, Converter][] = [
['V4', v4ToLatest],
['V3', v3ToLatest],
['V2', v2ToLatest],
['V1', v1ToLatest],
['V0', v0ToLatest]
];
@@ -6,12 +6,12 @@
import { TypeRegistry } from '@polkadot/types';
import abis from '../test/contracts/index.js';
import { v0ToLatest, v1ToLatest, v2ToLatest, v3ToLatest, v4ToLatest } from './toLatest.js';
import { v0ToLatestCompatible, v1ToLatestCompatible, v2ToLatestCompatible, v3ToLatestCompatible, v4ToLatestCompatible, v5ToLatestCompatible } from './toLatestCompatible.js';
describe('v0ToLatest', (): void => {
describe('v0ToLatestCompatible', (): void => {
const registry = new TypeRegistry();
const contract = registry.createType('ContractMetadata', { V0: abis['ink_v0_erc20'] });
const latest = v0ToLatest(registry, contract.asV0);
const latest = v0ToLatestCompatible(registry, contract.asV0);
it('has the correct constructors', (): void => {
expect(
@@ -48,12 +48,16 @@ describe('v0ToLatest', (): void => {
latest.spec.events[0].args.map(({ label }) => label.toString())
).toEqual(['from', 'to', 'value']);
});
it('has the latest compatible version number', (): void => {
expect(latest.version.toString()).toEqual('4');
});
});
describe('v1ToLatest', (): void => {
describe('v1ToLatestCompatible', (): void => {
const registry = new TypeRegistry();
const contract = registry.createType('ContractMetadata', { V1: abis['ink_v1_flipper']['V1'] });
const latest = v1ToLatest(registry, contract.asV1);
const latest = v1ToLatestCompatible(registry, contract.asV1);
it('has the correct constructors', (): void => {
expect(
@@ -69,7 +73,7 @@ describe('v1ToLatest', (): void => {
it('has the correct messages with namespaced method name', (): void => {
const contract = registry.createType('ContractMetadata', { V1: abis['ink_v1_psp22']['V1'] });
const latest = v1ToLatest(registry, contract.asV1);
const latest = v1ToLatestCompatible(registry, contract.asV1);
expect(
latest.spec.messages.map(({ label }) => label.toString())
@@ -83,24 +87,32 @@ describe('v1ToLatest', (): void => {
latest.spec.constructors[0].args.map(({ label }) => label.toString())
).toEqual(['init_value']);
});
it('has the latest compatible version number', (): void => {
expect(latest.version.toString()).toEqual('4');
});
});
describe('v2ToLatest', (): void => {
describe('v2ToLatestCompatible', (): void => {
const registry = new TypeRegistry();
const contract = registry.createType('ContractMetadata', { V2: abis['ink_v2_flipper']['V2'] });
const latest = v2ToLatest(registry, contract.asV2);
const latest = v2ToLatestCompatible(registry, contract.asV2);
it('has the correct constructor flag', (): void => {
expect(
latest.spec.constructors[0].payable.isTrue
).toEqual(true);
});
it('has the latest compatible version number', (): void => {
expect(latest.version.toString()).toEqual('4');
});
});
describe('v3ToLatest', (): void => {
describe('v3ToLatestCompatible', (): void => {
const registry = new TypeRegistry();
const contract = registry.createType('ContractMetadata', { V3: abis['ink_v3_flipper']['V3'] });
const latest = v3ToLatest(registry, contract.asV3);
const latest = v3ToLatestCompatible(registry, contract.asV3);
it('has the correct constructor flags', (): void => {
expect(
@@ -113,7 +125,7 @@ describe('v3ToLatest', (): void => {
it('has the correct messages', (): void => {
const contract = registry.createType('ContractMetadata', { V3: abis['ink_v3_traitErc20']['V3'] });
const latest = v3ToLatest(registry, contract.asV3);
const latest = v3ToLatestCompatible(registry, contract.asV3);
expect(
latest.spec.messages.map(({ label }) => label.toString())
@@ -121,12 +133,16 @@ describe('v3ToLatest', (): void => {
'BaseErc20::total_supply', 'BaseErc20::balance_of', 'BaseErc20::allowance', 'BaseErc20::transfer', 'BaseErc20::approve', 'BaseErc20::transfer_from'
]);
});
it('has the latest compatible version number', (): void => {
expect(latest.version.toString()).toEqual('4');
});
});
describe('v4ToLatest', (): void => {
describe('v4ToLatestCompatible', (): void => {
const registry = new TypeRegistry();
const contract = registry.createType('ContractMetadata', { V4: abis['ink_v4_flipperContract'] });
const latest = v4ToLatest(registry, contract.asV4);
const latest = v4ToLatestCompatible(registry, contract.asV4);
it('has the correct constructor flags', (): void => {
expect(
@@ -136,4 +152,42 @@ describe('v4ToLatest', (): void => {
latest.spec.constructors[1].payable.isTrue
).toEqual(false);
});
it('has the latest compatible version number', (): void => {
expect(latest.version.toString()).toEqual('4');
});
});
describe('v5ToLatestCompatible', (): void => {
const registry = new TypeRegistry();
const contract = registry.createType('ContractMetadata', { V5: abis['ink_v5_erc20Metadata'] });
const latest = v5ToLatestCompatible(registry, contract.asV5);
it('has the correct messages', (): void => {
expect(
latest.spec.messages.map(({ label }) => label.toString())
).toEqual(['total_supply', 'balance_of', 'allowance', 'transfer', 'approve', 'transfer_from']);
});
it('has new event fields', (): void => {
expect(
latest.spec.events.length
).toEqual(2);
expect(
latest.spec.events.every((e) => e.has('module_path'))
).toEqual(true);
expect(latest.spec.events[0].module_path.toString()).toEqual('erc20::erc20');
expect(
latest.spec.events.every((e) => e.has('signature_topic'))
).toEqual(true);
expect(latest.spec.events[0].signature_topic.toHex()).toEqual('0xb5b61a3e6a21a16be4f044b517c28ac692492f73c5bfd3f60178ad98c767f4cb');
});
it('has the latest compatible version number', (): void => {
expect(latest.version.toString()).toEqual('5');
});
});
@@ -0,0 +1,47 @@
// Copyright 2017-2024 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ContractMetadataV4, ContractMetadataV5 } from '@polkadot/types/interfaces';
import type { Registry } from '@polkadot/types/types';
import type { ContractMetadataSupported } from './index.js';
import { v0ToV1 } from './toV1.js';
import { v1ToV2 } from './toV2.js';
import { v2ToV3 } from './toV3.js';
import { v3ToV4 } from './toV4.js';
// The versions where an enum is used, aka V0 is missing
// (Order from newest, i.e. we expect more on newest vs oldest)
export const enumVersions = ['V5', 'V4', 'V3', 'V2', 'V1'] as const;
type Versions = typeof enumVersions[number] | 'V0';
type Converter = (registry: Registry, vx: any) => ContractMetadataSupported;
// Helper to convert metadata from one step to the next
function createConverter <I, O> (next: (registry: Registry, input: O) => ContractMetadataSupported, step: (registry: Registry, input: I) => O): (registry: Registry, input: I) => ContractMetadataSupported {
return (registry: Registry, input: I): ContractMetadataSupported =>
next(registry, step(registry, input));
}
export function v5ToLatestCompatible (_registry: Registry, v5: ContractMetadataV5): ContractMetadataV5 {
return v5;
}
export function v4ToLatestCompatible (_registry: Registry, v4: ContractMetadataV4): ContractMetadataV4 {
return v4;
}
export const v3ToLatestCompatible = /*#__PURE__*/ createConverter(v4ToLatestCompatible, v3ToV4);
export const v2ToLatestCompatible = /*#__PURE__*/ createConverter(v3ToLatestCompatible, v2ToV3);
export const v1ToLatestCompatible = /*#__PURE__*/ createConverter(v2ToLatestCompatible, v1ToV2);
export const v0ToLatestCompatible = /*#__PURE__*/ createConverter(v1ToLatestCompatible, v0ToV1);
export const convertVersions: [Versions, Converter][] = [
['V5', v5ToLatestCompatible],
['V4', v4ToLatestCompatible],
['V3', v3ToLatestCompatible],
['V2', v2ToLatestCompatible],
['V1', v1ToLatestCompatible],
['V0', v0ToLatestCompatible]
];
+2 -1
View File
@@ -15,6 +15,7 @@ export function v3ToV4 (registry: Registry, v3: ContractMetadataV3): ContractMet
messages: v3.spec.messages.map((m) =>
registry.createType('ContractMessageSpecV3', objectSpread({}, m))
)
})
}),
version: registry.createType('Text', '4')
}));
}
+2 -3
View File
@@ -4,7 +4,6 @@
import type { ApiBase } from '@polkadot/api/base';
import type { SubmittableExtrinsic } from '@polkadot/api/submittable/types';
import type { ApiTypes, DecorateMethod } from '@polkadot/api/types';
import type { Bytes } from '@polkadot/types';
import type { AccountId, ContractExecResult, EventRecord, Weight, WeightV2 } from '@polkadot/types/interfaces';
import type { ISubmittableResult } from '@polkadot/types/types';
import type { Abi } from '../Abi/index.js';
@@ -115,9 +114,9 @@ export class Contract<ApiType extends ApiTypes> extends Base<ApiType> {
// ContractEmitted is the current generation, ContractExecution is the previous generation
new ContractSubmittableResult(result, applyOnEvent(result, ['ContractEmitted', 'ContractExecution'], (records: EventRecord[]) =>
records
.map(({ event: { data: [, data] } }): DecodedEvent | null => {
.map((record): DecodedEvent | null => {
try {
return this.abi.decodeEvent(data as Bytes);
return this.abi.decodeEvent(record);
} catch (error) {
l.error(`Unable to decode contract event: ${(error as Error).message}`);
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '10.12.1' };
@@ -0,0 +1,253 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Result",
"lookupIndex": 1,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup3"
}
]
},
{
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Enum",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 4,
"type": "Result<u128, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup3"
}
]
},
{
"info": "Plain",
"lookupIndex": 5,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 6,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 7,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 7,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Result",
"lookupIndex": 8,
"type": "Result<Result<Null, Erc20Error>, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Result",
"lookupIndex": 9,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 10,
"lookupName": "Erc20Error",
"type": "Lookup10"
}
]
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup3"
}
]
},
{
"info": "Result",
"lookupIndex": 9,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 10,
"lookupName": "Erc20Error",
"type": "Lookup10"
}
]
},
{
"info": "Enum",
"lookupIndex": 10,
"lookupName": "Erc20Error",
"type": "{\"_enum\":[\"InsufficientBalance\",\"InsufficientAllowance\"]}",
"docs": [],
"namespace": "erc20::erc20::Error",
"sub": [
{
"info": "Null",
"type": "Null",
"index": 0,
"name": "InsufficientBalance"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "InsufficientAllowance"
}
]
},
{
"info": "Option",
"lookupIndex": 11,
"type": "Option<AccountId>",
"docs": [],
"namespace": "Option",
"sub": {
"info": "Plain",
"lookupIndex": 5,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
},
{
"info": "Plain",
"lookupIndex": 12,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 13,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 14,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 15,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -0,0 +1,253 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Result",
"lookupIndex": 1,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup3"
}
]
},
{
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Enum",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 4,
"type": "Result<u128, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup3"
}
]
},
{
"info": "Plain",
"lookupIndex": 5,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 6,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 7,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 7,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Result",
"lookupIndex": 8,
"type": "Result<Result<Null, Erc20Error>, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Result",
"lookupIndex": 9,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 10,
"lookupName": "Erc20Error",
"type": "Lookup10"
}
]
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 3,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup3"
}
]
},
{
"info": "Result",
"lookupIndex": 9,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 2,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 10,
"lookupName": "Erc20Error",
"type": "Lookup10"
}
]
},
{
"info": "Enum",
"lookupIndex": 10,
"lookupName": "Erc20Error",
"type": "{\"_enum\":[\"InsufficientBalance\",\"InsufficientAllowance\"]}",
"docs": [],
"namespace": "erc20::erc20::Error",
"sub": [
{
"info": "Null",
"type": "Null",
"index": 0,
"name": "InsufficientBalance"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "InsufficientAllowance"
}
]
},
{
"info": "Option",
"lookupIndex": 11,
"type": "Option<AccountId>",
"docs": [],
"namespace": "Option",
"sub": {
"info": "Plain",
"lookupIndex": 5,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
},
{
"info": "Plain",
"lookupIndex": 12,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 13,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 14,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 15,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -0,0 +1,370 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 3,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 5,
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 6,
"lookupName": "InkStorageTraitsImplsAutoKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::AutoKey"
},
{
"info": "Null",
"lookupIndex": 7,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Tuple",
"lookupIndex": 10,
"type": "(AccountId,AccountId)",
"docs": [],
"namespace": "",
"sub": [
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
]
},
{
"info": "Null",
"lookupIndex": 11,
"lookupName": "InkStorageTraitsImplsResolverKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 12,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Struct",
"lookupIndex": 13,
"lookupName": "Erc20",
"type": "{\"totalSupply\":\"u128\",\"balances\":\"Null\",\"allowances\":\"InkStorageLazyMapping\"}",
"docs": [],
"namespace": "erc20::erc20::Erc20",
"sub": [
{
"docs": [],
"name": "totalSupply",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"namespace": "",
"typeName": ""
},
{
"docs": [],
"name": "balances",
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
},
{
"docs": [],
"name": "allowances",
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
}
]
},
{
"info": "Result",
"lookupIndex": 14,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Enum",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 16,
"type": "Result<u128, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 17,
"type": "Result<Result<Null, Erc20Error>, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"info": "Enum",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "{\"_enum\":[\"InsufficientBalance\",\"InsufficientAllowance\"]}",
"docs": [],
"namespace": "erc20::erc20::Error",
"sub": [
{
"info": "Null",
"type": "Null",
"index": 0,
"name": "InsufficientBalance"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "InsufficientAllowance"
}
]
},
{
"info": "Option",
"lookupIndex": 20,
"type": "Option<AccountId>",
"docs": [],
"namespace": "Option",
"sub": {
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
},
{
"info": "Plain",
"lookupIndex": 21,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 22,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 23,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 24,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -0,0 +1,370 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 3,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 5,
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 6,
"lookupName": "InkStorageTraitsImplsAutoKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::AutoKey"
},
{
"info": "Null",
"lookupIndex": 7,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Tuple",
"lookupIndex": 10,
"type": "(AccountId,AccountId)",
"docs": [],
"namespace": "",
"sub": [
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
]
},
{
"info": "Null",
"lookupIndex": 11,
"lookupName": "InkStorageTraitsImplsResolverKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 12,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Struct",
"lookupIndex": 13,
"lookupName": "Erc20",
"type": "{\"totalSupply\":\"u128\",\"balances\":\"Null\",\"allowances\":\"InkStorageLazyMapping\"}",
"docs": [],
"namespace": "erc20::erc20::Erc20",
"sub": [
{
"docs": [],
"name": "totalSupply",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"namespace": "",
"typeName": ""
},
{
"docs": [],
"name": "balances",
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
},
{
"docs": [],
"name": "allowances",
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
}
]
},
{
"info": "Result",
"lookupIndex": 14,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Enum",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 16,
"type": "Result<u128, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 17,
"type": "Result<Result<Null, Erc20Error>, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"info": "Enum",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "{\"_enum\":[\"InsufficientBalance\",\"InsufficientAllowance\"]}",
"docs": [],
"namespace": "erc20::erc20::Error",
"sub": [
{
"info": "Null",
"type": "Null",
"index": 0,
"name": "InsufficientBalance"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "InsufficientAllowance"
}
]
},
{
"info": "Option",
"lookupIndex": 20,
"type": "Option<AccountId>",
"docs": [],
"namespace": "Option",
"sub": {
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
},
{
"info": "Plain",
"lookupIndex": 21,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 22,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 23,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 24,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -0,0 +1,370 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 3,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 5,
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 6,
"lookupName": "InkStorageTraitsImplsAutoKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::AutoKey"
},
{
"info": "Null",
"lookupIndex": 7,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Tuple",
"lookupIndex": 10,
"type": "(AccountId,AccountId)",
"docs": [],
"namespace": "",
"sub": [
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
]
},
{
"info": "Null",
"lookupIndex": 11,
"lookupName": "InkStorageTraitsImplsResolverKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 12,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Struct",
"lookupIndex": 13,
"lookupName": "Erc20",
"type": "{\"totalSupply\":\"u128\",\"balances\":\"Null\",\"allowances\":\"InkStorageLazyMapping\"}",
"docs": [],
"namespace": "erc20::erc20::Erc20",
"sub": [
{
"docs": [],
"name": "totalSupply",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"namespace": "",
"typeName": ""
},
{
"docs": [],
"name": "balances",
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
},
{
"docs": [],
"name": "allowances",
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
}
]
},
{
"info": "Result",
"lookupIndex": 14,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Enum",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 16,
"type": "Result<u128, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 17,
"type": "Result<Result<Null, Erc20Error>, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"info": "Enum",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "{\"_enum\":[\"InsufficientBalance\",\"InsufficientAllowance\"]}",
"docs": [],
"namespace": "erc20::erc20::Error",
"sub": [
{
"info": "Null",
"type": "Null",
"index": 0,
"name": "InsufficientBalance"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "InsufficientAllowance"
}
]
},
{
"info": "Option",
"lookupIndex": 20,
"type": "Option<AccountId>",
"docs": [],
"namespace": "Option",
"sub": {
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
},
{
"info": "Plain",
"lookupIndex": 21,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 22,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 23,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 24,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -0,0 +1,370 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 3,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 4,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 5,
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 6,
"lookupName": "InkStorageTraitsImplsAutoKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::AutoKey"
},
{
"info": "Null",
"lookupIndex": 7,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"docs": [],
"namespace": "ink_storage::lazy::mapping::Mapping"
},
{
"info": "Tuple",
"lookupIndex": 10,
"type": "(AccountId,AccountId)",
"docs": [],
"namespace": "",
"sub": [
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
]
},
{
"info": "Null",
"lookupIndex": 11,
"lookupName": "InkStorageTraitsImplsResolverKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ResolverKey"
},
{
"info": "Null",
"lookupIndex": 12,
"lookupName": "InkStorageTraitsImplsManualKey",
"type": "Null",
"docs": [],
"namespace": "ink_storage_traits::impls::ManualKey"
},
{
"info": "Struct",
"lookupIndex": 13,
"lookupName": "Erc20",
"type": "{\"totalSupply\":\"u128\",\"balances\":\"Null\",\"allowances\":\"InkStorageLazyMapping\"}",
"docs": [],
"namespace": "erc20::erc20::Erc20",
"sub": [
{
"docs": [],
"name": "totalSupply",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"namespace": "",
"typeName": ""
},
{
"docs": [],
"name": "balances",
"info": "Null",
"lookupIndex": 1,
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
},
{
"docs": [],
"name": "allowances",
"info": "Null",
"lookupIndex": 9,
"lookupName": "InkStorageLazyMapping",
"type": "Null",
"namespace": "ink_storage::lazy::mapping::Mapping",
"typeName": ""
}
]
},
{
"info": "Result",
"lookupIndex": 14,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Enum",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 16,
"type": "Result<u128, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 17,
"type": "Result<Result<Null, Erc20Error>, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 15,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup15"
}
]
},
{
"info": "Result",
"lookupIndex": 18,
"type": "Result<Null, Erc20Error>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 8,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "Lookup19"
}
]
},
{
"info": "Enum",
"lookupIndex": 19,
"lookupName": "Erc20Error",
"type": "{\"_enum\":[\"InsufficientBalance\",\"InsufficientAllowance\"]}",
"docs": [],
"namespace": "erc20::erc20::Error",
"sub": [
{
"info": "Null",
"type": "Null",
"index": 0,
"name": "InsufficientBalance"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "InsufficientAllowance"
}
]
},
{
"info": "Option",
"lookupIndex": 20,
"type": "Option<AccountId>",
"docs": [],
"namespace": "Option",
"sub": {
"info": "Plain",
"lookupIndex": 2,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
}
},
{
"info": "Plain",
"lookupIndex": 21,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 22,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 23,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 24,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -0,0 +1,174 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "bool",
"docs": [],
"namespace": ""
},
{
"info": "Struct",
"lookupIndex": 1,
"lookupName": "Flipper",
"type": "{\"value\":\"bool\"}",
"docs": [],
"namespace": "flipper::flipper::Flipper",
"sub": [
{
"docs": [],
"name": "value",
"info": "Plain",
"lookupIndex": 0,
"type": "bool",
"namespace": "",
"typeName": ""
}
]
},
{
"info": "Result",
"lookupIndex": 2,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 3,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 4,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup4"
}
]
},
{
"info": "Null",
"lookupIndex": 3,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Enum",
"lookupIndex": 4,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 5,
"type": "Result<bool, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "bool",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 4,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup4"
}
]
},
{
"info": "Plain",
"lookupIndex": 6,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 7,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 8,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 8,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 9,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 10,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 11,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 12,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 13,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -0,0 +1,174 @@
[
{
"info": "Plain",
"lookupIndex": 0,
"type": "bool",
"docs": [],
"namespace": ""
},
{
"info": "Struct",
"lookupIndex": 1,
"lookupName": "Flipper",
"type": "{\"value\":\"bool\"}",
"docs": [],
"namespace": "flipper::flipper::Flipper",
"sub": [
{
"docs": [],
"name": "value",
"info": "Plain",
"lookupIndex": 0,
"type": "bool",
"namespace": "",
"typeName": ""
}
]
},
{
"info": "Result",
"lookupIndex": 2,
"type": "Result<Null, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Null",
"lookupIndex": 3,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 4,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup4"
}
]
},
{
"info": "Null",
"lookupIndex": 3,
"type": "Null",
"docs": [],
"namespace": ""
},
{
"info": "Enum",
"lookupIndex": 4,
"lookupName": "InkPrimitivesLangError",
"type": "{\"_enum\":[\"__Unused0\",\"CouldNotReadInput\"]}",
"docs": [],
"namespace": "ink_primitives::LangError",
"sub": [
{
"index": 0,
"info": "Null",
"name": "__Unused0",
"type": "Null"
},
{
"info": "Null",
"type": "Null",
"index": 1,
"name": "CouldNotReadInput"
}
]
},
{
"info": "Result",
"lookupIndex": 5,
"type": "Result<bool, InkPrimitivesLangError>",
"docs": [],
"namespace": "Result",
"sub": [
{
"name": "Ok",
"info": "Plain",
"lookupIndex": 0,
"type": "bool",
"docs": [],
"namespace": ""
},
{
"name": "Error",
"docs": [],
"info": "Si",
"lookupIndex": 4,
"lookupName": "InkPrimitivesLangError",
"type": "Lookup4"
}
]
},
{
"info": "Plain",
"lookupIndex": 6,
"type": "AccountId",
"docs": [],
"namespace": "ink_primitives::types::AccountId",
"lookupNameRoot": "InkPrimitivesAccountId"
},
{
"info": "VecFixed",
"lookupIndex": 7,
"type": "[u8;32]",
"docs": [],
"namespace": "",
"length": 32,
"sub": {
"info": "Plain",
"lookupIndex": 8,
"type": "u8",
"docs": [],
"namespace": ""
}
},
{
"info": "Plain",
"lookupIndex": 8,
"type": "u8",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 9,
"type": "u128",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 10,
"type": "Hash",
"docs": [],
"namespace": "ink_primitives::types::Hash",
"lookupNameRoot": "InkPrimitivesHash"
},
{
"info": "Plain",
"lookupIndex": 11,
"type": "u64",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 12,
"type": "u32",
"docs": [],
"namespace": ""
},
{
"info": "Plain",
"lookupIndex": 13,
"type": "NoChainExtension",
"docs": [],
"namespace": "ink_env::types::NoChainExtension",
"lookupNameRoot": "InkEnvNoChainExtension"
}
]
@@ -7,5 +7,6 @@ import * as v1 from './v1/index.js';
import * as v2 from './v2/index.js';
import * as v3 from './v3/index.js';
import * as v4 from './v4/index.js';
import * as v5 from './v5/index.js';
export default createVersionedExport({ v0, v1, v2, v3, v4 });
export default createVersionedExport({ v0, v1, v2, v3, v4, v5 });
File diff suppressed because one or more lines are too long
@@ -0,0 +1,821 @@
{
"source": {
"hash": "0x114f55289bcdfd0d28e0bbd1c63452b4e45901a022b1011d298fa2eb12d1711d",
"language": "ink! 4.3.0",
"compiler": "rustc 1.75.0",
"build_info": {
"build_mode": "Debug",
"cargo_contract_version": "3.2.0",
"rust_toolchain": "stable-aarch64-apple-darwin",
"wasm_opt_settings": {
"keep_debug_symbols": false,
"optimization_passes": "Z"
}
}
},
"contract": {
"name": "erc20",
"version": "4.3.0",
"authors": [
"Parity Technologies <admin@parity.io>"
]
},
"spec": {
"constructors": [
{
"args": [
{
"label": "total_supply",
"type": {
"displayName": [
"Balance"
],
"type": 0
}
}
],
"default": false,
"docs": [
"Creates a new ERC-20 contract with the specified initial supply."
],
"label": "new",
"payable": false,
"returnType": {
"displayName": [
"ink_primitives",
"ConstructorResult"
],
"type": 1
},
"selector": "0x9bae9d5e"
}
],
"docs": [],
"environment": {
"accountId": {
"displayName": [
"AccountId"
],
"type": 5
},
"balance": {
"displayName": [
"Balance"
],
"type": 0
},
"blockNumber": {
"displayName": [
"BlockNumber"
],
"type": 14
},
"chainExtension": {
"displayName": [
"ChainExtension"
],
"type": 15
},
"hash": {
"displayName": [
"Hash"
],
"type": 12
},
"maxEventTopics": 4,
"timestamp": {
"displayName": [
"Timestamp"
],
"type": 13
}
},
"events": [
{
"args": [
{
"docs": [],
"indexed": true,
"label": "from",
"type": {
"displayName": [
"Option"
],
"type": 11
}
},
{
"docs": [],
"indexed": true,
"label": "to",
"type": {
"displayName": [
"Option"
],
"type": 11
}
},
{
"docs": [],
"indexed": false,
"label": "value",
"type": {
"displayName": [
"Balance"
],
"type": 0
}
}
],
"docs": [
"Event emitted when a token transfer occurs."
],
"label": "Transfer"
},
{
"args": [
{
"docs": [],
"indexed": true,
"label": "owner",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
},
{
"docs": [],
"indexed": true,
"label": "spender",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
},
{
"docs": [],
"indexed": false,
"label": "value",
"type": {
"displayName": [
"Balance"
],
"type": 0
}
}
],
"docs": [
"Event emitted when an approval occurs that `spender` is allowed to withdraw",
"up to the amount of `value` tokens from `owner`."
],
"label": "Approval"
}
],
"lang_error": {
"displayName": [
"ink",
"LangError"
],
"type": 3
},
"messages": [
{
"args": [],
"default": false,
"docs": [
" Returns the total token supply."
],
"label": "total_supply",
"mutates": false,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 4
},
"selector": "0xdb6375a8"
},
{
"args": [
{
"label": "owner",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
}
],
"default": false,
"docs": [
" Returns the account balance for the specified `owner`.",
"",
" Returns `0` if the account is non-existent."
],
"label": "balance_of",
"mutates": false,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 4
},
"selector": "0x0f755a56"
},
{
"args": [
{
"label": "owner",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
},
{
"label": "spender",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
}
],
"default": false,
"docs": [
" Returns the amount which `spender` is still allowed to withdraw from `owner`.",
"",
" Returns `0` if no allowance has been set."
],
"label": "allowance",
"mutates": false,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 4
},
"selector": "0x6a00165e"
},
{
"args": [
{
"label": "to",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
},
{
"label": "value",
"type": {
"displayName": [
"Balance"
],
"type": 0
}
}
],
"default": false,
"docs": [
" Transfers `value` amount of tokens from the caller's account to account `to`.",
"",
" On success a `Transfer` event is emitted.",
"",
" # Errors",
"",
" Returns `InsufficientBalance` error if there are not enough tokens on",
" the caller's account balance."
],
"label": "transfer",
"mutates": true,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 8
},
"selector": "0x84a15da1"
},
{
"args": [
{
"label": "spender",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
},
{
"label": "value",
"type": {
"displayName": [
"Balance"
],
"type": 0
}
}
],
"default": false,
"docs": [
" Allows `spender` to withdraw from the caller's account multiple times, up to",
" the `value` amount.",
"",
" If this function is called again it overwrites the current allowance with",
" `value`.",
"",
" An `Approval` event is emitted."
],
"label": "approve",
"mutates": true,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 8
},
"selector": "0x681266a0"
},
{
"args": [
{
"label": "from",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
},
{
"label": "to",
"type": {
"displayName": [
"AccountId"
],
"type": 5
}
},
{
"label": "value",
"type": {
"displayName": [
"Balance"
],
"type": 0
}
}
],
"default": false,
"docs": [
" Transfers `value` tokens on the behalf of `from` to the account `to`.",
"",
" This can be used to allow a contract to transfer tokens on ones behalf and/or",
" to charge fees in sub-currencies, for example.",
"",
" On success a `Transfer` event is emitted.",
"",
" # Errors",
"",
" Returns `InsufficientAllowance` error if there are not enough tokens allowed",
" for the caller to withdraw from `from`.",
"",
" Returns `InsufficientBalance` error if there are not enough tokens on",
" the account balance of `from`."
],
"label": "transfer_from",
"mutates": true,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 8
},
"selector": "0x0b396f18"
}
]
},
"storage": {
"root": {
"layout": {
"struct": {
"fields": [
{
"layout": {
"leaf": {
"key": "0x00000000",
"ty": 0
}
},
"name": "total_supply"
},
{
"layout": {
"root": {
"layout": {
"leaf": {
"key": "0x2623dce7",
"ty": 0
}
},
"root_key": "0x2623dce7"
}
},
"name": "balances"
},
{
"layout": {
"root": {
"layout": {
"leaf": {
"key": "0xeca021b7",
"ty": 0
}
},
"root_key": "0xeca021b7"
}
},
"name": "allowances"
}
],
"name": "Erc20"
}
},
"root_key": "0x00000000"
}
},
"types": [
{
"id": 0,
"type": {
"def": {
"primitive": "u128"
}
}
},
{
"id": 1,
"type": {
"def": {
"variant": {
"variants": [
{
"fields": [
{
"type": 2
}
],
"index": 0,
"name": "Ok"
},
{
"fields": [
{
"type": 3
}
],
"index": 1,
"name": "Err"
}
]
}
},
"params": [
{
"name": "T",
"type": 2
},
{
"name": "E",
"type": 3
}
],
"path": [
"Result"
]
}
},
{
"id": 2,
"type": {
"def": {
"tuple": []
}
}
},
{
"id": 3,
"type": {
"def": {
"variant": {
"variants": [
{
"index": 1,
"name": "CouldNotReadInput"
}
]
}
},
"path": [
"ink_primitives",
"LangError"
]
}
},
{
"id": 4,
"type": {
"def": {
"variant": {
"variants": [
{
"fields": [
{
"type": 0
}
],
"index": 0,
"name": "Ok"
},
{
"fields": [
{
"type": 3
}
],
"index": 1,
"name": "Err"
}
]
}
},
"params": [
{
"name": "T",
"type": 0
},
{
"name": "E",
"type": 3
}
],
"path": [
"Result"
]
}
},
{
"id": 5,
"type": {
"def": {
"composite": {
"fields": [
{
"type": 6,
"typeName": "[u8; 32]"
}
]
}
},
"path": [
"ink_primitives",
"types",
"AccountId"
]
}
},
{
"id": 6,
"type": {
"def": {
"array": {
"len": 32,
"type": 7
}
}
}
},
{
"id": 7,
"type": {
"def": {
"primitive": "u8"
}
}
},
{
"id": 8,
"type": {
"def": {
"variant": {
"variants": [
{
"fields": [
{
"type": 9
}
],
"index": 0,
"name": "Ok"
},
{
"fields": [
{
"type": 3
}
],
"index": 1,
"name": "Err"
}
]
}
},
"params": [
{
"name": "T",
"type": 9
},
{
"name": "E",
"type": 3
}
],
"path": [
"Result"
]
}
},
{
"id": 9,
"type": {
"def": {
"variant": {
"variants": [
{
"fields": [
{
"type": 2
}
],
"index": 0,
"name": "Ok"
},
{
"fields": [
{
"type": 10
}
],
"index": 1,
"name": "Err"
}
]
}
},
"params": [
{
"name": "T",
"type": 2
},
{
"name": "E",
"type": 10
}
],
"path": [
"Result"
]
}
},
{
"id": 10,
"type": {
"def": {
"variant": {
"variants": [
{
"index": 0,
"name": "InsufficientBalance"
},
{
"index": 1,
"name": "InsufficientAllowance"
}
]
}
},
"path": [
"erc20",
"erc20",
"Error"
]
}
},
{
"id": 11,
"type": {
"def": {
"variant": {
"variants": [
{
"index": 0,
"name": "None"
},
{
"fields": [
{
"type": 5
}
],
"index": 1,
"name": "Some"
}
]
}
},
"params": [
{
"name": "T",
"type": 5
}
],
"path": [
"Option"
]
}
},
{
"id": 12,
"type": {
"def": {
"composite": {
"fields": [
{
"type": 6,
"typeName": "[u8; 32]"
}
]
}
},
"path": [
"ink_primitives",
"types",
"Hash"
]
}
},
{
"id": 13,
"type": {
"def": {
"primitive": "u64"
}
}
},
{
"id": 14,
"type": {
"def": {
"primitive": "u32"
}
}
},
{
"id": 15,
"type": {
"def": {
"variant": {}
},
"path": [
"ink_env",
"types",
"NoChainExtension"
]
}
}
],
"version": "4"
}
@@ -1,5 +1,7 @@
// Copyright 2017-2024 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { default as erc20Contract } from './erc20.contract.json' assert { type: 'json' };
export { default as erc20Metadata } from './erc20.json' assert { type: 'json' };
export { default as flipperContract } from './flipper.contract.json' assert { type: 'json' };
export { default as flipperMetadata } from './flipper.json' assert { type: 'json' };
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,420 @@
{
"source": {
"hash": "0xaf1c6d2ea289d7d4f8753db2d658782f4d066544f3ee34b3d54272075ad0de99",
"language": "ink! 5.0.0-rc.1",
"compiler": "rustc 1.75.0",
"build_info": {
"build_mode": "Debug",
"cargo_contract_version": "4.0.0-rc.2",
"rust_toolchain": "stable-aarch64-apple-darwin",
"wasm_opt_settings": {
"keep_debug_symbols": false,
"optimization_passes": "Z"
}
}
},
"contract": {
"name": "flipper",
"version": "5.0.0-rc.1",
"authors": [
"Parity Technologies <admin@parity.io>"
]
},
"image": null,
"spec": {
"constructors": [
{
"args": [
{
"label": "init_value",
"type": {
"displayName": [
"bool"
],
"type": 0
}
}
],
"default": false,
"docs": [
"Creates a new flipper smart contract initialized with the given value."
],
"label": "new",
"payable": false,
"returnType": {
"displayName": [
"ink_primitives",
"ConstructorResult"
],
"type": 2
},
"selector": "0x9bae9d5e"
},
{
"args": [],
"default": false,
"docs": [
"Creates a new flipper smart contract initialized to `false`."
],
"label": "new_default",
"payable": false,
"returnType": {
"displayName": [
"ink_primitives",
"ConstructorResult"
],
"type": 2
},
"selector": "0x61ef7e3e"
}
],
"docs": [],
"environment": {
"accountId": {
"displayName": [
"AccountId"
],
"type": 6
},
"balance": {
"displayName": [
"Balance"
],
"type": 9
},
"blockNumber": {
"displayName": [
"BlockNumber"
],
"type": 12
},
"chainExtension": {
"displayName": [
"ChainExtension"
],
"type": 13
},
"hash": {
"displayName": [
"Hash"
],
"type": 10
},
"maxEventTopics": 4,
"staticBufferSize": 16384,
"timestamp": {
"displayName": [
"Timestamp"
],
"type": 11
}
},
"events": [],
"lang_error": {
"displayName": [
"ink",
"LangError"
],
"type": 4
},
"messages": [
{
"args": [],
"default": false,
"docs": [
" Flips the current value of the Flipper's boolean."
],
"label": "flip",
"mutates": true,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 2
},
"selector": "0x633aa551"
},
{
"args": [],
"default": false,
"docs": [
" Returns the current value of the Flipper's boolean."
],
"label": "get",
"mutates": false,
"payable": false,
"returnType": {
"displayName": [
"ink",
"MessageResult"
],
"type": 5
},
"selector": "0x2f865bd9"
}
]
},
"storage": {
"root": {
"layout": {
"struct": {
"fields": [
{
"layout": {
"leaf": {
"key": "0x00000000",
"ty": 0
}
},
"name": "value"
}
],
"name": "Flipper"
}
},
"root_key": "0x00000000",
"ty": 1
}
},
"types": [
{
"id": 0,
"type": {
"def": {
"primitive": "bool"
}
}
},
{
"id": 1,
"type": {
"def": {
"composite": {
"fields": [
{
"name": "value",
"type": 0,
"typeName": "<bool as::ink::storage::traits::AutoStorableHint<::ink::storage\n::traits::ManualKey<2054318728u32, ()>,>>::Type"
}
]
}
},
"path": [
"flipper",
"flipper",
"Flipper"
]
}
},
{
"id": 2,
"type": {
"def": {
"variant": {
"variants": [
{
"fields": [
{
"type": 3
}
],
"index": 0,
"name": "Ok"
},
{
"fields": [
{
"type": 4
}
],
"index": 1,
"name": "Err"
}
]
}
},
"params": [
{
"name": "T",
"type": 3
},
{
"name": "E",
"type": 4
}
],
"path": [
"Result"
]
}
},
{
"id": 3,
"type": {
"def": {
"tuple": []
}
}
},
{
"id": 4,
"type": {
"def": {
"variant": {
"variants": [
{
"index": 1,
"name": "CouldNotReadInput"
}
]
}
},
"path": [
"ink_primitives",
"LangError"
]
}
},
{
"id": 5,
"type": {
"def": {
"variant": {
"variants": [
{
"fields": [
{
"type": 0
}
],
"index": 0,
"name": "Ok"
},
{
"fields": [
{
"type": 4
}
],
"index": 1,
"name": "Err"
}
]
}
},
"params": [
{
"name": "T",
"type": 0
},
{
"name": "E",
"type": 4
}
],
"path": [
"Result"
]
}
},
{
"id": 6,
"type": {
"def": {
"composite": {
"fields": [
{
"type": 7,
"typeName": "[u8; 32]"
}
]
}
},
"path": [
"ink_primitives",
"types",
"AccountId"
]
}
},
{
"id": 7,
"type": {
"def": {
"array": {
"len": 32,
"type": 8
}
}
}
},
{
"id": 8,
"type": {
"def": {
"primitive": "u8"
}
}
},
{
"id": 9,
"type": {
"def": {
"primitive": "u128"
}
}
},
{
"id": 10,
"type": {
"def": {
"composite": {
"fields": [
{
"type": 7,
"typeName": "[u8; 32]"
}
]
}
},
"path": [
"ink_primitives",
"types",
"Hash"
]
}
},
{
"id": 11,
"type": {
"def": {
"primitive": "u64"
}
}
},
{
"id": 12,
"type": {
"def": {
"primitive": "u32"
}
}
},
{
"id": 13,
"type": {
"def": {
"variant": {}
},
"path": [
"ink_env",
"types",
"NoChainExtension"
]
}
}
],
"version": 5
}
@@ -0,0 +1,8 @@
// Copyright 2017-2024 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { default as erc20Contract } from './erc20.contract.json' assert { type: 'json' };
export { default as erc20Metadata } from './erc20.json' assert { type: 'json' };
export { default as erc20AnonymousTransferMetadata } from './erc20_anonymous_transfer.json' assert { type: 'json' };
export { default as flipperContract } from './flipper.contract.json' assert { type: 'json' };
export { default as flipperMetadata } from './flipper.json' assert { type: 'json' };
+10 -2
View File
@@ -7,6 +7,7 @@ import type { Text } from '@polkadot/types';
import type { ContractExecResultResult, ContractSelector, StorageDeposit, Weight, WeightV2 } from '@polkadot/types/interfaces';
import type { Codec, TypeDef } from '@polkadot/types/types';
import type { BN } from '@polkadot/util';
import type { HexString } from '@polkadot/util/types';
import type { Abi } from './index.js';
export interface ContractBase<ApiType extends ApiTypes> {
@@ -22,16 +23,23 @@ export interface AbiParam {
type: TypeDef;
}
export type AbiMessageParam = AbiParam
export interface AbiEventParam extends AbiParam{
indexed: boolean;
}
export interface AbiEvent {
args: AbiParam[];
args: AbiEventParam[];
docs: string[];
fromU8a: (data: Uint8Array) => DecodedEvent;
identifier: string;
index: number;
signatureTopic?: HexString | null;
}
export interface AbiMessage {
args: AbiParam[];
args: AbiMessageParam[];
docs: string[];
fromU8a: (data: Uint8Array) => DecodedMessage;
identifier: string;
+2 -1
View File
@@ -17,9 +17,10 @@
"mock.ts"
],
"references": [
{ "path": "../api/tsconfig.build.json" },
{ "path": "../api-augment/tsconfig.build.json" },
{ "path": "../api-contract/tsconfig.build.json" },
{ "path": "../api/tsconfig.build.json" },
{ "path": "../types-support/tsconfig.build.json" },
{ "path": "../types/tsconfig.build.json" }
]
}
+12 -12
View File
@@ -18,25 +18,25 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/api": "10.11.3",
"@polkadot/api-augment": "10.11.3",
"@polkadot/api-base": "10.11.3",
"@polkadot/rpc-core": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/api": "10.12.1",
"@polkadot/api-augment": "10.12.1",
"@polkadot/api-base": "10.12.1",
"@polkadot/rpc-core": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/util": "^12.6.2",
"@polkadot/util-crypto": "^12.6.2",
"rxjs": "^7.8.1",
"tslib": "^2.6.2"
},
"devDependencies": {
"@polkadot/api": "10.11.3",
"@polkadot/api-augment": "10.11.3",
"@polkadot/rpc-augment": "10.11.3",
"@polkadot/rpc-provider": "10.11.3",
"@polkadot/types-support": "10.11.3"
"@polkadot/api": "10.12.1",
"@polkadot/api-augment": "10.12.1",
"@polkadot/rpc-augment": "10.12.1",
"@polkadot/rpc-provider": "10.12.1",
"@polkadot/types-support": "10.12.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '10.12.1' };
+14 -14
View File
@@ -18,21 +18,21 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/api-augment": "10.11.3",
"@polkadot/api-base": "10.11.3",
"@polkadot/api-derive": "10.11.3",
"@polkadot/api-augment": "10.12.1",
"@polkadot/api-base": "10.12.1",
"@polkadot/api-derive": "10.12.1",
"@polkadot/keyring": "^12.6.2",
"@polkadot/rpc-augment": "10.11.3",
"@polkadot/rpc-core": "10.11.3",
"@polkadot/rpc-provider": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/types-augment": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/types-create": "10.11.3",
"@polkadot/types-known": "10.11.3",
"@polkadot/rpc-augment": "10.12.1",
"@polkadot/rpc-core": "10.12.1",
"@polkadot/rpc-provider": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/types-augment": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/types-create": "10.12.1",
"@polkadot/types-known": "10.12.1",
"@polkadot/util": "^12.6.2",
"@polkadot/util-crypto": "^12.6.2",
"eventemitter3": "^5.0.1",
@@ -40,7 +40,7 @@
"tslib": "^2.6.2"
},
"devDependencies": {
"@polkadot/api-augment": "10.11.3",
"@polkadot/types-support": "10.11.3"
"@polkadot/api-augment": "10.12.1",
"@polkadot/types-support": "10.12.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '10.12.1' };
+4 -4
View File
@@ -18,12 +18,12 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/rpc-core": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/rpc-core": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/util": "^12.6.2",
"tslib": "^2.6.2"
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '10.12.1' };
+5 -5
View File
@@ -18,18 +18,18 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/rpc-augment": "10.11.3",
"@polkadot/rpc-provider": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/rpc-augment": "10.12.1",
"@polkadot/rpc-provider": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/util": "^12.6.2",
"rxjs": "^7.8.1",
"tslib": "^2.6.2"
},
"devDependencies": {
"@polkadot/keyring": "^12.6.2",
"@polkadot/rpc-augment": "10.11.3"
"@polkadot/rpc-augment": "10.12.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '10.12.1' };
+3 -3
View File
@@ -18,12 +18,12 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/keyring": "^12.6.2",
"@polkadot/types": "10.11.3",
"@polkadot/types-support": "10.11.3",
"@polkadot/types": "10.12.1",
"@polkadot/types-support": "10.12.1",
"@polkadot/util": "^12.6.2",
"@polkadot/util-crypto": "^12.6.2",
"@polkadot/x-fetch": "^12.6.2",
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '10.12.1' };
+10 -10
View File
@@ -18,7 +18,7 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"bin": {
"polkadot-types-chain-info": "./scripts/polkadot-types-chain-info.mjs",
@@ -28,15 +28,15 @@
"polkadot-types-internal-metadata": "./scripts/polkadot-types-internal-metadata.mjs"
},
"dependencies": {
"@polkadot/api": "10.11.3",
"@polkadot/api-augment": "10.11.3",
"@polkadot/rpc-augment": "10.11.3",
"@polkadot/rpc-provider": "10.11.3",
"@polkadot/types": "10.11.3",
"@polkadot/types-augment": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/types-create": "10.11.3",
"@polkadot/types-support": "10.11.3",
"@polkadot/api": "10.12.1",
"@polkadot/api-augment": "10.12.1",
"@polkadot/rpc-augment": "10.12.1",
"@polkadot/rpc-provider": "10.12.1",
"@polkadot/types": "10.12.1",
"@polkadot/types-augment": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/types-create": "10.12.1",
"@polkadot/types-support": "10.12.1",
"@polkadot/util": "^12.6.2",
"@polkadot/util-crypto": "^12.6.2",
"@polkadot/x-ws": "^12.6.2",
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '10.12.1' };
+3 -3
View File
@@ -18,11 +18,11 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/types": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/types": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/util": "^12.6.2",
"tslib": "^2.6.2"
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '10.12.1' };
@@ -25,7 +25,7 @@ import type { StatementKind } from '@polkadot/types/interfaces/claims';
import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective';
import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus';
import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractExecResultU64, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractInstantiateResultU64, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractConstructorSpecV4, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractContractSpecV4, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEnvironmentV4, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMessageSpecV3, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractMetadataV4, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';
import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractConstructorSpecV4, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractContractSpecV4, ContractContractSpecV5, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEnvironmentV4, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractEventSpecV3, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMessageSpecV3, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractMetadataV4, ContractMetadataV5, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';
import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan';
import type { CollationInfo, CollationInfoV1, ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus';
import type { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy';
@@ -262,6 +262,7 @@ declare module '@polkadot/types/types/registry' {
ContractContractSpecV2: ContractContractSpecV2;
ContractContractSpecV3: ContractContractSpecV3;
ContractContractSpecV4: ContractContractSpecV4;
ContractContractSpecV5: ContractContractSpecV5;
ContractCryptoHasher: ContractCryptoHasher;
ContractDiscriminant: ContractDiscriminant;
ContractDisplayName: ContractDisplayName;
@@ -273,6 +274,7 @@ declare module '@polkadot/types/types/registry' {
ContractEventSpecV0: ContractEventSpecV0;
ContractEventSpecV1: ContractEventSpecV1;
ContractEventSpecV2: ContractEventSpecV2;
ContractEventSpecV3: ContractEventSpecV3;
ContractExecResult: ContractExecResult;
ContractExecResultOk: ContractExecResultOk;
ContractExecResultResult: ContractExecResultResult;
@@ -310,6 +312,7 @@ declare module '@polkadot/types/types/registry' {
ContractMetadataV2: ContractMetadataV2;
ContractMetadataV3: ContractMetadataV3;
ContractMetadataV4: ContractMetadataV4;
ContractMetadataV5: ContractMetadataV5;
ContractProject: ContractProject;
ContractProjectContract: ContractProjectContract;
ContractProjectInfo: ContractProjectInfo;
+4 -4
View File
@@ -18,7 +18,7 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/util": "^12.6.2",
@@ -26,9 +26,9 @@
"tslib": "^2.6.2"
},
"devDependencies": {
"@polkadot/types": "10.11.3",
"@polkadot/types-augment": "10.11.3",
"@polkadot/types-support": "10.11.3",
"@polkadot/types": "10.12.1",
"@polkadot/types-augment": "10.12.1",
"@polkadot/types-support": "10.12.1",
"@polkadot/util-crypto": "^12.6.2"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '10.12.1' };
+3 -3
View File
@@ -18,14 +18,14 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/types-codec": "10.11.3",
"@polkadot/types-codec": "10.12.1",
"@polkadot/util": "^12.6.2",
"tslib": "^2.6.2"
},
"devDependencies": {
"@polkadot/types": "10.11.3"
"@polkadot/types": "10.12.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '10.12.1' };
+5 -5
View File
@@ -18,17 +18,17 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/networks": "^12.6.2",
"@polkadot/types": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/types-create": "10.11.3",
"@polkadot/types": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/types-create": "10.12.1",
"@polkadot/util": "^12.6.2",
"tslib": "^2.6.2"
},
"devDependencies": {
"@polkadot/api": "10.11.3"
"@polkadot/api": "10.12.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '10.12.1' };
+1 -1
View File
@@ -18,7 +18,7 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/util": "^12.6.2",
@@ -0,0 +1,10 @@
// Copyright 2017-2024 @polkadot/types-support authors & contributors
// SPDX-License-Identifier: Apache-2.0
import metadata from './v14/substrate-contracts-node-hex.js';
import rpc from './v14/substrate-contracts-node-rpc.js';
import version from './v14/substrate-contracts-node-ver.js';
export { rpc, version };
export default metadata;
File diff suppressed because one or more lines are too long
@@ -0,0 +1,108 @@
// Copyright 2017-2024 @polkadot/types-support authors & contributors
// SPDX-License-Identifier: Apache-2.0
/* eslint-disable */
// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev
export default {
"methods": [
"account_nextIndex",
"author_hasKey",
"author_hasSessionKeys",
"author_insertKey",
"author_pendingExtrinsics",
"author_removeExtrinsic",
"author_rotateKeys",
"author_submitAndWatchExtrinsic",
"author_submitExtrinsic",
"author_unwatchExtrinsic",
"chainHead_unstable_body",
"chainHead_unstable_call",
"chainHead_unstable_continue",
"chainHead_unstable_follow",
"chainHead_unstable_genesisHash",
"chainHead_unstable_header",
"chainHead_unstable_stopOperation",
"chainHead_unstable_storage",
"chainHead_unstable_unfollow",
"chainHead_unstable_unpin",
"chain_getBlock",
"chain_getBlockHash",
"chain_getFinalisedHead",
"chain_getFinalizedHead",
"chain_getHead",
"chain_getHeader",
"chain_getRuntimeVersion",
"chain_subscribeAllHeads",
"chain_subscribeFinalisedHeads",
"chain_subscribeFinalizedHeads",
"chain_subscribeNewHead",
"chain_subscribeNewHeads",
"chain_subscribeRuntimeVersion",
"chain_unsubscribeAllHeads",
"chain_unsubscribeFinalisedHeads",
"chain_unsubscribeFinalizedHeads",
"chain_unsubscribeNewHead",
"chain_unsubscribeNewHeads",
"chain_unsubscribeRuntimeVersion",
"childstate_getKeys",
"childstate_getKeysPaged",
"childstate_getKeysPagedAt",
"childstate_getStorage",
"childstate_getStorageEntries",
"childstate_getStorageHash",
"childstate_getStorageSize",
"offchain_localStorageGet",
"offchain_localStorageSet",
"payment_queryFeeDetails",
"payment_queryInfo",
"state_call",
"state_callAt",
"state_getChildReadProof",
"state_getKeys",
"state_getKeysPaged",
"state_getKeysPagedAt",
"state_getMetadata",
"state_getPairs",
"state_getReadProof",
"state_getRuntimeVersion",
"state_getStorage",
"state_getStorageAt",
"state_getStorageHash",
"state_getStorageHashAt",
"state_getStorageSize",
"state_getStorageSizeAt",
"state_queryStorage",
"state_queryStorageAt",
"state_subscribeRuntimeVersion",
"state_subscribeStorage",
"state_traceBlock",
"state_unsubscribeRuntimeVersion",
"state_unsubscribeStorage",
"subscribe_newHead",
"system_accountNextIndex",
"system_addLogFilter",
"system_addReservedPeer",
"system_chain",
"system_chainType",
"system_dryRun",
"system_dryRunAt",
"system_health",
"system_localListenAddresses",
"system_localPeerId",
"system_name",
"system_nodeRoles",
"system_peers",
"system_properties",
"system_removeReservedPeer",
"system_reservedPeers",
"system_resetLogFilter",
"system_syncState",
"system_unstable_networkState",
"system_version",
"transaction_unstable_submitAndWatch",
"transaction_unstable_unwatch",
"unsubscribe_newHead"
]
};
@@ -0,0 +1,58 @@
// Copyright 2017-2024 @polkadot/types-support authors & contributors
// SPDX-License-Identifier: Apache-2.0
/* eslint-disable */
// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev
export default {
"specName": "substrate-contracts-node",
"implName": "substrate-contracts-node",
"authoringVersion": 1,
"specVersion": 100,
"implVersion": 1,
"apis": [
[
"0xdf6acb689907609b",
4
],
[
"0x37e397fc7c91f5e4",
2
],
[
"0x40fe3ad401f8959a",
6
],
[
"0xd2bc9897eed08f15",
3
],
[
"0xf78b278be53f454c",
2
],
[
"0xab3c0572291feb8b",
1
],
[
"0xbc9d89904f5b923f",
1
],
[
"0x37c8bb1350a9a2a8",
4
],
[
"0xf3ff14d5ab527059",
3
],
[
"0x68b66ba122c93fa7",
2
]
],
"transactionVersion": 1,
"stateVersion": 1
};
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '10.12.1' };
+5 -5
View File
@@ -18,13 +18,13 @@
"./packageDetect.cjs"
],
"type": "module",
"version": "10.11.3",
"version": "10.12.1",
"main": "index.js",
"dependencies": {
"@polkadot/keyring": "^12.6.2",
"@polkadot/types-augment": "10.11.3",
"@polkadot/types-codec": "10.11.3",
"@polkadot/types-create": "10.11.3",
"@polkadot/types-augment": "10.12.1",
"@polkadot/types-codec": "10.12.1",
"@polkadot/types-create": "10.12.1",
"@polkadot/util": "^12.6.2",
"@polkadot/util-crypto": "^12.6.2",
"rxjs": "^7.8.1",
@@ -32,6 +32,6 @@
},
"devDependencies": {
"@polkadot/keyring": "^12.6.2",
"@polkadot/types-support": "10.11.3"
"@polkadot/types-support": "10.12.1"
}
}
@@ -120,6 +120,13 @@ const spec = {
docs: 'Vec<Text>',
environment: 'ContractEnvironmentV4'
},
ContractContractSpecV5: {
constructors: 'Vec<ContractConstructorSpecV4>',
messages: 'Vec<ContractMessageSpecV3>',
events: 'Vec<ContractEventSpecV3>',
docs: 'Vec<Text>',
environment: 'ContractEnvironmentV4'
},
ContractDisplayName: 'SiPath',
ContractEventParamSpecV0: {
@@ -149,6 +156,13 @@ const spec = {
args: 'Vec<ContractEventParamSpecV2>',
docs: 'Vec<Text>'
},
ContractEventSpecV3: {
label: 'Text',
args: 'Vec<ContractEventParamSpecV2>',
docs: 'Vec<Text>',
module_path: 'Text',
signature_topic: 'Option<[u8; 32]>'
},
ContractMessageParamSpecV0: {
name: 'Text',
type: 'ContractTypeSpec'
@@ -203,11 +217,11 @@ const spec = {
const latest = {
ContractConstructorSpecLatest: 'ContractConstructorSpecV4',
ContractEventSpecLatest: 'ContractEventSpecV2',
ContractEventSpecLatest: 'ContractEventSpecV3',
ContractEventParamSpecLatest: 'ContractEventParamSpecV2',
ContractMessageParamSpecLatest: 'ContractMessageParamSpecV2',
ContractMessageSpecLatest: 'ContractMessageSpecV3',
ContractMetadataLatest: 'ContractMetadataV4'
ContractMetadataLatest: 'ContractMetadataV5'
};
export default {
@@ -239,7 +253,13 @@ export default {
},
ContractMetadataV4: {
types: 'Vec<PortableType>',
spec: 'ContractContractSpecV4'
spec: 'ContractContractSpecV4',
version: 'Text'
},
ContractMetadataV5: {
types: 'Vec<PortableType>',
spec: 'ContractContractSpecV5',
version: 'u64'
},
ContractMetadata: {
_enum: {
@@ -247,7 +267,8 @@ export default {
V1: 'ContractMetadataV1',
V2: 'ContractMetadataV2',
V3: 'ContractMetadataV3',
V4: 'ContractMetadataV4'
V4: 'ContractMetadataV4',
V5: 'ContractMetadataV5'
}
},
ContractProjectV0: {
@@ -94,6 +94,15 @@ export interface ContractContractSpecV4 extends Struct {
readonly environment: ContractEnvironmentV4;
}
/** @name ContractContractSpecV5 */
export interface ContractContractSpecV5 extends Struct {
readonly constructors: Vec<ContractConstructorSpecV4>;
readonly messages: Vec<ContractMessageSpecV3>;
readonly events: Vec<ContractEventSpecV3>;
readonly docs: Vec<Text>;
readonly environment: ContractEnvironmentV4;
}
/** @name ContractCryptoHasher */
export interface ContractCryptoHasher extends Enum {
readonly isBlake2x256: boolean;
@@ -138,7 +147,7 @@ export interface ContractEventParamSpecV2 extends Struct {
}
/** @name ContractEventSpecLatest */
export interface ContractEventSpecLatest extends ContractEventSpecV2 {}
export interface ContractEventSpecLatest extends ContractEventSpecV3 {}
/** @name ContractEventSpecV0 */
export interface ContractEventSpecV0 extends Struct {
@@ -161,6 +170,15 @@ export interface ContractEventSpecV2 extends Struct {
readonly docs: Vec<Text>;
}
/** @name ContractEventSpecV3 */
export interface ContractEventSpecV3 extends Struct {
readonly label: Text;
readonly args: Vec<ContractEventParamSpecV2>;
readonly docs: Vec<Text>;
readonly module_path: Text;
readonly signature_topic: Option<U8aFixed>;
}
/** @name ContractLayoutArray */
export interface ContractLayoutArray extends Struct {
readonly offset: ContractLayoutKey;
@@ -284,11 +302,13 @@ export interface ContractMetadata extends Enum {
readonly asV3: ContractMetadataV3;
readonly isV4: boolean;
readonly asV4: ContractMetadataV4;
readonly type: 'V0' | 'V1' | 'V2' | 'V3' | 'V4';
readonly isV5: boolean;
readonly asV5: ContractMetadataV5;
readonly type: 'V0' | 'V1' | 'V2' | 'V3' | 'V4' | 'V5';
}
/** @name ContractMetadataLatest */
export interface ContractMetadataLatest extends ContractMetadataV4 {}
export interface ContractMetadataLatest extends ContractMetadataV5 {}
/** @name ContractMetadataV0 */
export interface ContractMetadataV0 extends Struct {
@@ -319,6 +339,14 @@ export interface ContractMetadataV3 extends Struct {
export interface ContractMetadataV4 extends Struct {
readonly types: Vec<PortableType>;
readonly spec: ContractContractSpecV4;
readonly version: Text;
}
/** @name ContractMetadataV5 */
export interface ContractMetadataV5 extends Struct {
readonly types: Vec<PortableType>;
readonly spec: ContractContractSpecV5;
readonly version: u64;
}
/** @name ContractProject */
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '10.11.3' };
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '10.12.1' };
+2 -1
View File
@@ -9,7 +9,8 @@ const PREAMBLE = '// Copyright 2017-2024 @polkadot/types-support authors & contr
const CMD = {
kusama: `${PREAMBLE}// cargo run --release -- purge-chain -y --chain kusama-dev && cargo run --release -- --chain kusama-dev --alice --force-authoring\n\nexport default`,
polkadot: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default`,
substrate: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default`
substrate: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default`,
'substrate-contracts-node': `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default`
};
let requestId = 0;
+79 -78
View File
@@ -444,26 +444,26 @@ __metadata:
languageName: node
linkType: hard
"@polkadot/api-augment@npm:10.11.3, @polkadot/api-augment@workspace:packages/api-augment":
"@polkadot/api-augment@npm:10.12.1, @polkadot/api-augment@workspace:packages/api-augment":
version: 0.0.0-use.local
resolution: "@polkadot/api-augment@workspace:packages/api-augment"
dependencies:
"@polkadot/api-base": "npm:10.11.3"
"@polkadot/rpc-augment": "npm:10.11.3"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-augment": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/api-base": "npm:10.12.1"
"@polkadot/rpc-augment": "npm:10.12.1"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-augment": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
tslib: "npm:^2.6.2"
languageName: unknown
linkType: soft
"@polkadot/api-base@npm:10.11.3, @polkadot/api-base@workspace:packages/api-base":
"@polkadot/api-base@npm:10.12.1, @polkadot/api-base@workspace:packages/api-base":
version: 0.0.0-use.local
resolution: "@polkadot/api-base@workspace:packages/api-base"
dependencies:
"@polkadot/rpc-core": "npm:10.11.3"
"@polkadot/types": "npm:10.11.3"
"@polkadot/rpc-core": "npm:10.12.1"
"@polkadot/types": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
rxjs: "npm:^7.8.1"
tslib: "npm:^2.6.2"
@@ -474,12 +474,13 @@ __metadata:
version: 0.0.0-use.local
resolution: "@polkadot/api-contract@workspace:packages/api-contract"
dependencies:
"@polkadot/api": "npm:10.11.3"
"@polkadot/api-augment": "npm:10.11.3"
"@polkadot/api": "npm:10.12.1"
"@polkadot/api-augment": "npm:10.12.1"
"@polkadot/keyring": "npm:^12.6.2"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types-create": "npm:10.11.3"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/types-create": "npm:10.12.1"
"@polkadot/types-support": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
"@polkadot/util-crypto": "npm:^12.6.2"
rxjs: "npm:^7.8.1"
@@ -487,19 +488,19 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/api-derive@npm:10.11.3, @polkadot/api-derive@workspace:packages/api-derive":
"@polkadot/api-derive@npm:10.12.1, @polkadot/api-derive@workspace:packages/api-derive":
version: 0.0.0-use.local
resolution: "@polkadot/api-derive@workspace:packages/api-derive"
dependencies:
"@polkadot/api": "npm:10.11.3"
"@polkadot/api-augment": "npm:10.11.3"
"@polkadot/api-base": "npm:10.11.3"
"@polkadot/rpc-augment": "npm:10.11.3"
"@polkadot/rpc-core": "npm:10.11.3"
"@polkadot/rpc-provider": "npm:10.11.3"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types-support": "npm:10.11.3"
"@polkadot/api": "npm:10.12.1"
"@polkadot/api-augment": "npm:10.12.1"
"@polkadot/api-base": "npm:10.12.1"
"@polkadot/rpc-augment": "npm:10.12.1"
"@polkadot/rpc-core": "npm:10.12.1"
"@polkadot/rpc-provider": "npm:10.12.1"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/types-support": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
"@polkadot/util-crypto": "npm:^12.6.2"
rxjs: "npm:^7.8.1"
@@ -507,23 +508,23 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/api@npm:10.11.3, @polkadot/api@workspace:packages/api":
"@polkadot/api@npm:10.12.1, @polkadot/api@workspace:packages/api":
version: 0.0.0-use.local
resolution: "@polkadot/api@workspace:packages/api"
dependencies:
"@polkadot/api-augment": "npm:10.11.3"
"@polkadot/api-base": "npm:10.11.3"
"@polkadot/api-derive": "npm:10.11.3"
"@polkadot/api-augment": "npm:10.12.1"
"@polkadot/api-base": "npm:10.12.1"
"@polkadot/api-derive": "npm:10.12.1"
"@polkadot/keyring": "npm:^12.6.2"
"@polkadot/rpc-augment": "npm:10.11.3"
"@polkadot/rpc-core": "npm:10.11.3"
"@polkadot/rpc-provider": "npm:10.11.3"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-augment": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types-create": "npm:10.11.3"
"@polkadot/types-known": "npm:10.11.3"
"@polkadot/types-support": "npm:10.11.3"
"@polkadot/rpc-augment": "npm:10.12.1"
"@polkadot/rpc-core": "npm:10.12.1"
"@polkadot/rpc-provider": "npm:10.12.1"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-augment": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/types-create": "npm:10.12.1"
"@polkadot/types-known": "npm:10.12.1"
"@polkadot/types-support": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
"@polkadot/util-crypto": "npm:^12.6.2"
eventemitter3: "npm:^5.0.1"
@@ -653,39 +654,39 @@ __metadata:
languageName: node
linkType: hard
"@polkadot/rpc-augment@npm:10.11.3, @polkadot/rpc-augment@workspace:packages/rpc-augment":
"@polkadot/rpc-augment@npm:10.12.1, @polkadot/rpc-augment@workspace:packages/rpc-augment":
version: 0.0.0-use.local
resolution: "@polkadot/rpc-augment@workspace:packages/rpc-augment"
dependencies:
"@polkadot/rpc-core": "npm:10.11.3"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/rpc-core": "npm:10.12.1"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
tslib: "npm:^2.6.2"
languageName: unknown
linkType: soft
"@polkadot/rpc-core@npm:10.11.3, @polkadot/rpc-core@workspace:packages/rpc-core":
"@polkadot/rpc-core@npm:10.12.1, @polkadot/rpc-core@workspace:packages/rpc-core":
version: 0.0.0-use.local
resolution: "@polkadot/rpc-core@workspace:packages/rpc-core"
dependencies:
"@polkadot/keyring": "npm:^12.6.2"
"@polkadot/rpc-augment": "npm:10.11.3"
"@polkadot/rpc-provider": "npm:10.11.3"
"@polkadot/types": "npm:10.11.3"
"@polkadot/rpc-augment": "npm:10.12.1"
"@polkadot/rpc-provider": "npm:10.12.1"
"@polkadot/types": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
rxjs: "npm:^7.8.1"
tslib: "npm:^2.6.2"
languageName: unknown
linkType: soft
"@polkadot/rpc-provider@npm:10.11.3, @polkadot/rpc-provider@workspace:packages/rpc-provider":
"@polkadot/rpc-provider@npm:10.12.1, @polkadot/rpc-provider@workspace:packages/rpc-provider":
version: 0.0.0-use.local
resolution: "@polkadot/rpc-provider@workspace:packages/rpc-provider"
dependencies:
"@polkadot/keyring": "npm:^12.6.2"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-support": "npm:10.11.3"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-support": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
"@polkadot/util-crypto": "npm:^12.6.2"
"@polkadot/x-fetch": "npm:^12.6.2"
@@ -706,15 +707,15 @@ __metadata:
version: 0.0.0-use.local
resolution: "@polkadot/typegen@workspace:packages/typegen"
dependencies:
"@polkadot/api": "npm:10.11.3"
"@polkadot/api-augment": "npm:10.11.3"
"@polkadot/rpc-augment": "npm:10.11.3"
"@polkadot/rpc-provider": "npm:10.11.3"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-augment": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types-create": "npm:10.11.3"
"@polkadot/types-support": "npm:10.11.3"
"@polkadot/api": "npm:10.12.1"
"@polkadot/api-augment": "npm:10.12.1"
"@polkadot/rpc-augment": "npm:10.12.1"
"@polkadot/rpc-provider": "npm:10.12.1"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-augment": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/types-create": "npm:10.12.1"
"@polkadot/types-support": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
"@polkadot/util-crypto": "npm:^12.6.2"
"@polkadot/x-ws": "npm:^12.6.2"
@@ -731,24 +732,24 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/types-augment@npm:10.11.3, @polkadot/types-augment@workspace:packages/types-augment":
"@polkadot/types-augment@npm:10.12.1, @polkadot/types-augment@workspace:packages/types-augment":
version: 0.0.0-use.local
resolution: "@polkadot/types-augment@workspace:packages/types-augment"
dependencies:
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
tslib: "npm:^2.6.2"
languageName: unknown
linkType: soft
"@polkadot/types-codec@npm:10.11.3, @polkadot/types-codec@workspace:packages/types-codec":
"@polkadot/types-codec@npm:10.12.1, @polkadot/types-codec@workspace:packages/types-codec":
version: 0.0.0-use.local
resolution: "@polkadot/types-codec@workspace:packages/types-codec"
dependencies:
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-augment": "npm:10.11.3"
"@polkadot/types-support": "npm:10.11.3"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-augment": "npm:10.12.1"
"@polkadot/types-support": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
"@polkadot/util-crypto": "npm:^12.6.2"
"@polkadot/x-bigint": "npm:^12.6.2"
@@ -756,32 +757,32 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/types-create@npm:10.11.3, @polkadot/types-create@workspace:packages/types-create":
"@polkadot/types-create@npm:10.12.1, @polkadot/types-create@workspace:packages/types-create":
version: 0.0.0-use.local
resolution: "@polkadot/types-create@workspace:packages/types-create"
dependencies:
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
tslib: "npm:^2.6.2"
languageName: unknown
linkType: soft
"@polkadot/types-known@npm:10.11.3, @polkadot/types-known@workspace:packages/types-known":
"@polkadot/types-known@npm:10.12.1, @polkadot/types-known@workspace:packages/types-known":
version: 0.0.0-use.local
resolution: "@polkadot/types-known@workspace:packages/types-known"
dependencies:
"@polkadot/api": "npm:10.11.3"
"@polkadot/api": "npm:10.12.1"
"@polkadot/networks": "npm:^12.6.2"
"@polkadot/types": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types-create": "npm:10.11.3"
"@polkadot/types": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/types-create": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
tslib: "npm:^2.6.2"
languageName: unknown
linkType: soft
"@polkadot/types-support@npm:10.11.3, @polkadot/types-support@workspace:packages/types-support":
"@polkadot/types-support@npm:10.12.1, @polkadot/types-support@workspace:packages/types-support":
version: 0.0.0-use.local
resolution: "@polkadot/types-support@workspace:packages/types-support"
dependencies:
@@ -790,15 +791,15 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/types@npm:10.11.3, @polkadot/types@workspace:packages/types":
"@polkadot/types@npm:10.12.1, @polkadot/types@workspace:packages/types":
version: 0.0.0-use.local
resolution: "@polkadot/types@workspace:packages/types"
dependencies:
"@polkadot/keyring": "npm:^12.6.2"
"@polkadot/types-augment": "npm:10.11.3"
"@polkadot/types-codec": "npm:10.11.3"
"@polkadot/types-create": "npm:10.11.3"
"@polkadot/types-support": "npm:10.11.3"
"@polkadot/types-augment": "npm:10.12.1"
"@polkadot/types-codec": "npm:10.12.1"
"@polkadot/types-create": "npm:10.12.1"
"@polkadot/types-support": "npm:10.12.1"
"@polkadot/util": "npm:^12.6.2"
"@polkadot/util-crypto": "npm:^12.6.2"
rxjs: "npm:^7.8.1"