polkadot-api 1.10.0 → 1.10.2

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.
package/bin/cli.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { getCli, ink, update, remove, generate, add } from '@polkadot-api/cli';
3
3
 
4
- var version = "1.10.0";
4
+ var version = "1.10.2";
5
5
 
6
6
  getCli({
7
7
  add,
@@ -43,7 +43,8 @@ const createTx = (chainHead, signer, callData, atBlock, customSignedExtensions,
43
43
  hash: atBlock.hash
44
44
  }
45
45
  } : { mortal: false },
46
- customSignedExtensions
46
+ customSignedExtensions,
47
+ asset: hinted.asset
47
48
  });
48
49
  return signer.signTx(
49
50
  callData,
@@ -1 +1 @@
1
- {"version":3,"file":"create-tx.mjs","sources":["../../../src/tx/create-tx.ts"],"sourcesContent":["import { BlockInfo, ChainHead$ } from \"@polkadot-api/observable-client\"\nimport type { PolkadotSigner } from \"@polkadot-api/polkadot-signer\"\nimport { HexString, u16, u32, u64, u8 } from \"@polkadot-api/substrate-bindings\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\nimport {\n Observable,\n catchError,\n combineLatest,\n distinctUntilChanged,\n filter,\n map,\n mergeMap,\n of,\n scan,\n startWith,\n switchMap,\n take,\n} from \"rxjs\"\nimport { getSignExtensionsCreator } from \"./signed-extensions\"\nimport { CustomSignedExtensionValues } from \"./types\"\n\ntype HintedSignedExtensions = Partial<{\n tip: bigint\n mortality: { mortal: false } | { mortal: true; period: number }\n asset: Uint8Array\n nonce: number\n}>\n\nconst NONCE_RUNTIME_CALL = \"AccountNonceApi_account_nonce\"\nconst lenToDecoder = {\n 1: u8.dec,\n 2: u16.dec,\n 4: u32.dec,\n 8: u64.dec,\n}\n\nconst getNonceAtBlock$ = (\n call$: ChainHead$[\"call$\"],\n from: HexString,\n at: string,\n) =>\n call$(at, NONCE_RUNTIME_CALL, from).pipe(\n map((result) => {\n const bytes = fromHex(result)\n const decoder = lenToDecoder[bytes.length as 2 | 4 | 8]\n if (!decoder)\n throw new Error(`${NONCE_RUNTIME_CALL} retrieved wrong data`)\n return decoder(bytes)\n }),\n )\n\nexport const createTx: (\n chainHead: ChainHead$,\n signer: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n customSignExt: Record<string, CustomSignedExtensionValues>,\n hinted?: HintedSignedExtensions,\n) => Observable<Uint8Array> = (\n chainHead,\n signer,\n callData,\n atBlock,\n customSignedExtensions,\n hinted = {},\n) =>\n combineLatest([\n hinted.nonce\n ? of(hinted.nonce)\n : getNonce$(chainHead, toHex(signer.publicKey)),\n chainHead.getRuntimeContext$(atBlock.hash),\n chainHead.genesis$,\n ]).pipe(\n take(1),\n mergeMap(([nonce, ctx, genesis]) => {\n const signExtCreator = getSignExtensionsCreator(\n fromHex(genesis),\n ctx.lookup,\n ctx.dynamicBuilder,\n )\n\n const mortality: HintedSignedExtensions[\"mortality\"] =\n hinted.mortality ?? { period: 64, mortal: true }\n\n const signExtensions = signExtCreator({\n nonce: nonce as number,\n tip: hinted.tip ?? 0n,\n mortality: mortality.mortal\n ? {\n mortal: true,\n period: mortality.period,\n startAtBlock: {\n height: atBlock.number,\n hash: atBlock.hash,\n },\n }\n : { mortal: false },\n customSignedExtensions,\n })\n\n return signer.signTx(\n callData,\n signExtensions,\n ctx.metadataRaw,\n atBlock.number,\n )\n }),\n )\n\nconst getNonce$ = (chainHead: ChainHead$, from: HexString) => {\n const followHead$ = (head: string) =>\n chainHead.newBlocks$.pipe(\n scan((acc, block) => (block.parent === acc ? block.hash : acc), head),\n startWith(head),\n distinctUntilChanged(),\n )\n const followNonce$ = (head: string) =>\n followHead$(head).pipe(\n take(2),\n switchMap((hash) => getNonceAtBlock$(chainHead.call$, from, hash)),\n )\n const getHeadsNonce$ = (heads: string[]) =>\n combineLatest(\n heads.map((head) =>\n followNonce$(head).pipe(\n map((value) => ({\n success: true as const,\n value,\n })),\n catchError((err) =>\n of({\n success: false as const,\n value: err,\n }),\n ),\n ),\n ),\n ).pipe(take(1))\n\n return chainHead.pinnedBlocks$.pipe(\n filter((v) => !v.recovering && v.blocks.size > 0),\n take(1),\n map(({ blocks, best }) => {\n // Grab only the heads: those blocks above the best that don't have children and are not getting pruned\n const bestBlock = blocks.get(best)!\n return [...blocks.values()]\n .filter(\n (v) =>\n !v.unpinnable &&\n v.children.size === 0 &&\n v.number >= bestBlock.number,\n )\n .map((v) => v.hash)\n }),\n switchMap(getHeadsNonce$),\n map((result) => {\n const winner = result.reduce(\n (acc: bigint | number | null, v) =>\n v.success ? (v.value >= (acc ?? 0) ? v.value : acc) : acc,\n null,\n )\n\n if (winner == null) {\n // We must have at least one error\n throw result[0].value\n }\n return winner\n }),\n )\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-tx.mjs","sources":["../../../src/tx/create-tx.ts"],"sourcesContent":["import { BlockInfo, ChainHead$ } from \"@polkadot-api/observable-client\"\nimport type { PolkadotSigner } from \"@polkadot-api/polkadot-signer\"\nimport { HexString, u16, u32, u64, u8 } from \"@polkadot-api/substrate-bindings\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\nimport {\n Observable,\n catchError,\n combineLatest,\n distinctUntilChanged,\n filter,\n map,\n mergeMap,\n of,\n scan,\n startWith,\n switchMap,\n take,\n} from \"rxjs\"\nimport { getSignExtensionsCreator } from \"./signed-extensions\"\nimport { CustomSignedExtensionValues } from \"./types\"\n\ntype HintedSignedExtensions = Partial<{\n tip: bigint\n mortality: { mortal: false } | { mortal: true; period: number }\n asset: Uint8Array\n nonce: number\n}>\n\nconst NONCE_RUNTIME_CALL = \"AccountNonceApi_account_nonce\"\nconst lenToDecoder = {\n 1: u8.dec,\n 2: u16.dec,\n 4: u32.dec,\n 8: u64.dec,\n}\n\nconst getNonceAtBlock$ = (\n call$: ChainHead$[\"call$\"],\n from: HexString,\n at: string,\n) =>\n call$(at, NONCE_RUNTIME_CALL, from).pipe(\n map((result) => {\n const bytes = fromHex(result)\n const decoder = lenToDecoder[bytes.length as 2 | 4 | 8]\n if (!decoder)\n throw new Error(`${NONCE_RUNTIME_CALL} retrieved wrong data`)\n return decoder(bytes)\n }),\n )\n\nexport const createTx: (\n chainHead: ChainHead$,\n signer: PolkadotSigner,\n callData: Uint8Array,\n atBlock: BlockInfo,\n customSignExt: Record<string, CustomSignedExtensionValues>,\n hinted?: HintedSignedExtensions,\n) => Observable<Uint8Array> = (\n chainHead,\n signer,\n callData,\n atBlock,\n customSignedExtensions,\n hinted = {},\n) =>\n combineLatest([\n hinted.nonce\n ? of(hinted.nonce)\n : getNonce$(chainHead, toHex(signer.publicKey)),\n chainHead.getRuntimeContext$(atBlock.hash),\n chainHead.genesis$,\n ]).pipe(\n take(1),\n mergeMap(([nonce, ctx, genesis]) => {\n const signExtCreator = getSignExtensionsCreator(\n fromHex(genesis),\n ctx.lookup,\n ctx.dynamicBuilder,\n )\n\n const mortality: HintedSignedExtensions[\"mortality\"] =\n hinted.mortality ?? { period: 64, mortal: true }\n\n const signExtensions = signExtCreator({\n nonce: nonce as number,\n tip: hinted.tip ?? 0n,\n mortality: mortality.mortal\n ? {\n mortal: true,\n period: mortality.period,\n startAtBlock: {\n height: atBlock.number,\n hash: atBlock.hash,\n },\n }\n : { mortal: false },\n customSignedExtensions,\n asset: hinted.asset,\n })\n\n return signer.signTx(\n callData,\n signExtensions,\n ctx.metadataRaw,\n atBlock.number,\n )\n }),\n )\n\nconst getNonce$ = (chainHead: ChainHead$, from: HexString) => {\n const followHead$ = (head: string) =>\n chainHead.newBlocks$.pipe(\n scan((acc, block) => (block.parent === acc ? block.hash : acc), head),\n startWith(head),\n distinctUntilChanged(),\n )\n const followNonce$ = (head: string) =>\n followHead$(head).pipe(\n take(2),\n switchMap((hash) => getNonceAtBlock$(chainHead.call$, from, hash)),\n )\n const getHeadsNonce$ = (heads: string[]) =>\n combineLatest(\n heads.map((head) =>\n followNonce$(head).pipe(\n map((value) => ({\n success: true as const,\n value,\n })),\n catchError((err) =>\n of({\n success: false as const,\n value: err,\n }),\n ),\n ),\n ),\n ).pipe(take(1))\n\n return chainHead.pinnedBlocks$.pipe(\n filter((v) => !v.recovering && v.blocks.size > 0),\n take(1),\n map(({ blocks, best }) => {\n // Grab only the heads: those blocks above the best that don't have children and are not getting pruned\n const bestBlock = blocks.get(best)!\n return [...blocks.values()]\n .filter(\n (v) =>\n !v.unpinnable &&\n v.children.size === 0 &&\n v.number >= bestBlock.number,\n )\n .map((v) => v.hash)\n }),\n switchMap(getHeadsNonce$),\n map((result) => {\n const winner = result.reduce(\n (acc: bigint | number | null, v) =>\n v.success ? (v.value >= (acc ?? 0) ? v.value : acc) : acc,\n null,\n )\n\n if (winner == null) {\n // We must have at least one error\n throw result[0].value\n }\n return winner\n }),\n )\n}\n"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -772,7 +772,8 @@ const createTx = (chainHead, signer, callData, atBlock, customSignedExtensions,
772
772
  hash: atBlock.hash
773
773
  }
774
774
  } : { mortal: false },
775
- customSignedExtensions
775
+ customSignedExtensions,
776
+ asset: hinted.asset
776
777
  });
777
778
  return signer.signTx(
778
779
  callData,