@pezkuwi/api-contract 16.5.5 → 16.5.8
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/Abi/index.d.ts +31 -0
- package/Abi/index.js +359 -0
- package/Abi/toLatestCompatible.d.ts +15 -0
- package/Abi/toLatestCompatible.js +30 -0
- package/Abi/toV1.d.ts +3 -0
- package/Abi/toV1.js +21 -0
- package/Abi/toV2.d.ts +3 -0
- package/Abi/toV2.js +27 -0
- package/Abi/toV3.d.ts +3 -0
- package/Abi/toV3.js +10 -0
- package/Abi/toV4.d.ts +3 -0
- package/Abi/toV4.js +10 -0
- package/LICENSE +201 -0
- package/README.md +1 -1
- package/augment.d.ts +1 -0
- package/augment.js +1 -0
- package/base/Base.d.ts +13 -0
- package/base/Base.js +40 -0
- package/base/Blueprint.d.ts +24 -0
- package/base/Blueprint.js +51 -0
- package/base/Code.d.ts +22 -0
- package/base/Code.js +74 -0
- package/base/Contract.d.ts +25 -0
- package/base/Contract.js +127 -0
- package/base/index.d.ts +3 -0
- package/base/index.js +3 -0
- package/base/mock.d.ts +3 -0
- package/base/mock.js +38 -0
- package/base/types.d.ts +25 -0
- package/base/types.js +1 -0
- package/base/util.d.ts +16 -0
- package/base/util.js +33 -0
- package/build/Abi/index.js +359 -0
- package/build/Abi/toLatestCompatible.js +30 -0
- package/build/Abi/toV1.js +21 -0
- package/build/Abi/toV2.js +27 -0
- package/build/Abi/toV3.js +10 -0
- package/build/Abi/toV4.js +10 -0
- package/build/LICENSE +201 -0
- package/build/README.md +3 -0
- package/build/augment.js +1 -0
- package/build/base/Base.js +40 -0
- package/build/base/Blueprint.js +51 -0
- package/build/base/Code.js +74 -0
- package/build/base/Contract.js +127 -0
- package/build/base/index.js +3 -0
- package/build/base/mock.js +38 -0
- package/build/base/types.js +1 -0
- package/build/base/util.d.ts +1 -1
- package/build/base/util.js +33 -0
- package/build/bundle-pezkuwi-api-contract.js +1238 -0
- package/build/bundle.js +4 -0
- package/build/cjs/Abi/index.d.ts +31 -0
- package/build/cjs/Abi/index.js +363 -0
- package/build/cjs/Abi/toLatestCompatible.d.ts +15 -0
- package/build/cjs/Abi/toLatestCompatible.js +36 -0
- package/build/cjs/Abi/toV1.d.ts +3 -0
- package/build/cjs/Abi/toV1.js +24 -0
- package/build/cjs/Abi/toV2.d.ts +3 -0
- package/build/cjs/Abi/toV2.js +30 -0
- package/build/cjs/Abi/toV3.d.ts +3 -0
- package/build/cjs/Abi/toV3.js +13 -0
- package/build/cjs/Abi/toV4.d.ts +3 -0
- package/build/cjs/Abi/toV4.js +13 -0
- package/build/cjs/augment.d.ts +1 -0
- package/build/cjs/augment.js +3 -0
- package/build/cjs/base/Base.d.ts +13 -0
- package/build/cjs/base/Base.js +44 -0
- package/build/cjs/base/Blueprint.d.ts +24 -0
- package/build/cjs/base/Blueprint.js +57 -0
- package/build/cjs/base/Code.d.ts +22 -0
- package/build/cjs/base/Code.js +80 -0
- package/build/cjs/base/Contract.d.ts +25 -0
- package/build/cjs/base/Contract.js +133 -0
- package/build/cjs/base/index.d.ts +3 -0
- package/build/cjs/base/index.js +14 -0
- package/build/cjs/base/mock.d.ts +3 -0
- package/build/cjs/base/mock.js +41 -0
- package/build/cjs/base/types.d.ts +25 -0
- package/build/cjs/base/types.js +2 -0
- package/build/cjs/base/util.d.ts +16 -0
- package/build/cjs/base/util.js +42 -0
- package/build/cjs/bundle.d.ts +4 -0
- package/build/cjs/bundle.js +10 -0
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +5 -0
- package/build/cjs/package.json +3 -0
- package/build/cjs/packageDetect.d.ts +1 -0
- package/build/cjs/packageDetect.js +7 -0
- package/build/cjs/packageInfo.d.ts +6 -0
- package/build/cjs/packageInfo.js +4 -0
- package/build/cjs/promise/index.d.ts +13 -0
- package/build/cjs/promise/index.js +23 -0
- package/build/cjs/promise/types.d.ts +3 -0
- package/build/cjs/promise/types.js +2 -0
- package/build/cjs/rx/index.d.ts +13 -0
- package/build/cjs/rx/index.js +23 -0
- package/build/cjs/rx/types.d.ts +3 -0
- package/build/cjs/rx/types.js +2 -0
- package/build/cjs/types.d.ts +79 -0
- package/build/cjs/types.js +2 -0
- package/build/cjs/util.d.ts +5 -0
- package/build/cjs/util.js +13 -0
- package/build/index.js +2 -0
- package/build/package.json +408 -0
- package/build/packageDetect.js +5 -0
- package/build/packageInfo.js +1 -0
- package/build/promise/index.js +17 -0
- package/build/promise/types.js +1 -0
- package/build/rx/index.js +17 -0
- package/build/rx/types.js +1 -0
- package/build/types.js +1 -0
- package/build/util.js +10 -0
- package/build-deno/Abi/index.ts +475 -0
- package/build-deno/Abi/toLatestCompatible.ts +47 -0
- package/build-deno/Abi/toV1.ts +33 -0
- package/build-deno/Abi/toV2.ts +56 -0
- package/build-deno/Abi/toV3.ts +16 -0
- package/build-deno/Abi/toV4.ts +19 -0
- package/build-deno/README.md +3 -0
- package/build-deno/augment.ts +2 -0
- package/build-deno/base/Base.ts +50 -0
- package/build-deno/base/Blueprint.ts +88 -0
- package/build-deno/base/Code.ts +140 -0
- package/build-deno/base/Contract.ts +194 -0
- package/build-deno/base/index.ts +4 -0
- package/build-deno/base/mock.ts +46 -0
- package/build-deno/base/types.ts +38 -0
- package/build-deno/base/util.ts +54 -0
- package/build-deno/bundle.ts +6 -0
- package/build-deno/checkTypes.manual.ts +42 -0
- package/build-deno/index.ts +4 -0
- package/build-deno/mod.ts +2 -0
- package/build-deno/packageDetect.ts +9 -0
- package/build-deno/packageInfo.ts +3 -0
- package/build-deno/promise/index.ts +28 -0
- package/build-deno/promise/types.ts +5 -0
- package/build-deno/rx/index.ts +28 -0
- package/build-deno/rx/types.ts +5 -0
- package/build-deno/test/contracts/index.ts +18 -0
- package/build-deno/test/contracts/ink/index.ts +11 -0
- package/build-deno/test/contracts/ink/v0/accumulator.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/adder.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/delegator.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/dns.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/erc20.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/erc721.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/flipper.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/incrementer.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/index.ts +9 -0
- package/build-deno/test/contracts/ink/v0/multisig_plain.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/subber.wasm +0 -0
- package/build-deno/test/contracts/ink/v0/trait-flipper.wasm +0 -0
- package/build-deno/test/contracts/ink/v1/index.ts +3 -0
- package/build-deno/test/contracts/ink/v2/index.ts +3 -0
- package/build-deno/test/contracts/ink/v3/index.ts +3 -0
- package/build-deno/test/contracts/ink/v4/erc20.wasm +0 -0
- package/build-deno/test/contracts/ink/v4/flipper.wasm +0 -0
- package/build-deno/test/contracts/ink/v4/index.ts +5 -0
- package/build-deno/test/contracts/ink/v5/erc20.wasm +0 -0
- package/build-deno/test/contracts/ink/v5/flipper.wasm +0 -0
- package/build-deno/test/contracts/ink/v5/index.ts +6 -0
- package/build-deno/test/contracts/ink/v6/erc20.polkavm +0 -0
- package/build-deno/test/contracts/ink/v6/index.ts +3 -0
- package/build-deno/test/contracts/solang/index.ts +5 -0
- package/build-deno/test/contracts/solang/v0/index.ts +2 -0
- package/build-deno/test/contracts/solang/v0/ints256.sol +13 -0
- package/build-deno/test/contracts/solang/v0/ints256.wasm +0 -0
- package/build-deno/test/contracts/user/index.ts +7 -0
- package/build-deno/test/contracts/user/v0/assetTransfer.wasm +0 -0
- package/build-deno/test/contracts/user/v0/enumExample.wasm +0 -0
- package/build-deno/test/contracts/user/v0/index.ts +5 -0
- package/build-deno/test/contracts/user/v3/index.ts +2 -0
- package/build-deno/test/contracts/user/v4/index.ts +2 -0
- package/build-deno/test/contracts/util.ts +12 -0
- package/build-deno/types.ts +95 -0
- package/build-deno/util.ts +18 -0
- package/build-tsc/Abi/index.d.ts +31 -0
- package/build-tsc/Abi/toLatestCompatible.d.ts +15 -0
- package/build-tsc/Abi/toV1.d.ts +3 -0
- package/build-tsc/Abi/toV2.d.ts +3 -0
- package/build-tsc/Abi/toV3.d.ts +3 -0
- package/build-tsc/Abi/toV4.d.ts +3 -0
- package/build-tsc/augment.d.ts +1 -0
- package/build-tsc/base/Base.d.ts +13 -0
- package/build-tsc/base/Blueprint.d.ts +24 -0
- package/build-tsc/base/Code.d.ts +22 -0
- package/build-tsc/base/Contract.d.ts +25 -0
- package/build-tsc/base/index.d.ts +3 -0
- package/build-tsc/base/mock.d.ts +3 -0
- package/build-tsc/base/types.d.ts +25 -0
- package/build-tsc/base/util.d.ts +16 -0
- package/build-tsc/bundle.d.ts +4 -0
- package/build-tsc/index.d.ts +2 -0
- package/build-tsc/packageDetect.d.ts +1 -0
- package/build-tsc/packageInfo.d.ts +6 -0
- package/build-tsc/promise/index.d.ts +13 -0
- package/build-tsc/promise/types.d.ts +3 -0
- package/build-tsc/rx/index.d.ts +13 -0
- package/build-tsc/rx/types.d.ts +3 -0
- package/build-tsc/types.d.ts +79 -0
- package/build-tsc/util.d.ts +5 -0
- package/build-tsc-cjs/Abi/index.js +363 -0
- package/build-tsc-cjs/Abi/toLatestCompatible.js +36 -0
- package/build-tsc-cjs/Abi/toV1.js +24 -0
- package/build-tsc-cjs/Abi/toV2.js +30 -0
- package/build-tsc-cjs/Abi/toV3.js +13 -0
- package/build-tsc-cjs/Abi/toV4.js +13 -0
- package/build-tsc-cjs/augment.js +3 -0
- package/build-tsc-cjs/base/Base.js +44 -0
- package/build-tsc-cjs/base/Blueprint.js +57 -0
- package/build-tsc-cjs/base/Code.js +80 -0
- package/build-tsc-cjs/base/Contract.js +133 -0
- package/build-tsc-cjs/base/index.js +14 -0
- package/build-tsc-cjs/base/mock.js +41 -0
- package/build-tsc-cjs/base/types.js +2 -0
- package/build-tsc-cjs/base/util.js +42 -0
- package/build-tsc-cjs/bundle.js +10 -0
- package/build-tsc-cjs/index.js +5 -0
- package/build-tsc-cjs/packageDetect.js +7 -0
- package/build-tsc-cjs/packageInfo.js +4 -0
- package/build-tsc-cjs/promise/index.js +23 -0
- package/build-tsc-cjs/promise/types.js +2 -0
- package/build-tsc-cjs/rx/index.js +23 -0
- package/build-tsc-cjs/rx/types.js +2 -0
- package/build-tsc-cjs/types.js +2 -0
- package/build-tsc-cjs/util.js +13 -0
- package/build-tsc-esm/Abi/index.js +359 -0
- package/build-tsc-esm/Abi/toLatestCompatible.js +30 -0
- package/build-tsc-esm/Abi/toV1.js +21 -0
- package/build-tsc-esm/Abi/toV2.js +27 -0
- package/build-tsc-esm/Abi/toV3.js +10 -0
- package/build-tsc-esm/Abi/toV4.js +10 -0
- package/build-tsc-esm/augment.js +1 -0
- package/build-tsc-esm/base/Base.js +40 -0
- package/build-tsc-esm/base/Blueprint.js +51 -0
- package/build-tsc-esm/base/Code.js +74 -0
- package/build-tsc-esm/base/Contract.js +127 -0
- package/build-tsc-esm/base/index.js +3 -0
- package/build-tsc-esm/base/mock.js +38 -0
- package/build-tsc-esm/base/types.js +1 -0
- package/build-tsc-esm/base/util.js +33 -0
- package/build-tsc-esm/bundle.js +4 -0
- package/build-tsc-esm/index.js +2 -0
- package/build-tsc-esm/packageDetect.js +5 -0
- package/build-tsc-esm/packageInfo.js +1 -0
- package/build-tsc-esm/promise/index.js +17 -0
- package/build-tsc-esm/promise/types.js +1 -0
- package/build-tsc-esm/rx/index.js +17 -0
- package/build-tsc-esm/rx/types.js +1 -0
- package/build-tsc-esm/types.js +1 -0
- package/build-tsc-esm/util.js +10 -0
- package/bundle-pezkuwi-api-contract.js +1238 -0
- package/bundle.d.ts +4 -0
- package/bundle.js +4 -0
- package/cjs/Abi/index.d.ts +31 -0
- package/cjs/Abi/index.js +363 -0
- package/cjs/Abi/toLatestCompatible.d.ts +15 -0
- package/cjs/Abi/toLatestCompatible.js +36 -0
- package/cjs/Abi/toV1.d.ts +3 -0
- package/cjs/Abi/toV1.js +24 -0
- package/cjs/Abi/toV2.d.ts +3 -0
- package/cjs/Abi/toV2.js +30 -0
- package/cjs/Abi/toV3.d.ts +3 -0
- package/cjs/Abi/toV3.js +13 -0
- package/cjs/Abi/toV4.d.ts +3 -0
- package/cjs/Abi/toV4.js +13 -0
- package/cjs/augment.d.ts +1 -0
- package/cjs/augment.js +3 -0
- package/cjs/base/Base.d.ts +13 -0
- package/cjs/base/Base.js +44 -0
- package/cjs/base/Blueprint.d.ts +24 -0
- package/cjs/base/Blueprint.js +57 -0
- package/cjs/base/Code.d.ts +22 -0
- package/cjs/base/Code.js +80 -0
- package/cjs/base/Contract.d.ts +25 -0
- package/cjs/base/Contract.js +133 -0
- package/cjs/base/index.d.ts +3 -0
- package/cjs/base/index.js +14 -0
- package/cjs/base/mock.d.ts +3 -0
- package/cjs/base/mock.js +41 -0
- package/cjs/base/types.d.ts +25 -0
- package/cjs/base/types.js +2 -0
- package/cjs/base/util.d.ts +16 -0
- package/cjs/base/util.js +42 -0
- package/cjs/bundle.d.ts +4 -0
- package/cjs/bundle.js +10 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +5 -0
- package/cjs/package.json +3 -0
- package/cjs/packageDetect.d.ts +1 -0
- package/cjs/packageDetect.js +7 -0
- package/cjs/packageInfo.d.ts +6 -0
- package/cjs/packageInfo.js +4 -0
- package/cjs/promise/index.d.ts +13 -0
- package/cjs/promise/index.js +23 -0
- package/cjs/promise/types.d.ts +3 -0
- package/cjs/promise/types.js +2 -0
- package/cjs/rx/index.d.ts +13 -0
- package/cjs/rx/index.js +23 -0
- package/cjs/rx/types.d.ts +3 -0
- package/cjs/rx/types.js +2 -0
- package/cjs/types.d.ts +79 -0
- package/cjs/types.js +2 -0
- package/cjs/util.d.ts +5 -0
- package/cjs/util.js +13 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/package.json +384 -15
- package/packageDetect.d.ts +1 -0
- package/packageDetect.js +5 -0
- package/packageInfo.d.ts +6 -0
- package/packageInfo.js +1 -0
- package/promise/index.d.ts +13 -0
- package/promise/index.js +17 -0
- package/promise/types.d.ts +3 -0
- package/promise/types.js +1 -0
- package/rx/index.d.ts +13 -0
- package/rx/index.js +17 -0
- package/rx/types.d.ts +3 -0
- package/rx/types.js +1 -0
- package/src/Abi/Abi.spec.ts +2 -2
- package/src/Abi/index.ts +1 -1
- package/src/Abi/toLatestCompatible.spec.ts +1 -1
- package/src/Abi/toLatestCompatible.ts +1 -1
- package/src/Abi/toV1.ts +1 -1
- package/src/Abi/toV2.ts +1 -1
- package/src/Abi/toV3.ts +1 -1
- package/src/Abi/toV4.ts +1 -1
- package/src/augment.ts +1 -1
- package/src/base/Base.ts +1 -1
- package/src/base/Blueprint.ts +1 -1
- package/src/base/Code.spec.ts +1 -1
- package/src/base/Code.ts +1 -1
- package/src/base/Contract.ts +1 -1
- package/src/base/index.ts +1 -1
- package/src/base/mock.ts +1 -1
- package/src/base/types.ts +1 -1
- package/src/base/util.ts +1 -1
- package/src/bundle.ts +1 -1
- package/src/checkTypes.manual.ts +4 -4
- package/src/index.ts +1 -1
- package/src/mod.ts +1 -1
- package/src/packageDetect.ts +2 -2
- package/src/packageInfo.ts +3 -3
- package/src/promise/index.ts +1 -1
- package/src/promise/types.ts +1 -1
- package/src/rx/index.ts +1 -1
- package/src/rx/types.ts +1 -1
- package/src/test/contracts/index.ts +1 -1
- package/src/test/contracts/ink/index.ts +1 -1
- package/src/test/contracts/ink/v0/index.ts +1 -1
- package/src/test/contracts/ink/v1/index.ts +1 -1
- package/src/test/contracts/ink/v2/index.ts +1 -1
- package/src/test/contracts/ink/v3/index.ts +1 -1
- package/src/test/contracts/ink/v4/index.ts +1 -1
- package/src/test/contracts/ink/v5/index.ts +1 -1
- package/src/test/contracts/ink/v6/index.ts +1 -1
- package/src/test/contracts/solang/index.ts +1 -1
- package/src/test/contracts/solang/v0/index.ts +1 -1
- package/src/test/contracts/user/index.ts +1 -1
- package/src/test/contracts/user/v0/index.ts +1 -1
- package/src/test/contracts/user/v3/index.ts +1 -1
- package/src/test/contracts/user/v4/index.ts +1 -1
- package/src/test/contracts/util.ts +1 -1
- package/src/types.ts +1 -1
- package/src/util.ts +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.spec.tsbuildinfo +1 -0
- package/types.d.ts +79 -0
- package/types.js +1 -0
- package/util.d.ts +5 -0
- package/util.js +10 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Blueprint = exports.BlueprintSubmittableResult = void 0;
|
|
4
|
+
exports.extendBlueprint = extendBlueprint;
|
|
5
|
+
const api_1 = require("@pezkuwi/api");
|
|
6
|
+
const util_1 = require("@pezkuwi/util");
|
|
7
|
+
const util_js_1 = require("../util.js");
|
|
8
|
+
const Base_js_1 = require("./Base.js");
|
|
9
|
+
const Contract_js_1 = require("./Contract.js");
|
|
10
|
+
const util_js_2 = require("./util.js");
|
|
11
|
+
class BlueprintSubmittableResult extends api_1.SubmittableResult {
|
|
12
|
+
contract;
|
|
13
|
+
constructor(result, contract) {
|
|
14
|
+
super(result);
|
|
15
|
+
this.contract = contract;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.BlueprintSubmittableResult = BlueprintSubmittableResult;
|
|
19
|
+
class Blueprint extends Base_js_1.Base {
|
|
20
|
+
/**
|
|
21
|
+
* @description The on-chain code hash for this blueprint
|
|
22
|
+
*/
|
|
23
|
+
codeHash;
|
|
24
|
+
#tx = {};
|
|
25
|
+
constructor(api, abi, codeHash, decorateMethod) {
|
|
26
|
+
super(api, abi, decorateMethod);
|
|
27
|
+
this.codeHash = this.registry.createType('Hash', codeHash);
|
|
28
|
+
this.abi.constructors.forEach((c) => {
|
|
29
|
+
if ((0, util_1.isUndefined)(this.#tx[c.method])) {
|
|
30
|
+
this.#tx[c.method] = (0, util_js_2.createBluePrintTx)(c, (o, p) => this.#deploy(c, o, p));
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
get tx() {
|
|
35
|
+
return this.#tx;
|
|
36
|
+
}
|
|
37
|
+
#deploy = (constructorOrId, { gasLimit = util_1.BN_ZERO, salt, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
|
|
38
|
+
const palletTx = this._isRevive
|
|
39
|
+
? this.api.tx.revive
|
|
40
|
+
: this.api.tx.contracts;
|
|
41
|
+
return palletTx.instantiate(value,
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
43
|
+
// @ts-ignore jiggle v1 weights, metadata points to latest
|
|
44
|
+
this._isWeightV1
|
|
45
|
+
? (0, util_js_2.convertWeight)(gasLimit).v1Weight
|
|
46
|
+
: (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, this.codeHash, this.abi.findConstructor(constructorOrId).toU8a(params), (0, util_js_2.encodeSalt)(salt)).withResultTransform((result) => new BlueprintSubmittableResult(result, (0, util_js_1.applyOnEvent)(result, ['Instantiated'], ([record]) => new Contract_js_1.Contract(this.api, this.abi, record.event.data[1], this._decorateMethod), this._isRevive)));
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
exports.Blueprint = Blueprint;
|
|
50
|
+
function extendBlueprint(type, decorateMethod) {
|
|
51
|
+
return class extends Blueprint {
|
|
52
|
+
static __BlueprintType = type;
|
|
53
|
+
constructor(api, abi, codeHash) {
|
|
54
|
+
super(api, abi, codeHash, decorateMethod);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Code = exports.CodeSubmittableResult = void 0;
|
|
4
|
+
exports.extendCode = extendCode;
|
|
5
|
+
const api_1 = require("@pezkuwi/api");
|
|
6
|
+
const util_1 = require("@pezkuwi/util");
|
|
7
|
+
const util_js_1 = require("../util.js");
|
|
8
|
+
const Base_js_1 = require("./Base.js");
|
|
9
|
+
const Blueprint_js_1 = require("./Blueprint.js");
|
|
10
|
+
const Contract_js_1 = require("./Contract.js");
|
|
11
|
+
const util_js_2 = require("./util.js");
|
|
12
|
+
class CodeSubmittableResult extends api_1.SubmittableResult {
|
|
13
|
+
blueprint;
|
|
14
|
+
contract;
|
|
15
|
+
constructor(result, blueprint, contract) {
|
|
16
|
+
super(result);
|
|
17
|
+
this.blueprint = blueprint;
|
|
18
|
+
this.contract = contract;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.CodeSubmittableResult = CodeSubmittableResult;
|
|
22
|
+
function isValidCode(code) {
|
|
23
|
+
return (0, util_1.isWasm)(code) || (0, util_1.isRiscV)(code);
|
|
24
|
+
}
|
|
25
|
+
class Code extends Base_js_1.Base {
|
|
26
|
+
code;
|
|
27
|
+
#tx = {};
|
|
28
|
+
constructor(api, abi, wasm, decorateMethod) {
|
|
29
|
+
super(api, abi, decorateMethod);
|
|
30
|
+
this.code = isValidCode(this.abi.info.source.wasm)
|
|
31
|
+
? this.abi.info.source.wasm
|
|
32
|
+
: (0, util_1.u8aToU8a)(wasm);
|
|
33
|
+
if (!isValidCode(this.code)) {
|
|
34
|
+
throw new Error('Invalid code provided');
|
|
35
|
+
}
|
|
36
|
+
this.abi.constructors.forEach((c) => {
|
|
37
|
+
if ((0, util_1.isUndefined)(this.#tx[c.method])) {
|
|
38
|
+
this.#tx[c.method] = (0, util_js_2.createBluePrintTx)(c, (o, p) => this.#instantiate(c, o, p));
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
get tx() {
|
|
43
|
+
return this.#tx;
|
|
44
|
+
}
|
|
45
|
+
#instantiate = (constructorOrId, { gasLimit = util_1.BN_ZERO, salt, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
|
|
46
|
+
const palletTx = this._isRevive ? this.api.tx.revive : this.api.tx.contracts;
|
|
47
|
+
if (this._isRevive) {
|
|
48
|
+
return palletTx.instantiateWithCode(value,
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
50
|
+
// @ts-ignore jiggle v1 weights, metadata points to latest
|
|
51
|
+
this._isWeightV1
|
|
52
|
+
? (0, util_js_2.convertWeight)(gasLimit).v1Weight
|
|
53
|
+
: (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, (0, util_1.compactAddLength)(this.code), this.abi.findConstructor(constructorOrId).toU8a(params), (0, util_js_2.encodeSalt)(salt)).withResultTransform((result) => new CodeSubmittableResult(result, ...((0, util_js_1.applyOnEvent)(result, ['Instantiated'], (records) => records.reduce(([blueprint, contract], { event }) => this.api.events.revive['Instantiated'].is(event)
|
|
54
|
+
? [
|
|
55
|
+
blueprint,
|
|
56
|
+
new Contract_js_1.Contract(this.api, this.abi, event.data[1], this._decorateMethod)
|
|
57
|
+
]
|
|
58
|
+
: [blueprint, contract], [undefined, undefined]), this._isRevive) || [undefined, undefined])));
|
|
59
|
+
}
|
|
60
|
+
return palletTx.instantiateWithCode(value,
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
62
|
+
// @ts-ignore jiggle v1 weights, metadata points to latest
|
|
63
|
+
this._isWeightV1
|
|
64
|
+
? (0, util_js_2.convertWeight)(gasLimit).v1Weight
|
|
65
|
+
: (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, (0, util_1.compactAddLength)(this.code), this.abi.findConstructor(constructorOrId).toU8a(params), (0, util_js_2.encodeSalt)(salt)).withResultTransform((result) => new CodeSubmittableResult(result, ...((0, util_js_1.applyOnEvent)(result, ['CodeStored', 'Instantiated'], (records) => records.reduce(([blueprint, contract], { event }) => this.api.events.contracts.Instantiated.is(event)
|
|
66
|
+
? [blueprint, new Contract_js_1.Contract(this.api, this.abi, event.data[1], this._decorateMethod)]
|
|
67
|
+
: this.api.events.contracts.CodeStored.is(event)
|
|
68
|
+
? [new Blueprint_js_1.Blueprint(this.api, this.abi, event.data[0], this._decorateMethod), contract]
|
|
69
|
+
: [blueprint, contract], [undefined, undefined]), this._isRevive) || [undefined, undefined])));
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
exports.Code = Code;
|
|
73
|
+
function extendCode(type, decorateMethod) {
|
|
74
|
+
return class extends Code {
|
|
75
|
+
static __CodeType = type;
|
|
76
|
+
constructor(api, abi, wasm) {
|
|
77
|
+
super(api, abi, wasm, decorateMethod);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Contract = exports.ContractSubmittableResult = void 0;
|
|
4
|
+
exports.extendContract = extendContract;
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
const api_1 = require("@pezkuwi/api");
|
|
7
|
+
const util_1 = require("@pezkuwi/util");
|
|
8
|
+
const util_js_1 = require("../util.js");
|
|
9
|
+
const Base_js_1 = require("./Base.js");
|
|
10
|
+
const util_js_2 = require("./util.js");
|
|
11
|
+
const MAX_CALL_GAS = new util_1.BN(5_000_000_000_000).isub(util_1.BN_ONE);
|
|
12
|
+
const l = (0, util_1.logger)('Contract');
|
|
13
|
+
function createQuery(meta, fn) {
|
|
14
|
+
return (0, util_js_2.withMeta)(meta, (origin, options, ...params) => fn(origin, options, params));
|
|
15
|
+
}
|
|
16
|
+
function createTx(meta, fn) {
|
|
17
|
+
return (0, util_js_2.withMeta)(meta, (options, ...params) => fn(options, params));
|
|
18
|
+
}
|
|
19
|
+
class ContractSubmittableResult extends api_1.SubmittableResult {
|
|
20
|
+
contractEvents;
|
|
21
|
+
constructor(result, contractEvents) {
|
|
22
|
+
super(result);
|
|
23
|
+
this.contractEvents = contractEvents;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ContractSubmittableResult = ContractSubmittableResult;
|
|
27
|
+
class Contract extends Base_js_1.Base {
|
|
28
|
+
/**
|
|
29
|
+
* @description The on-chain address for this contract
|
|
30
|
+
*/
|
|
31
|
+
address;
|
|
32
|
+
#query = {};
|
|
33
|
+
#tx = {};
|
|
34
|
+
constructor(api, abi, address, decorateMethod) {
|
|
35
|
+
super(api, abi, decorateMethod);
|
|
36
|
+
this.address = this.registry.createType(this._isRevive ? 'AccountId20' : 'AccountId', address);
|
|
37
|
+
this.abi.messages.forEach((m) => {
|
|
38
|
+
if ((0, util_1.isUndefined)(this.#tx[m.method])) {
|
|
39
|
+
this.#tx[m.method] = createTx(m, (o, p) => this.#exec(m, o, p));
|
|
40
|
+
}
|
|
41
|
+
if ((0, util_1.isUndefined)(this.#query[m.method])) {
|
|
42
|
+
this.#query[m.method] = createQuery(m, (f, o, p) => this.#read(m, o, p).send(f));
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
get query() {
|
|
47
|
+
return this.#query;
|
|
48
|
+
}
|
|
49
|
+
get tx() {
|
|
50
|
+
return this.#tx;
|
|
51
|
+
}
|
|
52
|
+
#getGas = (_gasLimit, isCall = false) => {
|
|
53
|
+
const weight = (0, util_js_2.convertWeight)(_gasLimit);
|
|
54
|
+
if (weight.v1Weight.gt(util_1.BN_ZERO)) {
|
|
55
|
+
return weight;
|
|
56
|
+
}
|
|
57
|
+
return (0, util_js_2.convertWeight)(isCall
|
|
58
|
+
? MAX_CALL_GAS
|
|
59
|
+
: (0, util_js_2.convertWeight)(this.api.consts.system.blockWeights
|
|
60
|
+
? this.api.consts.system.blockWeights.maxBlock
|
|
61
|
+
: this.api.consts.system['maximumBlockWeight']).v1Weight.muln(64).div(util_1.BN_HUNDRED));
|
|
62
|
+
};
|
|
63
|
+
#exec = (messageOrId, { gasLimit = util_1.BN_ZERO, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
|
|
64
|
+
const palletTx = this._isRevive ? this.api.tx.revive : this.api.tx.contracts;
|
|
65
|
+
return palletTx.call(this.address, value,
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
67
|
+
// @ts-ignore jiggle v1 weights, metadata points to latest
|
|
68
|
+
this._isWeightV1
|
|
69
|
+
? (0, util_js_2.convertWeight)(gasLimit).v1Weight
|
|
70
|
+
: (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, this.abi.findMessage(messageOrId).toU8a(params)).withResultTransform((result) =>
|
|
71
|
+
// ContractEmitted is the current generation, ContractExecution is the previous generation
|
|
72
|
+
new ContractSubmittableResult(result, (0, util_js_1.applyOnEvent)(result, ['ContractEmitted', 'ContractExecution'], (records) => records
|
|
73
|
+
// Filter to only decode events emitted by this specific contract instance.
|
|
74
|
+
.filter((record) => {
|
|
75
|
+
try {
|
|
76
|
+
const contractAddress = record.event.data[0];
|
|
77
|
+
if (this.address.eq(contractAddress)) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
l.debug(`Skipping event from different contract ${contractAddress.toString()} (this contract: ${this.address.toString()})`);
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
l.warn(`Unable to extract contract address from event: ${error.message}`);
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
.map((record) => {
|
|
89
|
+
try {
|
|
90
|
+
return this.abi.decodeEvent(record);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
l.error(`Unable to decode contract event: ${error.message}`);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
.filter((decoded) => !!decoded), this._isRevive)));
|
|
98
|
+
};
|
|
99
|
+
#read = (messageOrId, { gasLimit = util_1.BN_ZERO, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
|
|
100
|
+
const message = this.abi.findMessage(messageOrId);
|
|
101
|
+
return {
|
|
102
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
103
|
+
send: this._decorateMethod((origin) => (this._isRevive
|
|
104
|
+
? this.api.rx.call.reviveApi.call
|
|
105
|
+
: this.api.rx.call.contractsApi.call)(origin, this.address, value,
|
|
106
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
107
|
+
// @ts-ignore jiggle v1 weights, metadata points to latest
|
|
108
|
+
this._isWeightV1
|
|
109
|
+
? this.#getGas(gasLimit, true).v1Weight
|
|
110
|
+
: this.#getGas(gasLimit, true).v2Weight, storageDepositLimit, message.toU8a(params)).pipe((0, rxjs_1.map)(({ debugMessage, gasConsumed, gasRequired, result, storageDeposit }) => ({
|
|
111
|
+
debugMessage,
|
|
112
|
+
gasConsumed,
|
|
113
|
+
gasRequired: gasRequired && !(0, util_js_2.convertWeight)(gasRequired).v1Weight.isZero()
|
|
114
|
+
? gasRequired
|
|
115
|
+
: gasConsumed,
|
|
116
|
+
output: result.isOk && message.returnType
|
|
117
|
+
? this.abi.registry.createTypeUnsafe(message.returnType.lookupName || message.returnType.type, [result.asOk.data.toU8a(true)], { isPedantic: true })
|
|
118
|
+
: null,
|
|
119
|
+
result,
|
|
120
|
+
storageDeposit
|
|
121
|
+
}))))
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
exports.Contract = Contract;
|
|
126
|
+
function extendContract(type, decorateMethod) {
|
|
127
|
+
return class extends Contract {
|
|
128
|
+
static __ContractType = type;
|
|
129
|
+
constructor(api, abi, address) {
|
|
130
|
+
super(api, abi, address, decorateMethod);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extendContract = exports.Contract = exports.extendCode = exports.CodeSubmittableResult = exports.Code = exports.extendBlueprint = exports.BlueprintSubmittableResult = exports.Blueprint = void 0;
|
|
4
|
+
var Blueprint_js_1 = require("./Blueprint.js");
|
|
5
|
+
Object.defineProperty(exports, "Blueprint", { enumerable: true, get: function () { return Blueprint_js_1.Blueprint; } });
|
|
6
|
+
Object.defineProperty(exports, "BlueprintSubmittableResult", { enumerable: true, get: function () { return Blueprint_js_1.BlueprintSubmittableResult; } });
|
|
7
|
+
Object.defineProperty(exports, "extendBlueprint", { enumerable: true, get: function () { return Blueprint_js_1.extendBlueprint; } });
|
|
8
|
+
var Code_js_1 = require("./Code.js");
|
|
9
|
+
Object.defineProperty(exports, "Code", { enumerable: true, get: function () { return Code_js_1.Code; } });
|
|
10
|
+
Object.defineProperty(exports, "CodeSubmittableResult", { enumerable: true, get: function () { return Code_js_1.CodeSubmittableResult; } });
|
|
11
|
+
Object.defineProperty(exports, "extendCode", { enumerable: true, get: function () { return Code_js_1.extendCode; } });
|
|
12
|
+
var Contract_js_1 = require("./Contract.js");
|
|
13
|
+
Object.defineProperty(exports, "Contract", { enumerable: true, get: function () { return Contract_js_1.Contract; } });
|
|
14
|
+
Object.defineProperty(exports, "extendContract", { enumerable: true, get: function () { return Contract_js_1.extendContract; } });
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mockReviveApi = exports.mockApi = void 0;
|
|
4
|
+
const types_1 = require("@pezkuwi/types");
|
|
5
|
+
const registry = new types_1.TypeRegistry();
|
|
6
|
+
const instantiateWithCode = () => {
|
|
7
|
+
throw new Error('mock');
|
|
8
|
+
};
|
|
9
|
+
instantiateWithCode.meta = { args: new Array(6) };
|
|
10
|
+
exports.mockApi = {
|
|
11
|
+
call: {
|
|
12
|
+
contractsApi: {
|
|
13
|
+
call: () => {
|
|
14
|
+
throw new Error('mock');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
isConnected: true,
|
|
19
|
+
registry,
|
|
20
|
+
tx: {
|
|
21
|
+
contracts: {
|
|
22
|
+
instantiateWithCode
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.mockReviveApi = {
|
|
27
|
+
call: {
|
|
28
|
+
reviveApi: {
|
|
29
|
+
call: () => {
|
|
30
|
+
throw new Error('mock');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
isConnected: true,
|
|
35
|
+
registry,
|
|
36
|
+
tx: {
|
|
37
|
+
revive: {
|
|
38
|
+
instantiateWithCode
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EMPTY_SALT = void 0;
|
|
4
|
+
exports.withMeta = withMeta;
|
|
5
|
+
exports.createBluePrintTx = createBluePrintTx;
|
|
6
|
+
exports.createBluePrintWithId = createBluePrintWithId;
|
|
7
|
+
exports.encodeSalt = encodeSalt;
|
|
8
|
+
exports.convertWeight = convertWeight;
|
|
9
|
+
exports.isWeightV2 = isWeightV2;
|
|
10
|
+
const types_1 = require("@pezkuwi/types");
|
|
11
|
+
const util_1 = require("@pezkuwi/util");
|
|
12
|
+
const util_crypto_1 = require("@pezkuwi/util-crypto");
|
|
13
|
+
exports.EMPTY_SALT = new Uint8Array();
|
|
14
|
+
function withMeta(meta, creator) {
|
|
15
|
+
creator.meta = meta;
|
|
16
|
+
return creator;
|
|
17
|
+
}
|
|
18
|
+
function createBluePrintTx(meta, fn) {
|
|
19
|
+
return withMeta(meta, (options, ...params) => fn(options, params));
|
|
20
|
+
}
|
|
21
|
+
function createBluePrintWithId(fn) {
|
|
22
|
+
return (constructorOrId, options, ...params) => fn(constructorOrId, options, params);
|
|
23
|
+
}
|
|
24
|
+
function encodeSalt(salt = (0, util_crypto_1.randomAsU8a)()) {
|
|
25
|
+
return salt instanceof types_1.Bytes
|
|
26
|
+
? salt
|
|
27
|
+
: salt?.length
|
|
28
|
+
? (0, util_1.compactAddLength)((0, util_1.u8aToU8a)(salt))
|
|
29
|
+
: exports.EMPTY_SALT;
|
|
30
|
+
}
|
|
31
|
+
function convertWeight(weight) {
|
|
32
|
+
const [refTime, proofSize] = isWeightV2(weight)
|
|
33
|
+
? [weight.refTime.toBn(), weight.proofSize.toBn()]
|
|
34
|
+
: [(0, util_1.bnToBn)(weight), undefined];
|
|
35
|
+
return {
|
|
36
|
+
v1Weight: refTime,
|
|
37
|
+
v2Weight: { proofSize, refTime }
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function isWeightV2(weight) {
|
|
41
|
+
return !!weight.proofSize;
|
|
42
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.packageInfo = exports.Abi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var index_js_1 = require("./Abi/index.js");
|
|
6
|
+
Object.defineProperty(exports, "Abi", { enumerable: true, get: function () { return index_js_1.Abi; } });
|
|
7
|
+
var packageInfo_js_1 = require("./packageInfo.js");
|
|
8
|
+
Object.defineProperty(exports, "packageInfo", { enumerable: true, get: function () { return packageInfo_js_1.packageInfo; } });
|
|
9
|
+
tslib_1.__exportStar(require("./promise/index.js"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./rx/index.js"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const packageInfo_1 = require("@pezkuwi/api/packageInfo");
|
|
4
|
+
const packageInfo_2 = require("@pezkuwi/types/packageInfo");
|
|
5
|
+
const util_1 = require("@pezkuwi/util");
|
|
6
|
+
const packageInfo_js_1 = require("./packageInfo.js");
|
|
7
|
+
(0, util_1.detectPackage)(packageInfo_js_1.packageInfo, null, [packageInfo_1.packageInfo, packageInfo_2.packageInfo]);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContractPromise = exports.CodePromise = exports.BlueprintPromise = void 0;
|
|
4
|
+
const api_1 = require("@pezkuwi/api");
|
|
5
|
+
const index_js_1 = require("../base/index.js");
|
|
6
|
+
class BlueprintPromise extends index_js_1.Blueprint {
|
|
7
|
+
constructor(api, abi, codeHash) {
|
|
8
|
+
super(api, abi, codeHash, api_1.toPromiseMethod);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.BlueprintPromise = BlueprintPromise;
|
|
12
|
+
class CodePromise extends index_js_1.Code {
|
|
13
|
+
constructor(api, abi, wasm) {
|
|
14
|
+
super(api, abi, wasm, api_1.toPromiseMethod);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CodePromise = CodePromise;
|
|
18
|
+
class ContractPromise extends index_js_1.Contract {
|
|
19
|
+
constructor(api, abi, address) {
|
|
20
|
+
super(api, abi, address, api_1.toPromiseMethod);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ContractPromise = ContractPromise;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContractRx = exports.CodeRx = exports.BlueprintRx = void 0;
|
|
4
|
+
const api_1 = require("@pezkuwi/api");
|
|
5
|
+
const index_js_1 = require("../base/index.js");
|
|
6
|
+
class BlueprintRx extends index_js_1.Blueprint {
|
|
7
|
+
constructor(api, abi, codeHash) {
|
|
8
|
+
super(api, abi, codeHash, api_1.toRxMethod);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.BlueprintRx = BlueprintRx;
|
|
12
|
+
class CodeRx extends index_js_1.Code {
|
|
13
|
+
constructor(api, abi, wasm) {
|
|
14
|
+
super(api, abi, wasm, api_1.toRxMethod);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CodeRx = CodeRx;
|
|
18
|
+
class ContractRx extends index_js_1.Contract {
|
|
19
|
+
constructor(api, abi, address) {
|
|
20
|
+
super(api, abi, address, api_1.toRxMethod);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ContractRx = ContractRx;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyOnEvent = applyOnEvent;
|
|
4
|
+
function applyOnEvent(result, types, fn, isRevive) {
|
|
5
|
+
if (result.isInBlock || result.isFinalized) {
|
|
6
|
+
const section = isRevive ? 'revive' : 'contracts';
|
|
7
|
+
const records = result.filterRecords(section, types);
|
|
8
|
+
if (records.length) {
|
|
9
|
+
return fn(records);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|