@peeramid-labs/sdk 3.0.2 → 3.1.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/cli/cli/client.js +6 -5
- package/cli/cli/client.js.map +1 -1
- package/cli/cli/commands/distributions/index.js +3 -1
- package/cli/cli/commands/distributions/index.js.map +1 -1
- package/cli/cli/commands/distributions/state.js +38 -0
- package/cli/cli/commands/distributions/state.js.map +1 -0
- package/cli/cli/commands/eds/index.js +59 -0
- package/cli/cli/commands/eds/index.js.map +1 -0
- package/cli/eds/Distributor.js +11 -1
- package/cli/eds/Distributor.js.map +1 -1
- package/cli/multipass/MultipassBase.js +14 -7
- package/cli/multipass/MultipassBase.js.map +1 -1
- package/cli/rankify/MAODistributor.js +117 -73
- package/cli/rankify/MAODistributor.js.map +1 -1
- package/cli/rankify/RankToken.js +24 -13
- package/cli/rankify/RankToken.js.map +1 -1
- package/cli/utils/ApiError.js +33 -0
- package/cli/utils/ApiError.js.map +1 -1
- package/cli/utils/artifacts.js +31 -2
- package/cli/utils/artifacts.js.map +1 -1
- package/docs/classes/GameMaster.md +31 -5
- package/docs/classes/InstanceBase.md +24 -5
- package/docs/classes/InstancePlayer.md +47 -19
- package/docs/classes/MAODistributorClient.md +44 -11
- package/docs/classes/Multipass.md +11 -0
- package/docs/classes/MultipassBase.md +7 -0
- package/docs/docs/classes/GameMaster.md +31 -5
- package/docs/docs/classes/InstanceBase.md +24 -5
- package/docs/docs/classes/InstancePlayer.md +47 -19
- package/docs/docs/classes/MAODistributorClient.md +44 -11
- package/docs/docs/classes/Multipass.md +11 -0
- package/docs/docs/classes/MultipassBase.md +7 -0
- package/docs/docs/index.md +42 -1
- package/docs/index.md +42 -1
- package/lib.commonjs/eds/Distributor.d.ts +4 -1
- package/lib.commonjs/eds/Distributor.d.ts.map +1 -1
- package/lib.commonjs/eds/Distributor.js +12 -1
- package/lib.commonjs/eds/Distributor.js.map +1 -1
- package/lib.commonjs/multipass/MultipassBase.d.ts +1 -0
- package/lib.commonjs/multipass/MultipassBase.d.ts.map +1 -1
- package/lib.commonjs/multipass/MultipassBase.js +15 -7
- package/lib.commonjs/multipass/MultipassBase.js.map +1 -1
- package/lib.commonjs/rankify/GameMaster.d.ts.map +1 -1
- package/lib.commonjs/rankify/GameMaster.js +137 -111
- package/lib.commonjs/rankify/GameMaster.js.map +1 -1
- package/lib.commonjs/rankify/InstanceBase.d.ts +10 -7
- package/lib.commonjs/rankify/InstanceBase.d.ts.map +1 -1
- package/lib.commonjs/rankify/InstanceBase.js +222 -169
- package/lib.commonjs/rankify/InstanceBase.js.map +1 -1
- package/lib.commonjs/rankify/MAODistributor.d.ts +22 -3
- package/lib.commonjs/rankify/MAODistributor.d.ts.map +1 -1
- package/lib.commonjs/rankify/MAODistributor.js +117 -73
- package/lib.commonjs/rankify/MAODistributor.js.map +1 -1
- package/lib.commonjs/rankify/Player.d.ts +13 -9
- package/lib.commonjs/rankify/Player.d.ts.map +1 -1
- package/lib.commonjs/rankify/Player.js +173 -125
- package/lib.commonjs/rankify/Player.js.map +1 -1
- package/lib.commonjs/rankify/RankToken.d.ts.map +1 -1
- package/lib.commonjs/rankify/RankToken.js +24 -13
- package/lib.commonjs/rankify/RankToken.js.map +1 -1
- package/lib.commonjs/utils/ApiError.d.ts +1 -0
- package/lib.commonjs/utils/ApiError.d.ts.map +1 -1
- package/lib.commonjs/utils/ApiError.js +33 -0
- package/lib.commonjs/utils/ApiError.js.map +1 -1
- package/lib.commonjs/utils/artifacts.d.ts +9 -0
- package/lib.commonjs/utils/artifacts.d.ts.map +1 -1
- package/lib.commonjs/utils/artifacts.js +31 -2
- package/lib.commonjs/utils/artifacts.js.map +1 -1
- package/lib.esm/eds/Distributor.d.ts +4 -1
- package/lib.esm/eds/Distributor.d.ts.map +1 -1
- package/lib.esm/eds/Distributor.js +12 -1
- package/lib.esm/eds/Distributor.js.map +1 -1
- package/lib.esm/multipass/MultipassBase.d.ts +1 -0
- package/lib.esm/multipass/MultipassBase.d.ts.map +1 -1
- package/lib.esm/multipass/MultipassBase.js +15 -7
- package/lib.esm/multipass/MultipassBase.js.map +1 -1
- package/lib.esm/rankify/GameMaster.d.ts.map +1 -1
- package/lib.esm/rankify/GameMaster.js +137 -111
- package/lib.esm/rankify/GameMaster.js.map +1 -1
- package/lib.esm/rankify/InstanceBase.d.ts +10 -7
- package/lib.esm/rankify/InstanceBase.d.ts.map +1 -1
- package/lib.esm/rankify/InstanceBase.js +223 -170
- package/lib.esm/rankify/InstanceBase.js.map +1 -1
- package/lib.esm/rankify/MAODistributor.d.ts +22 -3
- package/lib.esm/rankify/MAODistributor.d.ts.map +1 -1
- package/lib.esm/rankify/MAODistributor.js +119 -75
- package/lib.esm/rankify/MAODistributor.js.map +1 -1
- package/lib.esm/rankify/Player.d.ts +13 -9
- package/lib.esm/rankify/Player.d.ts.map +1 -1
- package/lib.esm/rankify/Player.js +173 -125
- package/lib.esm/rankify/Player.js.map +1 -1
- package/lib.esm/rankify/RankToken.d.ts.map +1 -1
- package/lib.esm/rankify/RankToken.js +24 -13
- package/lib.esm/rankify/RankToken.js.map +1 -1
- package/lib.esm/utils/ApiError.d.ts +1 -0
- package/lib.esm/utils/ApiError.d.ts.map +1 -1
- package/lib.esm/utils/ApiError.js +32 -0
- package/lib.esm/utils/ApiError.js.map +1 -1
- package/lib.esm/utils/artifacts.d.ts +9 -0
- package/lib.esm/utils/artifacts.d.ts.map +1 -1
- package/lib.esm/utils/artifacts.js +29 -1
- package/lib.esm/utils/artifacts.js.map +1 -1
- package/package.json +3 -3
package/cli/cli/client.js
CHANGED
|
@@ -24,11 +24,11 @@ const createWallet = async (rpcUrl, key) => {
|
|
|
24
24
|
if (!signerKey) {
|
|
25
25
|
throw new Error("Private key is required. Either pass it as a parameter or set PRIVATE_KEY environment variable");
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
// Get chain ID using public client
|
|
28
|
+
const publicClient = (0, viem_1.createPublicClient)({
|
|
28
29
|
transport: (0, viem_1.http)(endpoint),
|
|
29
|
-
key: signerKey,
|
|
30
30
|
});
|
|
31
|
-
const chainId = await
|
|
31
|
+
const chainId = await publicClient.getChainId();
|
|
32
32
|
const chain = {
|
|
33
33
|
id: chainId,
|
|
34
34
|
name: chainMapping_1.chainToPath[chainId.toString()],
|
|
@@ -46,11 +46,12 @@ const createWallet = async (rpcUrl, key) => {
|
|
|
46
46
|
},
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
|
+
const account = (0, accounts_1.privateKeyToAccount)(signerKey);
|
|
49
50
|
return (0, viem_1.createWalletClient)({
|
|
50
51
|
transport: (0, viem_1.http)(endpoint),
|
|
51
|
-
|
|
52
|
-
account: (0, accounts_1.privateKeyToAccount)(signerKey),
|
|
52
|
+
account,
|
|
53
53
|
chain,
|
|
54
|
+
cacheTime: 0,
|
|
54
55
|
});
|
|
55
56
|
};
|
|
56
57
|
exports.createWallet = createWallet;
|
package/cli/cli/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cli/client.ts"],"names":[],"mappings":";;;AAAA,+BAA8F;AAC9F,wDAAoD;AACpD,4CAAoD;AAE7C,MAAM,YAAY,GAAG,CAAC,MAAe,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;IAED,4CAA4C;IAC5C,OAAO,IAAA,yBAAkB,EAAC;QACxB,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB;AAEK,MAAM,YAAY,GAAG,KAAK,EAAE,MAAe,EAAE,GAAY,EAAyB,EAAE;IACzF,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;IACpH,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cli/client.ts"],"names":[],"mappings":";;;AAAA,+BAA8F;AAC9F,wDAAoD;AACpD,4CAAoD;AAE7C,MAAM,YAAY,GAAG,CAAC,MAAe,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;IAED,4CAA4C;IAC5C,OAAO,IAAA,yBAAkB,EAAC;QACxB,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB;AAEK,MAAM,YAAY,GAAG,KAAK,EAAE,MAAe,EAAE,GAAY,EAAyB,EAAE;IACzF,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;IACpH,CAAC;IAED,mCAAmC;IACnC,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC;KAC1B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAChD,MAAM,KAAK,GAAU;QACnB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,0BAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,cAAc,EAAE;YACd,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB;SACF;KACF,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,SAAgB,CAAC,CAAC;IAEtD,OAAO,IAAA,yBAAkB,EAAC;QACxB,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC;QACzB,OAAO;QACP,KAAK;QACL,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAxCW,QAAA,YAAY,gBAwCvB"}
|
|
@@ -4,8 +4,10 @@ exports.distributionsCommand = void 0;
|
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const list_1 = require("./list");
|
|
6
6
|
const add_1 = require("./add");
|
|
7
|
+
const state_1 = require("./state");
|
|
7
8
|
exports.distributionsCommand = new commander_1.Command("distributions")
|
|
8
9
|
.description("Manage distributions")
|
|
9
10
|
.addCommand(list_1.listCommand)
|
|
10
|
-
.addCommand(add_1.addCommand)
|
|
11
|
+
.addCommand(add_1.addCommand)
|
|
12
|
+
.addCommand(state_1.stateCommand);
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/distributions/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,iCAAqC;AACrC,+BAAmC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/distributions/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,iCAAqC;AACrC,+BAAmC;AACnC,mCAAuC;AAC1B,QAAA,oBAAoB,GAAG,IAAI,mBAAO,CAAC,eAAe,CAAC;KAC7D,WAAW,CAAC,sBAAsB,CAAC;KACnC,UAAU,CAAC,kBAAW,CAAC;KACvB,UAAU,CAAC,gBAAU,CAAC;KACtB,UAAU,CAAC,oBAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.stateCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const MAODistributor_1 = require("../../../rankify/MAODistributor");
|
|
11
|
+
const client_1 = require("../../client");
|
|
12
|
+
const abis_1 = require("../../../abis");
|
|
13
|
+
exports.stateCommand = new commander_1.Command("state")
|
|
14
|
+
.description("Get the state of a distribution")
|
|
15
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
16
|
+
.action(async (options) => {
|
|
17
|
+
const spinner = (0, ora_1.default)("Initializing clients...").start();
|
|
18
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
19
|
+
const walletClient = await (0, client_1.createWallet)(options.rpc, options.key);
|
|
20
|
+
const chainId = Number(await publicClient.getChainId());
|
|
21
|
+
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, {
|
|
22
|
+
publicClient,
|
|
23
|
+
walletClient,
|
|
24
|
+
});
|
|
25
|
+
const owner = await publicClient.readContract({
|
|
26
|
+
address: maoDistributor.address,
|
|
27
|
+
abi: abis_1.DAODistributorAbi,
|
|
28
|
+
functionName: "owner",
|
|
29
|
+
});
|
|
30
|
+
spinner.stop();
|
|
31
|
+
console.log(chalk_1.default.green(`Owner: ${owner}`));
|
|
32
|
+
const you = walletClient.account?.address;
|
|
33
|
+
const isOwner = owner === you;
|
|
34
|
+
if (isOwner) {
|
|
35
|
+
console.log(chalk_1.default.green("You are the owner!"));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/cli/commands/distributions/state.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,oEAAuE;AACvE,yCAA0D;AAC1D,wCAAkD;AAErC,QAAA,YAAY,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,IAAI,qCAAoB,CAAC,OAAO,EAAE;QACvD,YAAY;QACZ,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,GAAG,EAAE,wBAAiB;QACtB,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1C,MAAM,OAAO,GAAG,KAAK,KAAK,GAAG,CAAC;IAC9B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.edsCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const client_1 = require("../../client");
|
|
9
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
|
+
const viem_1 = require("viem");
|
|
12
|
+
const abis_1 = require("../../../abis");
|
|
13
|
+
exports.edsCommand = new commander_1.Command("eds")
|
|
14
|
+
.description("Manage EDS")
|
|
15
|
+
.addCommand(new commander_1.Command("exists").description("Check if code index exists"))
|
|
16
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
17
|
+
.action(async (options) => {
|
|
18
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
19
|
+
const code = await publicClient.getCode({
|
|
20
|
+
address: "0xc0d31d398c5ee86c5f8a23fa253ee8a586da03ce",
|
|
21
|
+
});
|
|
22
|
+
console.log(code ? chalk_1.default.green("Code index exists") : chalk_1.default.red("Code index does not exist"));
|
|
23
|
+
})
|
|
24
|
+
.addCommand(new commander_1.Command("indexed")
|
|
25
|
+
.description("Checks if contract is in the index")
|
|
26
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
27
|
+
.option("-a, --address <address>", "Address of the contract to check")
|
|
28
|
+
.action(async (options) => {
|
|
29
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
30
|
+
let address = options.address;
|
|
31
|
+
if (!address) {
|
|
32
|
+
const response = await inquirer_1.default.prompt([
|
|
33
|
+
{
|
|
34
|
+
type: "input",
|
|
35
|
+
name: "address",
|
|
36
|
+
message: "Enter address of the contract to check",
|
|
37
|
+
},
|
|
38
|
+
]);
|
|
39
|
+
address = response.address;
|
|
40
|
+
}
|
|
41
|
+
const code = await publicClient.getCode({
|
|
42
|
+
address: (0, viem_1.getAddress)(address),
|
|
43
|
+
});
|
|
44
|
+
if (code) {
|
|
45
|
+
const hashCode = (0, viem_1.keccak256)((0, viem_1.encodePacked)(["bytes"], [code]));
|
|
46
|
+
const distrAddress = await publicClient.readContract({
|
|
47
|
+
abi: abis_1.CodeIndexAbi,
|
|
48
|
+
address: "0xc0d31d398c5ee86c5f8a23fa253ee8a586da03ce",
|
|
49
|
+
functionName: "get",
|
|
50
|
+
args: [hashCode],
|
|
51
|
+
});
|
|
52
|
+
const indexed = distrAddress !== "0x0000000000000000000000000000000000000000";
|
|
53
|
+
console.log(indexed ? chalk_1.default.green("Contract is in the index") : chalk_1.default.red("Contract is not in the index"));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.log(chalk_1.default.red("Contract is not in the index"));
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/eds/index.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,yCAA4C;AAC5C,kDAA0B;AAC1B,wDAAgC;AAChC,+BAA2D;AAC3D,wCAA6C;AAEhC,QAAA,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,YAAY,CAAC;KACzB,UAAU,CAAC,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;KAC3E,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;QACtC,OAAO,EAAE,4CAA4C;KACtD,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAChG,CAAC,CAAC;KACD,UAAU,CACT,IAAI,mBAAO,CAAC,SAAS,CAAC;KACnB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,wCAAwC;aAClD;SACF,CAAC,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;QACtC,OAAO,EAAE,IAAA,iBAAU,EAAC,OAAO,CAAC;KAC7B,CAAC,CAAC;IACH,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,IAAA,mBAAY,EAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;YACnD,GAAG,EAAE,mBAAY;YACjB,OAAO,EAAE,4CAA4C;YACrD,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,KAAK,4CAA4C,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAC7G,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC,CACL,CAAC"}
|
package/cli/eds/Distributor.js
CHANGED
|
@@ -6,10 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.DistributorClient = void 0;
|
|
7
7
|
const viem_1 = require("viem");
|
|
8
8
|
const Distributor_1 = __importDefault(require("../abis/Distributor"));
|
|
9
|
+
const utils_1 = require("../utils");
|
|
9
10
|
class DistributorClient {
|
|
10
|
-
constructor({ address, publicClient }) {
|
|
11
|
+
constructor({ address, publicClient, creationBlock, }) {
|
|
11
12
|
this.address = (0, viem_1.getAddress)(address, publicClient?.chain?.id);
|
|
12
13
|
this.publicClient = publicClient;
|
|
14
|
+
this.createdAtBlock = creationBlock;
|
|
13
15
|
}
|
|
14
16
|
async getDistributions() {
|
|
15
17
|
const contract = (0, viem_1.getContract)({
|
|
@@ -19,12 +21,20 @@ class DistributorClient {
|
|
|
19
21
|
});
|
|
20
22
|
return contract.read.getDistributions();
|
|
21
23
|
}
|
|
24
|
+
async getCreationBlock() {
|
|
25
|
+
if (!this.createdAtBlock) {
|
|
26
|
+
this.createdAtBlock = await (0, utils_1.findContractDeploymentBlock)(this.publicClient, this.address);
|
|
27
|
+
}
|
|
28
|
+
return this.createdAtBlock;
|
|
29
|
+
}
|
|
22
30
|
async getInstances(distributorsId, fromBlock = 1n) {
|
|
23
31
|
const contract = (0, viem_1.getContract)({
|
|
24
32
|
address: this.address,
|
|
25
33
|
abi: Distributor_1.default,
|
|
26
34
|
client: this.publicClient,
|
|
27
35
|
});
|
|
36
|
+
if (!this.publicClient.chain?.id)
|
|
37
|
+
throw new Error("Chain ID is not set");
|
|
28
38
|
const events = await contract.getEvents.Instantiated({
|
|
29
39
|
distributionId: distributorsId,
|
|
30
40
|
}, { toBlock: "latest", fromBlock });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Distributor.js","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA6F;AAC7F,sEAAiD;
|
|
1
|
+
{"version":3,"file":"Distributor.js","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,6 +117,8 @@ class MultipassBase {
|
|
|
117
117
|
};
|
|
118
118
|
this.chainId = chainId;
|
|
119
119
|
this.publicClient = publicClient;
|
|
120
|
+
const { receipt } = (0, utils_1.getArtifact)(chainId, "Multipass");
|
|
121
|
+
this.creationBlock = BigInt(receipt.blockNumber);
|
|
120
122
|
}
|
|
121
123
|
/**
|
|
122
124
|
* Generates a URL for a dapp
|
|
@@ -191,7 +193,7 @@ class MultipassBase {
|
|
|
191
193
|
const initializedFilter = await this.publicClient.getContractEvents({
|
|
192
194
|
address: this.getContractAddress(),
|
|
193
195
|
abi: abis_1.MultipassAbi,
|
|
194
|
-
fromBlock:
|
|
196
|
+
fromBlock: this.creationBlock,
|
|
195
197
|
eventName: "InitializedDomain",
|
|
196
198
|
});
|
|
197
199
|
const activatedFilter = await this.publicClient.getContractEvents({
|
|
@@ -245,24 +247,29 @@ class MultipassBase {
|
|
|
245
247
|
* @returns Array of records with their states
|
|
246
248
|
*/
|
|
247
249
|
async listRecords(onlyActive) {
|
|
248
|
-
const
|
|
250
|
+
const registeredFilterP = this.publicClient.getContractEvents({
|
|
249
251
|
address: this.getContractAddress(),
|
|
250
252
|
abi: abis_1.MultipassAbi,
|
|
251
|
-
fromBlock:
|
|
253
|
+
fromBlock: this.creationBlock,
|
|
252
254
|
eventName: "Registered",
|
|
253
255
|
});
|
|
254
|
-
const
|
|
256
|
+
const renewedFilterP = this.publicClient.getContractEvents({
|
|
255
257
|
address: this.getContractAddress(),
|
|
256
258
|
abi: abis_1.MultipassAbi,
|
|
257
|
-
fromBlock:
|
|
259
|
+
fromBlock: this.creationBlock,
|
|
258
260
|
eventName: "Renewed",
|
|
259
261
|
});
|
|
260
|
-
const
|
|
262
|
+
const deletedFilterP = this.publicClient.getContractEvents({
|
|
261
263
|
address: this.getContractAddress(),
|
|
262
264
|
abi: abis_1.MultipassAbi,
|
|
263
|
-
fromBlock:
|
|
265
|
+
fromBlock: this.creationBlock,
|
|
264
266
|
eventName: "nameDeleted",
|
|
265
267
|
});
|
|
268
|
+
const [registeredFilter, renewedFilter, deletedFilter] = await Promise.all([
|
|
269
|
+
registeredFilterP,
|
|
270
|
+
renewedFilterP,
|
|
271
|
+
deletedFilterP,
|
|
272
|
+
]);
|
|
266
273
|
const records = new Map();
|
|
267
274
|
// Process registered records
|
|
268
275
|
for (const event of registeredFilter) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultipassBase.js","sourceRoot":"","sources":["../../../src/multipass/MultipassBase.ts"],"names":[],"mappings":";;AAAA,+BAAsG;AAEtG,kCAAuC;AACvC,oCAAuC;AAqCvC;;GAEG;AACH,MAAqB,aAAa;
|
|
1
|
+
{"version":3,"file":"MultipassBase.js","sourceRoot":"","sources":["../../../src/multipass/MultipassBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,8 +29,12 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
29
29
|
* @param client - Object containing public and wallet clients
|
|
30
30
|
*/
|
|
31
31
|
constructor(chainId, client) {
|
|
32
|
-
const { address } = (0, utils_1.getArtifact)(chainId, "DAODistributor");
|
|
33
|
-
super({
|
|
32
|
+
const { address, receipt } = (0, utils_1.getArtifact)(chainId, "DAODistributor");
|
|
33
|
+
super({
|
|
34
|
+
address: (0, viem_1.getAddress)(address),
|
|
35
|
+
publicClient: client.publicClient,
|
|
36
|
+
creationBlock: BigInt(receipt.blockNumber),
|
|
37
|
+
});
|
|
34
38
|
this.walletClient = client.walletClient;
|
|
35
39
|
}
|
|
36
40
|
/**
|
|
@@ -69,10 +73,11 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
69
73
|
}
|
|
70
74
|
/**
|
|
71
75
|
* Get MAOInstances instances by distribution name
|
|
72
|
-
* @param namedDistribution Distribution name (defaults to "MAO Distribution")
|
|
76
|
+
* @param params.namedDistribution Distribution name (defaults to "MAO Distribution")
|
|
77
|
+
* @param params.fromBlock Block to start searching from (defaults to contract creation block)
|
|
73
78
|
* @returns Array of MAOInstances contract instances
|
|
74
79
|
*/
|
|
75
|
-
async getMAOInstances(namedDistribution = MAODistributorClient.DEFAULT_NAME, fromBlock =
|
|
80
|
+
async getMAOInstances({ namedDistribution = MAODistributorClient.DEFAULT_NAME, fromBlock, } = {}) {
|
|
76
81
|
const logs = await this.publicClient.getContractEvents({
|
|
77
82
|
address: this.address,
|
|
78
83
|
abi: DAODistributor_1.default,
|
|
@@ -80,23 +85,34 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
80
85
|
args: {
|
|
81
86
|
distributionId: (0, viem_1.stringToHex)(namedDistribution, { size: 32 }),
|
|
82
87
|
},
|
|
83
|
-
fromBlock,
|
|
88
|
+
fromBlock: fromBlock ?? this.createdAtBlock ?? (await this.getCreationBlock()),
|
|
84
89
|
toBlock: "latest",
|
|
85
90
|
});
|
|
86
91
|
const instances = logs
|
|
87
|
-
.map((l) => (
|
|
88
|
-
|
|
92
|
+
.map((l) => ({
|
|
93
|
+
instances: (0, utils_1.parseInstantiated)(l.args.instances),
|
|
94
|
+
maoInstanceId: l.args.newInstanceId,
|
|
95
|
+
}))
|
|
96
|
+
.map((ip) => ({
|
|
97
|
+
instances: this.addressesToContracts(ip.instances),
|
|
98
|
+
maoInstanceId: ip.maoInstanceId,
|
|
99
|
+
}));
|
|
89
100
|
return instances;
|
|
90
101
|
}
|
|
91
102
|
parseToContracts(instances) {
|
|
92
103
|
return this.addressesToContracts((0, utils_1.parseInstantiated)(instances));
|
|
93
104
|
}
|
|
94
105
|
async getDistributions() {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
106
|
+
try {
|
|
107
|
+
return this.publicClient.readContract({
|
|
108
|
+
abi: DAODistributor_1.default,
|
|
109
|
+
functionName: "getDistributions",
|
|
110
|
+
address: this.address,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
throw await (0, utils_1.handleRPCError)(e);
|
|
115
|
+
}
|
|
100
116
|
}
|
|
101
117
|
async addNamedDistribution(chain, name, address, initializer = "0x0000000000000000000000000000000000000000") {
|
|
102
118
|
if (!this.walletClient) {
|
|
@@ -105,46 +121,63 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
105
121
|
const code = await this.publicClient.getCode({ address });
|
|
106
122
|
if (!code)
|
|
107
123
|
throw new Error(`Code not found on ${address} address`);
|
|
108
|
-
const hashCode = (0, viem_1.keccak256)(code);
|
|
124
|
+
const hashCode = (0, viem_1.keccak256)((0, viem_1.encodePacked)(["bytes"], [code]));
|
|
109
125
|
const distrAddress = await this.publicClient.readContract({
|
|
110
126
|
abi: abis_1.CodeIndexAbi,
|
|
111
127
|
address: (0, utils_1.getArtifact)(chain.id, "CodeIndex").address,
|
|
112
128
|
functionName: "get",
|
|
113
129
|
args: [hashCode],
|
|
114
130
|
});
|
|
115
|
-
const [account] = await this.walletClient.getAddresses();
|
|
116
131
|
if (distrAddress == "0x0000000000000000000000000000000000000000") {
|
|
132
|
+
try {
|
|
133
|
+
const { request } = await this.publicClient.simulateContract({
|
|
134
|
+
abi: abis_1.CodeIndexAbi,
|
|
135
|
+
address: (0, utils_1.getArtifact)(chain.id, "CodeIndex").address,
|
|
136
|
+
functionName: "register",
|
|
137
|
+
args: [address],
|
|
138
|
+
account: this.walletClient.account,
|
|
139
|
+
chain: this.walletClient.chain,
|
|
140
|
+
});
|
|
141
|
+
await this.walletClient
|
|
142
|
+
.writeContract(request)
|
|
143
|
+
.then((h) => this.publicClient.waitForTransactionReceipt({ hash: h }));
|
|
144
|
+
}
|
|
145
|
+
catch (e) {
|
|
146
|
+
throw await (0, utils_1.handleRPCError)(e);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
117
150
|
const { request } = await this.publicClient.simulateContract({
|
|
118
|
-
abi:
|
|
119
|
-
address:
|
|
120
|
-
functionName: "
|
|
121
|
-
args: [
|
|
122
|
-
account,
|
|
151
|
+
abi: DAODistributor_1.default,
|
|
152
|
+
address: this.address,
|
|
153
|
+
functionName: "addNamedDistribution",
|
|
154
|
+
args: [name, hashCode, initializer],
|
|
155
|
+
account: this.walletClient.account,
|
|
156
|
+
chain: this.walletClient.chain,
|
|
123
157
|
});
|
|
124
|
-
await this.walletClient
|
|
158
|
+
const receipt = await this.walletClient
|
|
125
159
|
.writeContract(request)
|
|
126
160
|
.then((h) => this.publicClient.waitForTransactionReceipt({ hash: h }));
|
|
161
|
+
const distributionAddedEvent = (0, viem_1.parseEventLogs)({
|
|
162
|
+
abi: DAODistributor_1.default,
|
|
163
|
+
logs: receipt.logs,
|
|
164
|
+
eventName: "DistributionAdded",
|
|
165
|
+
});
|
|
166
|
+
return { receipt, distributionAddedEvent: distributionAddedEvent[0] };
|
|
167
|
+
}
|
|
168
|
+
catch (e) {
|
|
169
|
+
throw await (0, utils_1.handleRPCError)(e);
|
|
127
170
|
}
|
|
128
|
-
const { request } = await this.publicClient.simulateContract({
|
|
129
|
-
abi: DAODistributor_1.default,
|
|
130
|
-
address: this.address,
|
|
131
|
-
functionName: "addNamedDistribution",
|
|
132
|
-
args: [name, hashCode, initializer],
|
|
133
|
-
account,
|
|
134
|
-
chain,
|
|
135
|
-
});
|
|
136
|
-
const receipt = await this.walletClient
|
|
137
|
-
.writeContract(request)
|
|
138
|
-
.then((h) => this.publicClient.waitForTransactionReceipt({ hash: h }));
|
|
139
|
-
const distributionAddedEvent = (0, viem_1.parseEventLogs)({
|
|
140
|
-
abi: DAODistributor_1.default,
|
|
141
|
-
logs: receipt.logs,
|
|
142
|
-
eventName: "DistributionAdded",
|
|
143
|
-
// strict: false,
|
|
144
|
-
});
|
|
145
|
-
return { receipt, distributionAddedEvent: distributionAddedEvent[0] };
|
|
146
171
|
}
|
|
147
|
-
|
|
172
|
+
/**
|
|
173
|
+
* Gets a specific MAO instance by name and instance ID
|
|
174
|
+
* @param params Parameters for getting the instance
|
|
175
|
+
* @param params.name The name of the distribution (defaults to DEFAULT_NAME)
|
|
176
|
+
* @param params.instanceId The ID of the instance to retrieve
|
|
177
|
+
* @param params.fromBlock Optional block to start searching from (defaults to contract creation block)
|
|
178
|
+
* @returns The MAO instance contracts
|
|
179
|
+
*/
|
|
180
|
+
async getMAOInstance({ name = MAODistributorClient.DEFAULT_NAME, instanceId, fromBlock, }) {
|
|
148
181
|
const logs = await this.publicClient.getContractEvents({
|
|
149
182
|
address: this.address,
|
|
150
183
|
abi: DAODistributor_1.default,
|
|
@@ -153,6 +186,8 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
153
186
|
distributionId: (0, viem_1.stringToHex)(name, { size: 32 }),
|
|
154
187
|
newInstanceId: instanceId,
|
|
155
188
|
},
|
|
189
|
+
fromBlock: fromBlock ?? this.createdAtBlock ?? (await this.getCreationBlock()),
|
|
190
|
+
toBlock: "latest",
|
|
156
191
|
});
|
|
157
192
|
if (logs.length === 0) {
|
|
158
193
|
console.error("No instance found");
|
|
@@ -168,12 +203,17 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
168
203
|
return this.addressesToContracts((0, utils_1.parseInstantiated)(instances));
|
|
169
204
|
}
|
|
170
205
|
async getInstantiatePrice(distributorsId) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
206
|
+
try {
|
|
207
|
+
return this.publicClient.readContract({
|
|
208
|
+
abi: DAODistributor_1.default,
|
|
209
|
+
functionName: "instantiationCosts",
|
|
210
|
+
address: this.address,
|
|
211
|
+
args: [distributorsId],
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
catch (e) {
|
|
215
|
+
throw await (0, utils_1.handleRPCError)(e);
|
|
216
|
+
}
|
|
177
217
|
}
|
|
178
218
|
async setInstantiationAllowance(amount) {
|
|
179
219
|
if (!this.walletClient)
|
|
@@ -185,32 +225,43 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
185
225
|
functionName: "paymentToken",
|
|
186
226
|
address: this.address,
|
|
187
227
|
});
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
228
|
+
try {
|
|
229
|
+
const { request } = await this.publicClient.simulateContract({
|
|
230
|
+
abi: viem_1.erc20Abi,
|
|
231
|
+
functionName: "approve",
|
|
232
|
+
address: paymentToken,
|
|
233
|
+
args: [this.address, amount ? amount : viem_1.maxUint256],
|
|
234
|
+
account: this.walletClient.account,
|
|
235
|
+
chain: this.walletClient.chain,
|
|
236
|
+
});
|
|
237
|
+
await this.walletClient.writeContract(request);
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
throw await (0, utils_1.handleRPCError)(err);
|
|
241
|
+
}
|
|
196
242
|
}
|
|
197
243
|
async needsAllowance(distributorsId) {
|
|
198
244
|
if (!this.walletClient)
|
|
199
245
|
throw new Error("walletClient is required, use constructor with walletClient");
|
|
200
246
|
if (!this.walletClient.account?.address)
|
|
201
247
|
throw new Error("No account address found");
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
248
|
+
try {
|
|
249
|
+
const paymentToken = await this.publicClient.readContract({
|
|
250
|
+
abi: DAODistributor_1.default,
|
|
251
|
+
functionName: "paymentToken",
|
|
252
|
+
address: this.address,
|
|
253
|
+
});
|
|
254
|
+
const allowance = await this.publicClient.readContract({
|
|
255
|
+
abi: viem_1.erc20Abi,
|
|
256
|
+
functionName: "allowance",
|
|
257
|
+
address: paymentToken,
|
|
258
|
+
args: [this.walletClient.account?.address, this.address],
|
|
259
|
+
});
|
|
260
|
+
return allowance < (await this.getInstantiatePrice(distributorsId));
|
|
261
|
+
}
|
|
262
|
+
catch (e) {
|
|
263
|
+
throw await (0, utils_1.handleRPCError)(e);
|
|
264
|
+
}
|
|
214
265
|
}
|
|
215
266
|
/**
|
|
216
267
|
* Create a new MAODistribution instance
|
|
@@ -261,14 +312,7 @@ class MAODistributorClient extends Distributor_1.DistributorClient {
|
|
|
261
312
|
// eslint-disable-next-line
|
|
262
313
|
}
|
|
263
314
|
catch (e) {
|
|
264
|
-
|
|
265
|
-
const remoteAttempt = fetch(`https://www.4byte.directory/api/v1/signatures/?hex_signature=${e?.cause?.signature}`);
|
|
266
|
-
const response = await remoteAttempt;
|
|
267
|
-
const data = await response.json();
|
|
268
|
-
throw new Error(`error: ${e?.message} | 4byte: ${JSON.stringify(data.results, null, 2)}`);
|
|
269
|
-
}
|
|
270
|
-
else
|
|
271
|
-
throw e;
|
|
315
|
+
throw await (0, utils_1.handleRPCError)(e);
|
|
272
316
|
}
|
|
273
317
|
}
|
|
274
318
|
}
|