polkadot-api 0.7.1 → 0.8.0

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/dist/index.js CHANGED
@@ -32,7 +32,7 @@ module.exports = __toCommonJS(src_exports);
32
32
  // src/client.ts
33
33
  var import_observable_client2 = require("@polkadot-api/observable-client");
34
34
  var import_substrate_client = require("@polkadot-api/substrate-client");
35
- var import_rxjs22 = require("rxjs");
35
+ var import_rxjs23 = require("rxjs");
36
36
 
37
37
  // src/constants.ts
38
38
  var import_rxjs = require("rxjs");
@@ -324,7 +324,7 @@ var Runtime = class _Runtime {
324
324
  * @access package - Internal implementation detail. Do not use.
325
325
  */
326
326
  _getPalletChecksum(opType, pallet, name) {
327
- return this._checksums[this._descriptors.pallets[pallet][opType][name]];
327
+ return this._checksums[this._descriptors[opType][pallet][name]];
328
328
  }
329
329
  /**
330
330
  * @access package - Internal implementation detail. Do not use.
@@ -545,11 +545,11 @@ var createStorageEntry = (pallet, name, chainHead, compatibilityHelper2) => {
545
545
  // src/tx/tx.ts
546
546
  var import_substrate_bindings8 = require("@polkadot-api/substrate-bindings");
547
547
  var import_utils19 = require("@polkadot-api/utils");
548
- var import_rxjs21 = require("rxjs");
548
+ var import_rxjs22 = require("rxjs");
549
549
  var import_signer = require("@polkadot-api/signer");
550
550
 
551
551
  // src/tx/create-tx.ts
552
- var import_rxjs19 = require("rxjs");
552
+ var import_rxjs20 = require("rxjs");
553
553
 
554
554
  // src/tx/signed-extensions/user/ChargeTransactionPayment.ts
555
555
  var import_substrate_bindings2 = require("@polkadot-api/substrate-bindings");
@@ -645,6 +645,7 @@ var ChargeAssetTxPayment = (tip, asset) => (0, import_rxjs14.of)({
645
645
  var chain_exports = {};
646
646
  __export(chain_exports, {
647
647
  CheckGenesis: () => CheckGenesis,
648
+ CheckMetadataHash: () => CheckMetadataHash,
648
649
  CheckNonce: () => CheckNonce,
649
650
  CheckSpecVersion: () => CheckSpecVersion,
650
651
  CheckTxVersion: () => CheckTxVersion,
@@ -657,8 +658,15 @@ var CheckGenesis = (ctx) => genesisHashFromCtx(ctx).pipe(
657
658
  (0, import_rxjs15.map)((additionalSigned) => ({ value: empty, additionalSigned }))
658
659
  );
659
660
 
660
- // src/tx/signed-extensions/chain/CheckNonce.ts
661
+ // src/tx/signed-extensions/chain/CheckMetadataHash.ts
661
662
  var import_rxjs16 = require("rxjs");
663
+ var CheckMetadataHash = () => (0, import_rxjs16.of)({
664
+ value: Uint8Array.from([0]),
665
+ additionalSigned: Uint8Array.from([0])
666
+ });
667
+
668
+ // src/tx/signed-extensions/chain/CheckNonce.ts
669
+ var import_rxjs17 = require("rxjs");
662
670
  var import_substrate_bindings5 = require("@polkadot-api/substrate-bindings");
663
671
  var import_utils13 = require("@polkadot-api/utils");
664
672
  var NONCE_RUNTIME_CALL = "AccountNonceApi_account_nonce";
@@ -668,9 +676,9 @@ var lenToDecoder = {
668
676
  4: import_substrate_bindings5.u32.dec,
669
677
  8: import_substrate_bindings5.u64.dec
670
678
  };
671
- var getNonce = (input) => (0, import_rxjs16.of)({ value: import_substrate_bindings5.compact.enc(input), additionalSigned: empty });
679
+ var getNonce = (input) => (0, import_rxjs17.of)({ value: import_substrate_bindings5.compact.enc(input), additionalSigned: empty });
672
680
  var CheckNonce = (ctx) => ctx.chainHead.call$(ctx.at, NONCE_RUNTIME_CALL, (0, import_utils13.toHex)(ctx.from)).pipe(
673
- (0, import_rxjs16.mergeMap)((result) => {
681
+ (0, import_rxjs17.mergeMap)((result) => {
674
682
  const bytes = (0, import_utils13.fromHex)(result);
675
683
  const decoder = lenToDecoder[bytes.length];
676
684
  if (!decoder)
@@ -680,22 +688,22 @@ var CheckNonce = (ctx) => ctx.chainHead.call$(ctx.at, NONCE_RUNTIME_CALL, (0, im
680
688
  );
681
689
 
682
690
  // src/tx/signed-extensions/chain/CheckSpecVersion.ts
683
- var import_rxjs17 = require("rxjs");
691
+ var import_rxjs18 = require("rxjs");
684
692
  var CheckSpecVersion = ({ metadata }) => systemVersionProp$("spec_version", metadata).pipe(
685
- (0, import_rxjs17.map)((additionalSigned) => ({ additionalSigned, value: empty }))
693
+ (0, import_rxjs18.map)((additionalSigned) => ({ additionalSigned, value: empty }))
686
694
  );
687
695
 
688
696
  // src/tx/signed-extensions/chain/CheckTxVersion.ts
689
- var import_rxjs18 = require("rxjs");
697
+ var import_rxjs19 = require("rxjs");
690
698
  var CheckTxVersion = ({ metadata }) => systemVersionProp$("transaction_version", metadata).pipe(
691
- (0, import_rxjs18.map)((additionalSigned) => ({ additionalSigned, value: empty }))
699
+ (0, import_rxjs19.map)((additionalSigned) => ({ additionalSigned, value: empty }))
692
700
  );
693
701
 
694
702
  // src/tx/create-tx.ts
695
703
  var import_substrate_bindings6 = require("@polkadot-api/substrate-bindings");
696
704
  var createTx = (chainHead, signer, callData, atBlock, hinted = {}) => chainHead.getRuntimeContext$(atBlock.hash).pipe(
697
- (0, import_rxjs19.take)(1),
698
- (0, import_rxjs19.mergeMap)((ctx) => {
705
+ (0, import_rxjs20.take)(1),
706
+ (0, import_rxjs20.mergeMap)((ctx) => {
699
707
  const signedExtensionsCtx = {
700
708
  metadata: ctx.metadata,
701
709
  chainHead,
@@ -704,7 +712,7 @@ var createTx = (chainHead, signer, callData, atBlock, hinted = {}) => chainHead.
704
712
  from: signer.publicKey
705
713
  };
706
714
  const mortality = !hinted.mortality ? { period: 64, blockNumber: atBlock.number } : hinted.mortality.mortal ? { period: hinted.mortality.period, blockNumber: atBlock.number } : void 0;
707
- return (0, import_rxjs19.combineLatest)(
715
+ return (0, import_rxjs20.combineLatest)(
708
716
  ctx.metadata.extrinsic.signedExtensions.map(
709
717
  ({ identifier, type, additionalSigned }) => {
710
718
  if (identifier === "CheckMortality")
@@ -718,7 +726,7 @@ var createTx = (chainHead, signer, callData, atBlock, hinted = {}) => chainHead.
718
726
  const fn = chain_exports[identifier];
719
727
  if (!fn) {
720
728
  if (ctx.dynamicBuilder.buildDefinition(type) === import_substrate_bindings6._void && ctx.dynamicBuilder.buildDefinition(additionalSigned) === import_substrate_bindings6._void)
721
- return (0, import_rxjs19.of)({
729
+ return (0, import_rxjs20.of)({
722
730
  value: empty,
723
731
  additionalSigned: empty
724
732
  });
@@ -728,7 +736,7 @@ var createTx = (chainHead, signer, callData, atBlock, hinted = {}) => chainHead.
728
736
  }
729
737
  )
730
738
  ).pipe(
731
- (0, import_rxjs19.mergeMap)(
739
+ (0, import_rxjs20.mergeMap)(
732
740
  (signedExtensions) => signer.sign(
733
741
  callData,
734
742
  Object.fromEntries(
@@ -749,10 +757,10 @@ var createTx = (chainHead, signer, callData, atBlock, hinted = {}) => chainHead.
749
757
 
750
758
  // src/tx/submit-fns.ts
751
759
  var import_substrate_bindings7 = require("@polkadot-api/substrate-bindings");
752
- var import_rxjs20 = require("rxjs");
760
+ var import_rxjs21 = require("rxjs");
753
761
  var import_utils18 = require("@polkadot-api/utils");
754
762
  var hashFromTx = (tx) => (0, import_utils18.toHex)((0, import_substrate_bindings7.Blake2256)((0, import_utils18.fromHex)(tx)));
755
- var computeState = (analized$, blocks$) => new import_rxjs20.Observable((observer) => {
763
+ var computeState = (analized$, blocks$) => new import_rxjs21.Observable((observer) => {
756
764
  const analyzedBlocks = /* @__PURE__ */ new Map();
757
765
  let pinnedBlocks;
758
766
  let latestState;
@@ -788,7 +796,7 @@ var computeState = (analized$, blocks$) => new import_rxjs20.Observable((observe
788
796
  }
789
797
  };
790
798
  const subscription = blocks$.pipe(
791
- (0, import_rxjs20.distinctUntilChanged)(
799
+ (0, import_rxjs21.distinctUntilChanged)(
792
800
  (a, b) => a.finalized === b.finalized && a.best === b.best
793
801
  )
794
802
  ).subscribe({
@@ -814,7 +822,7 @@ var computeState = (analized$, blocks$) => new import_rxjs20.Observable((observe
814
822
  })
815
823
  );
816
824
  return subscription;
817
- }).pipe((0, import_rxjs20.distinctUntilChanged)((a, b) => a === b));
825
+ }).pipe((0, import_rxjs21.distinctUntilChanged)((a, b) => a === b));
818
826
  var getTxSuccessFromSystemEvents = (systemEvents, txIdx) => {
819
827
  const events = systemEvents.filter((x) => x.phase.type === "ApplyExtrinsic" && x.phase.value === txIdx).map((x) => x.event);
820
828
  const lastEvent = events[events.length - 1];
@@ -829,20 +837,20 @@ var submit$ = (chainHead, broadcastTx$, tx, at, emitSign = false) => {
829
837
  ...rest
830
838
  });
831
839
  const at$ = chainHead.pinnedBlocks$.pipe(
832
- (0, import_rxjs20.take)(1),
833
- (0, import_rxjs20.map)((blocks) => blocks.blocks.get(at)?.hash ?? blocks.finalized)
840
+ (0, import_rxjs21.take)(1),
841
+ (0, import_rxjs21.map)((blocks) => blocks.blocks.get(at)?.hash ?? blocks.finalized)
834
842
  );
835
843
  const validate$ = at$.pipe(
836
- (0, import_rxjs20.mergeMap)(
844
+ (0, import_rxjs21.mergeMap)(
837
845
  (at2) => chainHead.validateTx$(at2, tx).pipe(
838
- (0, import_rxjs20.filter)((x) => !x),
839
- (0, import_rxjs20.map)(() => {
846
+ (0, import_rxjs21.filter)((x) => !x),
847
+ (0, import_rxjs21.map)(() => {
840
848
  throw new Error("Invalid");
841
849
  })
842
850
  )
843
851
  )
844
852
  );
845
- const track$ = new import_rxjs20.Observable((observer) => {
853
+ const track$ = new import_rxjs21.Observable((observer) => {
846
854
  const subscription = chainHead.trackTx$(tx).subscribe(observer);
847
855
  subscription.add(
848
856
  broadcastTx$(tx).subscribe({
@@ -854,7 +862,7 @@ var submit$ = (chainHead, broadcastTx$, tx, at, emitSign = false) => {
854
862
  return subscription;
855
863
  });
856
864
  const bestBlockState$ = computeState(track$, chainHead.pinnedBlocks$).pipe(
857
- (0, import_rxjs20.map)((x) => {
865
+ (0, import_rxjs21.map)((x) => {
858
866
  if (x === true || x === false)
859
867
  return getTxEvent("txBestBlocksState", {
860
868
  found: false,
@@ -870,18 +878,18 @@ var submit$ = (chainHead, broadcastTx$, tx, at, emitSign = false) => {
870
878
  });
871
879
  })
872
880
  );
873
- return (0, import_rxjs20.concat)(
874
- emitSign ? (0, import_rxjs20.of)(getTxEvent("signed", {})) : import_rxjs20.EMPTY,
881
+ return (0, import_rxjs21.concat)(
882
+ emitSign ? (0, import_rxjs21.of)(getTxEvent("signed", {})) : import_rxjs21.EMPTY,
875
883
  validate$,
876
- (0, import_rxjs20.of)(getTxEvent("broadcasted", {})),
884
+ (0, import_rxjs21.of)(getTxEvent("broadcasted", {})),
877
885
  bestBlockState$.pipe(
878
886
  continueWith(
879
- ({ found, type, ...rest }) => found ? (0, import_rxjs20.of)(getTxEvent("finalized", rest)) : import_rxjs20.EMPTY
887
+ ({ found, type, ...rest }) => found ? (0, import_rxjs21.of)(getTxEvent("finalized", rest)) : import_rxjs21.EMPTY
880
888
  )
881
889
  )
882
890
  );
883
891
  };
884
- var submit = async (chainHead, broadcastTx$, transaction, at) => (0, import_rxjs20.lastValueFrom)(submit$(chainHead, broadcastTx$, transaction, at)).then((x) => {
892
+ var submit = async (chainHead, broadcastTx$, transaction, at) => (0, import_rxjs21.lastValueFrom)(submit$(chainHead, broadcastTx$, transaction, at)).then((x) => {
885
893
  if (x.type !== "finalized")
886
894
  throw null;
887
895
  const result = { ...x };
@@ -917,41 +925,41 @@ var createTxEntry = (pallet, name, assetChecksum, chainHead, broadcast, compatib
917
925
  };
918
926
  };
919
927
  const getCallData$ = (arg2, options = {}) => compatibleRuntime$(chainHead, null, checksumError).pipe(
920
- (0, import_rxjs21.map)((ctx) => getCallDataWithContext(ctx, arg2, options))
928
+ (0, import_rxjs22.map)((ctx) => getCallDataWithContext(ctx, arg2, options))
921
929
  );
922
930
  const getEncodedData = (runtime) => {
923
931
  if (!runtime)
924
- return (0, import_rxjs21.firstValueFrom)(getCallData$(arg).pipe((0, import_rxjs21.map)((x) => x.callData)));
932
+ return (0, import_rxjs22.firstValueFrom)(getCallData$(arg).pipe((0, import_rxjs22.map)((x) => x.callData)));
925
933
  if (!isCompatible(runtime))
926
934
  throw checksumError();
927
935
  return getCallDataWithContext(runtime._getCtx(), arg).callData;
928
936
  };
929
937
  const sign$ = (from, { ..._options }, atBlock) => getCallData$(arg, _options).pipe(
930
- (0, import_rxjs21.mergeMap)(
938
+ (0, import_rxjs22.mergeMap)(
931
939
  ({ callData, options }) => createTx(chainHead, from, callData.asBytes(), atBlock, options)
932
940
  )
933
941
  );
934
942
  const _sign = (from, { at, ..._options } = {}) => {
935
943
  return (!at || at === "finalized" ? chainHead.finalized$ : at === "best" ? chainHead.best$ : chainHead.bestBlocks$.pipe(
936
- (0, import_rxjs21.map)((x) => x.find((b) => b.hash === at))
944
+ (0, import_rxjs22.map)((x) => x.find((b) => b.hash === at))
937
945
  )).pipe(
938
- (0, import_rxjs21.take)(1),
939
- (0, import_rxjs21.mergeMap)(
946
+ (0, import_rxjs22.take)(1),
947
+ (0, import_rxjs22.mergeMap)(
940
948
  (atBlock) => atBlock ? sign$(from, _options, atBlock).pipe(
941
- (0, import_rxjs21.map)((signed) => ({
949
+ (0, import_rxjs22.map)((signed) => ({
942
950
  tx: (0, import_utils19.toHex)(signed),
943
951
  block: atBlock
944
952
  }))
945
- ) : (0, import_rxjs21.throwError)(() => new Error(`Uknown block ${at}`))
953
+ ) : (0, import_rxjs22.throwError)(() => new Error(`Uknown block ${at}`))
946
954
  )
947
955
  );
948
956
  };
949
- const sign = (from, options) => (0, import_rxjs21.firstValueFrom)(_sign(from, options)).then((x) => x.tx);
950
- const signAndSubmit = (from, _options) => (0, import_rxjs21.firstValueFrom)(_sign(from, _options)).then(
957
+ const sign = (from, options) => (0, import_rxjs22.firstValueFrom)(_sign(from, options)).then((x) => x.tx);
958
+ const signAndSubmit = (from, _options) => (0, import_rxjs22.firstValueFrom)(_sign(from, _options)).then(
951
959
  ({ tx, block }) => submit(chainHead, broadcast, tx, block.hash)
952
960
  );
953
961
  const signSubmitAndWatch = (from, _options) => _sign(from, _options).pipe(
954
- (0, import_rxjs21.mergeMap)(
962
+ (0, import_rxjs22.mergeMap)(
955
963
  ({ tx, block }) => submit$(chainHead, broadcast, tx, block.hash, true)
956
964
  )
957
965
  );
@@ -963,8 +971,8 @@ var createTxEntry = (pallet, name, assetChecksum, chainHead, broadcast, compatib
963
971
  );
964
972
  const encoded = (0, import_utils19.fromHex)(await sign(fakeSigner, _options));
965
973
  const args = (0, import_utils19.toHex)((0, import_utils19.mergeUint8)(encoded, import_substrate_bindings8.u32.enc(encoded.length)));
966
- return (0, import_rxjs21.firstValueFrom)(
967
- chainHead.call$(null, "TransactionPaymentApi_query_info", args).pipe((0, import_rxjs21.map)(queryInfoDec))
974
+ return (0, import_rxjs22.firstValueFrom)(
975
+ chainHead.call$(null, "TransactionPaymentApi_query_info", args).pipe((0, import_rxjs22.map)(queryInfoDec))
968
976
  );
969
977
  };
970
978
  return {
@@ -1014,7 +1022,7 @@ var createTypedApi = (chainDefinition, chainHead, broadcast$) => {
1014
1022
  chainHead,
1015
1023
  compatibilityHelper(
1016
1024
  runtime,
1017
- (r) => r._getPalletChecksum(0 /* Storage */, pallet, name)
1025
+ (r) => r._getPalletChecksum("storage" /* Storage */, pallet, name)
1018
1026
  )
1019
1027
  )
1020
1028
  );
@@ -1027,7 +1035,7 @@ var createTypedApi = (chainDefinition, chainHead, broadcast$) => {
1027
1035
  broadcast$,
1028
1036
  compatibilityHelper(
1029
1037
  runtime,
1030
- (r) => r._getPalletChecksum(1 /* Tx */, pallet, name)
1038
+ (r) => r._getPalletChecksum("tx" /* Tx */, pallet, name)
1031
1039
  )
1032
1040
  )
1033
1041
  );
@@ -1038,7 +1046,7 @@ var createTypedApi = (chainDefinition, chainHead, broadcast$) => {
1038
1046
  chainHead,
1039
1047
  compatibilityHelper(
1040
1048
  runtime,
1041
- (r) => r._getPalletChecksum(2 /* Event */, pallet, name)
1049
+ (r) => r._getPalletChecksum("events" /* Event */, pallet, name)
1042
1050
  )
1043
1051
  )
1044
1052
  );
@@ -1049,7 +1057,7 @@ var createTypedApi = (chainDefinition, chainHead, broadcast$) => {
1049
1057
  chainHead,
1050
1058
  compatibilityHelper(
1051
1059
  runtime,
1052
- (r) => r._getPalletChecksum(4 /* Const */, pallet, name)
1060
+ (r) => r._getPalletChecksum("constants" /* Const */, pallet, name)
1053
1061
  )
1054
1062
  )
1055
1063
  );
@@ -1080,12 +1088,12 @@ function createClient(provider) {
1080
1088
  return {
1081
1089
  getChainSpecData,
1082
1090
  finalizedBlock$: chainHead.finalized$,
1083
- getFinalizedBlock: () => (0, import_rxjs22.firstValueFrom)(chainHead.finalized$),
1091
+ getFinalizedBlock: () => (0, import_rxjs23.firstValueFrom)(chainHead.finalized$),
1084
1092
  bestBlocks$: chainHead.bestBlocks$,
1085
- getBestBlocks: () => (0, import_rxjs22.firstValueFrom)(chainHead.bestBlocks$),
1093
+ getBestBlocks: () => (0, import_rxjs23.firstValueFrom)(chainHead.bestBlocks$),
1086
1094
  watchBlockBody: chainHead.body$,
1087
- getBlockBody: (hash) => (0, import_rxjs22.firstValueFrom)(chainHead.body$(hash)),
1088
- getBlockHeader: (hash) => (0, import_rxjs22.firstValueFrom)(chainHead.header$(hash ?? null)),
1095
+ getBlockBody: (hash) => (0, import_rxjs23.firstValueFrom)(chainHead.body$(hash)),
1096
+ getBlockHeader: (hash) => (0, import_rxjs23.firstValueFrom)(chainHead.header$(hash ?? null)),
1089
1097
  submit: (...args) => submit(chainHead, broadcastTx$, ...args),
1090
1098
  submitAndWatch: (...args) => submit$(chainHead, broadcastTx$, ...args),
1091
1099
  getTypedApi: (chainDefinition) => createTypedApi(chainDefinition, chainHead, broadcastTx$),