@talismn/sapi 0.0.9 → 0.0.11

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.
@@ -3,5 +3,6 @@ import { PayloadSignerConfig } from "../types";
3
3
  import { Chain, ChainInfo } from "./types";
4
4
  export declare const getSignerPayloadJSON: (chain: Chain, palletName: string, methodName: string, args: unknown, signerConfig: PayloadSignerConfig, chainInfo: ChainInfo) => Promise<{
5
5
  payload: SignerPayloadJSON;
6
- txMetadata?: Uint8Array;
6
+ txMetadata: Uint8Array | undefined;
7
+ shortMetadata: `0x${string}` | undefined;
7
8
  }>;
@@ -32,7 +32,8 @@ export declare const getScaleApi: (connector: SapiConnectorProps, hexMetadata: `
32
32
  }) => Res;
33
33
  getExtrinsicPayload: (pallet: string, method: string, args: unknown, config: PayloadSignerConfig) => Promise<{
34
34
  payload: SignerPayloadJSON;
35
- txMetadata?: Uint8Array;
35
+ txMetadata: Uint8Array | undefined;
36
+ shortMetadata: `0x${string}` | undefined;
36
37
  }>;
37
38
  getFeeEstimate: (payload: SignerPayloadJSON) => Promise<bigint>;
38
39
  getRuntimeCallValue: <T>(apiName: string, method: string, args: unknown[]) => Promise<T>;
@@ -44,24 +44,10 @@ const getCallDocs = (chain, pallet, method) => {
44
44
  };
45
45
 
46
46
  const getConstantValue = (chain, pallet, constant) => {
47
- try {
48
- const storageCodec = chain.builder.buildConstant(pallet, constant);
49
- const encodedValue = chain.metadata.pallets.find(({
50
- name
51
- }) => name === pallet)?.constants.find(({
52
- name
53
- }) => name === constant)?.value;
54
- if (!encodedValue) throw new Error(`Constant ${pallet}.${constant} not found`);
55
- return storageCodec.dec(encodedValue);
56
- } catch (err) {
57
- log.error("Failed to get constant value", {
58
- err,
59
- chainId: chain.connector.chainId,
60
- pallet,
61
- constant
62
- });
63
- throw err;
64
- }
47
+ return scale.getConstantValueFromMetadata({
48
+ builder: chain.builder,
49
+ unifiedMetadata: chain.metadata
50
+ }, pallet, constant);
65
51
  };
66
52
 
67
53
  const getChainInfo = chain => {
@@ -478,6 +464,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
478
464
  payload,
479
465
  txMetadata
480
466
  } = getPayloadWithMetadataHash(chain, chainInfo, basePayload);
467
+ const shortMetadata = txMetadata ? util.u8aToHex(txMetadata) : undefined;
481
468
 
482
469
  // Avail support
483
470
  if (payload.signedExtensions.includes("CheckAppId")) payload.appId = 0;
@@ -487,7 +474,9 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
487
474
  });
488
475
  return {
489
476
  payload,
490
- txMetadata
477
+ txMetadata,
478
+ // TODO remove
479
+ shortMetadata
491
480
  };
492
481
  };
493
482
 
@@ -44,24 +44,10 @@ const getCallDocs = (chain, pallet, method) => {
44
44
  };
45
45
 
46
46
  const getConstantValue = (chain, pallet, constant) => {
47
- try {
48
- const storageCodec = chain.builder.buildConstant(pallet, constant);
49
- const encodedValue = chain.metadata.pallets.find(({
50
- name
51
- }) => name === pallet)?.constants.find(({
52
- name
53
- }) => name === constant)?.value;
54
- if (!encodedValue) throw new Error(`Constant ${pallet}.${constant} not found`);
55
- return storageCodec.dec(encodedValue);
56
- } catch (err) {
57
- log.error("Failed to get constant value", {
58
- err,
59
- chainId: chain.connector.chainId,
60
- pallet,
61
- constant
62
- });
63
- throw err;
64
- }
47
+ return scale.getConstantValueFromMetadata({
48
+ builder: chain.builder,
49
+ unifiedMetadata: chain.metadata
50
+ }, pallet, constant);
65
51
  };
66
52
 
67
53
  const getChainInfo = chain => {
@@ -478,6 +464,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
478
464
  payload,
479
465
  txMetadata
480
466
  } = getPayloadWithMetadataHash(chain, chainInfo, basePayload);
467
+ const shortMetadata = txMetadata ? util.u8aToHex(txMetadata) : undefined;
481
468
 
482
469
  // Avail support
483
470
  if (payload.signedExtensions.includes("CheckAppId")) payload.appId = 0;
@@ -487,7 +474,9 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
487
474
  });
488
475
  return {
489
476
  payload,
490
- txMetadata
477
+ txMetadata,
478
+ // TODO remove
479
+ shortMetadata
491
480
  };
492
481
  };
493
482
 
@@ -1,9 +1,9 @@
1
- import { parseMetadataRpc } from '@talismn/scale';
1
+ import { getConstantValueFromMetadata, parseMetadataRpc } from '@talismn/scale';
2
2
  import anylogger from 'anylogger';
3
3
  import { Enum, Binary } from 'polkadot-api';
4
4
  import { getLookupFn } from '@polkadot-api/metadata-builders';
5
5
  import { toHex, mergeUint8 } from '@polkadot-api/utils';
6
- import { assert, u8aConcatStrict } from '@polkadot/util';
6
+ import { assert, u8aConcatStrict, u8aToHex } from '@polkadot/util';
7
7
  import { TypeRegistry, Metadata } from '@polkadot/types';
8
8
  import { merkleizeMetadata } from '@polkadot-api/merkleize-metadata';
9
9
  import { enhanceEncoder, Bytes, u16 } from '@polkadot-api/substrate-bindings';
@@ -38,24 +38,10 @@ const getCallDocs = (chain, pallet, method) => {
38
38
  };
39
39
 
40
40
  const getConstantValue = (chain, pallet, constant) => {
41
- try {
42
- const storageCodec = chain.builder.buildConstant(pallet, constant);
43
- const encodedValue = chain.metadata.pallets.find(({
44
- name
45
- }) => name === pallet)?.constants.find(({
46
- name
47
- }) => name === constant)?.value;
48
- if (!encodedValue) throw new Error(`Constant ${pallet}.${constant} not found`);
49
- return storageCodec.dec(encodedValue);
50
- } catch (err) {
51
- log.error("Failed to get constant value", {
52
- err,
53
- chainId: chain.connector.chainId,
54
- pallet,
55
- constant
56
- });
57
- throw err;
58
- }
41
+ return getConstantValueFromMetadata({
42
+ builder: chain.builder,
43
+ unifiedMetadata: chain.metadata
44
+ }, pallet, constant);
59
45
  };
60
46
 
61
47
  const getChainInfo = chain => {
@@ -472,6 +458,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
472
458
  payload,
473
459
  txMetadata
474
460
  } = getPayloadWithMetadataHash(chain, chainInfo, basePayload);
461
+ const shortMetadata = txMetadata ? u8aToHex(txMetadata) : undefined;
475
462
 
476
463
  // Avail support
477
464
  if (payload.signedExtensions.includes("CheckAppId")) payload.appId = 0;
@@ -481,7 +468,9 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
481
468
  });
482
469
  return {
483
470
  payload,
484
- txMetadata
471
+ txMetadata,
472
+ // TODO remove
473
+ shortMetadata
485
474
  };
486
475
  };
487
476
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/sapi",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -18,7 +18,7 @@
18
18
  "/dist"
19
19
  ],
20
20
  "engines": {
21
- "node": ">=18"
21
+ "node": ">=20"
22
22
  },
23
23
  "dependencies": {
24
24
  "@polkadot-api/merkleize-metadata": "1.1.18",
@@ -27,11 +27,11 @@
27
27
  "@polkadot-api/utils": "0.2.0",
28
28
  "@polkadot/types": "16.1.2",
29
29
  "@polkadot/types-codec": "16.1.2",
30
- "@polkadot/util": "13.5.1",
30
+ "@polkadot/util": "13.5.3",
31
31
  "anylogger": "^1.0.11",
32
32
  "polkadot-api": "1.13.1",
33
33
  "scale-ts": "^1.6.1",
34
- "@talismn/scale": "0.2.0"
34
+ "@talismn/scale": "0.2.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/jest": "^29.5.14",
@@ -39,8 +39,8 @@
39
39
  "jest": "^29.7",
40
40
  "ts-jest": "^29.2.5",
41
41
  "typescript": "^5.6.3",
42
- "@talismn/tsconfig": "0.0.2",
43
- "@talismn/eslint-config": "0.0.3"
42
+ "@talismn/eslint-config": "0.0.3",
43
+ "@talismn/tsconfig": "0.0.2"
44
44
  },
45
45
  "eslintConfig": {
46
46
  "root": true,