@talismn/sapi 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,6 @@
1
1
  import { ExtDef } from "@polkadot/types/extrinsic/signedExtensions/types";
2
- import { getDynamicBuilder, getLookupFn, V14, V15 } from "@talismn/scale";
2
+ import { getDynamicBuilder, getLookupFn, UnifiedMetadata } from "@talismn/scale";
3
3
  import { SapiConnector } from "./getSapiConnector";
4
- export type ScaleMetadata = V14 | V15;
5
4
  export type ScaleBuilder = ReturnType<typeof getDynamicBuilder>;
6
5
  export type ScaleLookup = ReturnType<typeof getLookupFn>;
7
6
  export type Chain = {
@@ -14,7 +13,7 @@ export type Chain = {
14
13
  hasCheckMetadataHash?: boolean;
15
14
  signedExtensions?: ExtDef;
16
15
  registryTypes?: unknown;
17
- metadata: ScaleMetadata;
16
+ metadata: UnifiedMetadata;
18
17
  lookup: ScaleLookup;
19
18
  builder: ScaleBuilder;
20
19
  };
@@ -23,7 +23,7 @@ const getCallDocs = (chain, pallet, method) => {
23
23
  try {
24
24
  const typeIdCalls = chain.metadata.pallets.find(({
25
25
  name
26
- }) => name === pallet)?.calls;
26
+ }) => name === pallet)?.calls?.type;
27
27
  if (!typeIdCalls) return null;
28
28
 
29
29
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -375,7 +375,7 @@ const getPayloadWithMetadataHash = (chain, chainInfo, payload) => {
375
375
 
376
376
  // TODO do this without PJS / registry => waiting for @polkadot-api/tx-utils
377
377
  // const { extra, additionalSigned } = getSignedExtensionValues(payload, metadata)
378
- // const badExtPayload = mergeUint8(fromHex(payload.method), ...extra, ...additionalSigned)
378
+ // const badExtPayload = mergeUint8([fromHex(payload.method), ...extra, ...additionalSigned])
379
379
 
380
380
  const registry = getTypeRegistry(chain, payload);
381
381
  const extPayload = registry.createType("ExtrinsicPayload", payloadWithMetadataHash);
@@ -435,7 +435,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
435
435
  codec,
436
436
  location
437
437
  } = chain.builder.buildCall(palletName, methodName);
438
- const method = polkadotApi.Binary.fromBytes(utils.mergeUint8(new Uint8Array(location), codec.enc(args)));
438
+ const method = polkadotApi.Binary.fromBytes(utils.mergeUint8([new Uint8Array(location), codec.enc(args)]));
439
439
  const blockNumber = await getStorageValue(chain, "System", "Number", []);
440
440
  if (blockNumber === null) throw new Error("Block number not found");
441
441
  const [account, genesisHash, blockHash] = await Promise.all([
@@ -485,11 +485,8 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
485
485
  };
486
486
 
487
487
  const getScaleApi = (connector, hexMetadata, token, hasCheckMetadataHash, signedExtensions, registryTypes) => {
488
- const decoded = scale.decodeMetadata(hexMetadata);
489
- util.assert(decoded.metadata, `Missing Metadata V14+ for chain ${connector.chainId}`);
490
- const {
491
- metadata
492
- } = decoded;
488
+ const metadata = scale.unifyMetadata(scale.decAnyMetadata(hexMetadata));
489
+ util.assert(metadata, `Missing Metadata V14+ for chain ${connector.chainId}`);
493
490
  const lookup = scale.getLookupFn(metadata);
494
491
  const builder = scale.getDynamicBuilder(lookup);
495
492
  const chain = {
@@ -23,7 +23,7 @@ const getCallDocs = (chain, pallet, method) => {
23
23
  try {
24
24
  const typeIdCalls = chain.metadata.pallets.find(({
25
25
  name
26
- }) => name === pallet)?.calls;
26
+ }) => name === pallet)?.calls?.type;
27
27
  if (!typeIdCalls) return null;
28
28
 
29
29
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -375,7 +375,7 @@ const getPayloadWithMetadataHash = (chain, chainInfo, payload) => {
375
375
 
376
376
  // TODO do this without PJS / registry => waiting for @polkadot-api/tx-utils
377
377
  // const { extra, additionalSigned } = getSignedExtensionValues(payload, metadata)
378
- // const badExtPayload = mergeUint8(fromHex(payload.method), ...extra, ...additionalSigned)
378
+ // const badExtPayload = mergeUint8([fromHex(payload.method), ...extra, ...additionalSigned])
379
379
 
380
380
  const registry = getTypeRegistry(chain, payload);
381
381
  const extPayload = registry.createType("ExtrinsicPayload", payloadWithMetadataHash);
@@ -435,7 +435,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
435
435
  codec,
436
436
  location
437
437
  } = chain.builder.buildCall(palletName, methodName);
438
- const method = polkadotApi.Binary.fromBytes(utils.mergeUint8(new Uint8Array(location), codec.enc(args)));
438
+ const method = polkadotApi.Binary.fromBytes(utils.mergeUint8([new Uint8Array(location), codec.enc(args)]));
439
439
  const blockNumber = await getStorageValue(chain, "System", "Number", []);
440
440
  if (blockNumber === null) throw new Error("Block number not found");
441
441
  const [account, genesisHash, blockHash] = await Promise.all([
@@ -485,11 +485,8 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
485
485
  };
486
486
 
487
487
  const getScaleApi = (connector, hexMetadata, token, hasCheckMetadataHash, signedExtensions, registryTypes) => {
488
- const decoded = scale.decodeMetadata(hexMetadata);
489
- util.assert(decoded.metadata, `Missing Metadata V14+ for chain ${connector.chainId}`);
490
- const {
491
- metadata
492
- } = decoded;
488
+ const metadata = scale.unifyMetadata(scale.decAnyMetadata(hexMetadata));
489
+ util.assert(metadata, `Missing Metadata V14+ for chain ${connector.chainId}`);
493
490
  const lookup = scale.getLookupFn(metadata);
494
491
  const builder = scale.getDynamicBuilder(lookup);
495
492
  const chain = {
@@ -1,5 +1,5 @@
1
1
  import { assert, u8aConcatStrict } from '@polkadot/util';
2
- import { decodeMetadata, getLookupFn as getLookupFn$1, getDynamicBuilder } from '@talismn/scale';
2
+ import { unifyMetadata, decAnyMetadata, getLookupFn as getLookupFn$1, getDynamicBuilder } from '@talismn/scale';
3
3
  import anylogger from 'anylogger';
4
4
  import { Enum, Binary } from 'polkadot-api';
5
5
  import { getLookupFn } from '@polkadot-api/metadata-builders';
@@ -17,7 +17,7 @@ const getCallDocs = (chain, pallet, method) => {
17
17
  try {
18
18
  const typeIdCalls = chain.metadata.pallets.find(({
19
19
  name
20
- }) => name === pallet)?.calls;
20
+ }) => name === pallet)?.calls?.type;
21
21
  if (!typeIdCalls) return null;
22
22
 
23
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -369,7 +369,7 @@ const getPayloadWithMetadataHash = (chain, chainInfo, payload) => {
369
369
 
370
370
  // TODO do this without PJS / registry => waiting for @polkadot-api/tx-utils
371
371
  // const { extra, additionalSigned } = getSignedExtensionValues(payload, metadata)
372
- // const badExtPayload = mergeUint8(fromHex(payload.method), ...extra, ...additionalSigned)
372
+ // const badExtPayload = mergeUint8([fromHex(payload.method), ...extra, ...additionalSigned])
373
373
 
374
374
  const registry = getTypeRegistry(chain, payload);
375
375
  const extPayload = registry.createType("ExtrinsicPayload", payloadWithMetadataHash);
@@ -429,7 +429,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
429
429
  codec,
430
430
  location
431
431
  } = chain.builder.buildCall(palletName, methodName);
432
- const method = Binary.fromBytes(mergeUint8(new Uint8Array(location), codec.enc(args)));
432
+ const method = Binary.fromBytes(mergeUint8([new Uint8Array(location), codec.enc(args)]));
433
433
  const blockNumber = await getStorageValue(chain, "System", "Number", []);
434
434
  if (blockNumber === null) throw new Error("Block number not found");
435
435
  const [account, genesisHash, blockHash] = await Promise.all([
@@ -479,11 +479,8 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
479
479
  };
480
480
 
481
481
  const getScaleApi = (connector, hexMetadata, token, hasCheckMetadataHash, signedExtensions, registryTypes) => {
482
- const decoded = decodeMetadata(hexMetadata);
483
- assert(decoded.metadata, `Missing Metadata V14+ for chain ${connector.chainId}`);
484
- const {
485
- metadata
486
- } = decoded;
482
+ const metadata = unifyMetadata(decAnyMetadata(hexMetadata));
483
+ assert(metadata, `Missing Metadata V14+ for chain ${connector.chainId}`);
487
484
  const lookup = getLookupFn$1(metadata);
488
485
  const builder = getDynamicBuilder(lookup);
489
486
  const chain = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/sapi",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -21,16 +21,16 @@
21
21
  "node": ">=18"
22
22
  },
23
23
  "dependencies": {
24
- "@polkadot-api/merkleize-metadata": "1.1.14",
25
- "@polkadot-api/metadata-builders": "0.10.2",
26
- "@polkadot-api/substrate-bindings": "0.11.1",
27
- "@polkadot-api/utils": "0.1.2",
28
- "@polkadot/types": "15.8.1",
29
- "@polkadot/types-codec": "15.8.1",
30
- "@polkadot/util": "13.4.3",
24
+ "@polkadot-api/merkleize-metadata": "1.1.18",
25
+ "@polkadot-api/metadata-builders": "0.12.2",
26
+ "@polkadot-api/substrate-bindings": "0.14.0",
27
+ "@polkadot-api/utils": "0.2.0",
28
+ "@polkadot/types": "16.1.2",
29
+ "@polkadot/types-codec": "16.1.2",
30
+ "@polkadot/util": "13.5.1",
31
31
  "anylogger": "^1.0.11",
32
- "polkadot-api": "1.7.6",
33
- "@talismn/scale": "0.1.1"
32
+ "polkadot-api": "1.13.1",
33
+ "@talismn/scale": "0.1.2"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/jest": "^29.5.14",