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.d.mts +142 -22
- package/dist/index.d.ts +142 -22
- package/dist/index.js +61 -53
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -13
- package/dist/index.mjs.map +1 -1
- package/dist/min/index.d.ts +142 -22
- package/dist/min/index.js +1 -1
- package/dist/min/index.js.map +1 -1
- package/package.json +10 -9
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
|
|
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
|
|
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
|
|
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
|
|
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/
|
|
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,
|
|
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,
|
|
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
|
|
691
|
+
var import_rxjs18 = require("rxjs");
|
|
684
692
|
var CheckSpecVersion = ({ metadata }) => systemVersionProp$("spec_version", metadata).pipe(
|
|
685
|
-
(0,
|
|
693
|
+
(0, import_rxjs18.map)((additionalSigned) => ({ additionalSigned, value: empty }))
|
|
686
694
|
);
|
|
687
695
|
|
|
688
696
|
// src/tx/signed-extensions/chain/CheckTxVersion.ts
|
|
689
|
-
var
|
|
697
|
+
var import_rxjs19 = require("rxjs");
|
|
690
698
|
var CheckTxVersion = ({ metadata }) => systemVersionProp$("transaction_version", metadata).pipe(
|
|
691
|
-
(0,
|
|
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,
|
|
698
|
-
(0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
833
|
-
(0,
|
|
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,
|
|
844
|
+
(0, import_rxjs21.mergeMap)(
|
|
837
845
|
(at2) => chainHead.validateTx$(at2, tx).pipe(
|
|
838
|
-
(0,
|
|
839
|
-
(0,
|
|
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
|
|
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,
|
|
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,
|
|
874
|
-
emitSign ? (0,
|
|
881
|
+
return (0, import_rxjs21.concat)(
|
|
882
|
+
emitSign ? (0, import_rxjs21.of)(getTxEvent("signed", {})) : import_rxjs21.EMPTY,
|
|
875
883
|
validate$,
|
|
876
|
-
(0,
|
|
884
|
+
(0, import_rxjs21.of)(getTxEvent("broadcasted", {})),
|
|
877
885
|
bestBlockState$.pipe(
|
|
878
886
|
continueWith(
|
|
879
|
-
({ found, type, ...rest }) => found ? (0,
|
|
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,
|
|
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,
|
|
928
|
+
(0, import_rxjs22.map)((ctx) => getCallDataWithContext(ctx, arg2, options))
|
|
921
929
|
);
|
|
922
930
|
const getEncodedData = (runtime) => {
|
|
923
931
|
if (!runtime)
|
|
924
|
-
return (0,
|
|
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,
|
|
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,
|
|
944
|
+
(0, import_rxjs22.map)((x) => x.find((b) => b.hash === at))
|
|
937
945
|
)).pipe(
|
|
938
|
-
(0,
|
|
939
|
-
(0,
|
|
946
|
+
(0, import_rxjs22.take)(1),
|
|
947
|
+
(0, import_rxjs22.mergeMap)(
|
|
940
948
|
(atBlock) => atBlock ? sign$(from, _options, atBlock).pipe(
|
|
941
|
-
(0,
|
|
949
|
+
(0, import_rxjs22.map)((signed) => ({
|
|
942
950
|
tx: (0, import_utils19.toHex)(signed),
|
|
943
951
|
block: atBlock
|
|
944
952
|
}))
|
|
945
|
-
) : (0,
|
|
953
|
+
) : (0, import_rxjs22.throwError)(() => new Error(`Uknown block ${at}`))
|
|
946
954
|
)
|
|
947
955
|
);
|
|
948
956
|
};
|
|
949
|
-
const sign = (from, options) => (0,
|
|
950
|
-
const signAndSubmit = (from, _options) => (0,
|
|
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,
|
|
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,
|
|
967
|
-
chainHead.call$(null, "TransactionPaymentApi_query_info", args).pipe((0,
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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,
|
|
1091
|
+
getFinalizedBlock: () => (0, import_rxjs23.firstValueFrom)(chainHead.finalized$),
|
|
1084
1092
|
bestBlocks$: chainHead.bestBlocks$,
|
|
1085
|
-
getBestBlocks: () => (0,
|
|
1093
|
+
getBestBlocks: () => (0, import_rxjs23.firstValueFrom)(chainHead.bestBlocks$),
|
|
1086
1094
|
watchBlockBody: chainHead.body$,
|
|
1087
|
-
getBlockBody: (hash) => (0,
|
|
1088
|
-
getBlockHeader: (hash) => (0,
|
|
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$),
|