@talismn/sapi 0.0.8 → 0.0.10
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
|
|
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
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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 => {
|
|
@@ -216,7 +202,6 @@ const isApiAvailable = (chain, name, method) => {
|
|
|
216
202
|
};
|
|
217
203
|
|
|
218
204
|
const getDryRunCall = async (chain, from, decodedCall) => {
|
|
219
|
-
log.log(`[sapi] getDryRun begin: ${Date.now()}`);
|
|
220
205
|
try {
|
|
221
206
|
if (!isApiAvailable(chain, "DryRunApi", "dry_run_call")) return {
|
|
222
207
|
available: false,
|
|
@@ -258,8 +243,6 @@ const getDryRunCall = async (chain, from, decodedCall) => {
|
|
|
258
243
|
available: false,
|
|
259
244
|
data: null
|
|
260
245
|
};
|
|
261
|
-
} finally {
|
|
262
|
-
log.log(`[sapi] getDryRun end: ${Date.now()}`);
|
|
263
246
|
}
|
|
264
247
|
};
|
|
265
248
|
|
|
@@ -481,6 +464,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
|
|
|
481
464
|
payload,
|
|
482
465
|
txMetadata
|
|
483
466
|
} = getPayloadWithMetadataHash(chain, chainInfo, basePayload);
|
|
467
|
+
const shortMetadata = txMetadata ? util.u8aToHex(txMetadata) : undefined;
|
|
484
468
|
|
|
485
469
|
// Avail support
|
|
486
470
|
if (payload.signedExtensions.includes("CheckAppId")) payload.appId = 0;
|
|
@@ -490,7 +474,9 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
|
|
|
490
474
|
});
|
|
491
475
|
return {
|
|
492
476
|
payload,
|
|
493
|
-
txMetadata
|
|
477
|
+
txMetadata,
|
|
478
|
+
// TODO remove
|
|
479
|
+
shortMetadata
|
|
494
480
|
};
|
|
495
481
|
};
|
|
496
482
|
|
|
@@ -44,24 +44,10 @@ const getCallDocs = (chain, pallet, method) => {
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
const getConstantValue = (chain, pallet, constant) => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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 => {
|
|
@@ -216,7 +202,6 @@ const isApiAvailable = (chain, name, method) => {
|
|
|
216
202
|
};
|
|
217
203
|
|
|
218
204
|
const getDryRunCall = async (chain, from, decodedCall) => {
|
|
219
|
-
log.log(`[sapi] getDryRun begin: ${Date.now()}`);
|
|
220
205
|
try {
|
|
221
206
|
if (!isApiAvailable(chain, "DryRunApi", "dry_run_call")) return {
|
|
222
207
|
available: false,
|
|
@@ -258,8 +243,6 @@ const getDryRunCall = async (chain, from, decodedCall) => {
|
|
|
258
243
|
available: false,
|
|
259
244
|
data: null
|
|
260
245
|
};
|
|
261
|
-
} finally {
|
|
262
|
-
log.log(`[sapi] getDryRun end: ${Date.now()}`);
|
|
263
246
|
}
|
|
264
247
|
};
|
|
265
248
|
|
|
@@ -481,6 +464,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
|
|
|
481
464
|
payload,
|
|
482
465
|
txMetadata
|
|
483
466
|
} = getPayloadWithMetadataHash(chain, chainInfo, basePayload);
|
|
467
|
+
const shortMetadata = txMetadata ? util.u8aToHex(txMetadata) : undefined;
|
|
484
468
|
|
|
485
469
|
// Avail support
|
|
486
470
|
if (payload.signedExtensions.includes("CheckAppId")) payload.appId = 0;
|
|
@@ -490,7 +474,9 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
|
|
|
490
474
|
});
|
|
491
475
|
return {
|
|
492
476
|
payload,
|
|
493
|
-
txMetadata
|
|
477
|
+
txMetadata,
|
|
478
|
+
// TODO remove
|
|
479
|
+
shortMetadata
|
|
494
480
|
};
|
|
495
481
|
};
|
|
496
482
|
|
package/dist/talismn-sapi.esm.js
CHANGED
|
@@ -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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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 => {
|
|
@@ -210,7 +196,6 @@ const isApiAvailable = (chain, name, method) => {
|
|
|
210
196
|
};
|
|
211
197
|
|
|
212
198
|
const getDryRunCall = async (chain, from, decodedCall) => {
|
|
213
|
-
log.log(`[sapi] getDryRun begin: ${Date.now()}`);
|
|
214
199
|
try {
|
|
215
200
|
if (!isApiAvailable(chain, "DryRunApi", "dry_run_call")) return {
|
|
216
201
|
available: false,
|
|
@@ -252,8 +237,6 @@ const getDryRunCall = async (chain, from, decodedCall) => {
|
|
|
252
237
|
available: false,
|
|
253
238
|
data: null
|
|
254
239
|
};
|
|
255
|
-
} finally {
|
|
256
|
-
log.log(`[sapi] getDryRun end: ${Date.now()}`);
|
|
257
240
|
}
|
|
258
241
|
};
|
|
259
242
|
|
|
@@ -475,6 +458,7 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
|
|
|
475
458
|
payload,
|
|
476
459
|
txMetadata
|
|
477
460
|
} = getPayloadWithMetadataHash(chain, chainInfo, basePayload);
|
|
461
|
+
const shortMetadata = txMetadata ? u8aToHex(txMetadata) : undefined;
|
|
478
462
|
|
|
479
463
|
// Avail support
|
|
480
464
|
if (payload.signedExtensions.includes("CheckAppId")) payload.appId = 0;
|
|
@@ -484,7 +468,9 @@ const getSignerPayloadJSON = async (chain, palletName, methodName, args, signerC
|
|
|
484
468
|
});
|
|
485
469
|
return {
|
|
486
470
|
payload,
|
|
487
|
-
txMetadata
|
|
471
|
+
txMetadata,
|
|
472
|
+
// TODO remove
|
|
473
|
+
shortMetadata
|
|
488
474
|
};
|
|
489
475
|
};
|
|
490
476
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@talismn/sapi",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"author": "Talisman",
|
|
5
5
|
"homepage": "https://talisman.xyz",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -27,7 +27,7 @@
|
|
|
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.
|
|
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",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"jest": "^29.7",
|
|
40
40
|
"ts-jest": "^29.2.5",
|
|
41
41
|
"typescript": "^5.6.3",
|
|
42
|
-
"@talismn/
|
|
43
|
-
"@talismn/
|
|
42
|
+
"@talismn/tsconfig": "0.0.2",
|
|
43
|
+
"@talismn/eslint-config": "0.0.3"
|
|
44
44
|
},
|
|
45
45
|
"eslintConfig": {
|
|
46
46
|
"root": true,
|