@peeramid-labs/sdk 3.10.4 → 3.11.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/commands/blockchain/mine.js +1 -0
- package/cli/cli/commands/blockchain/mine.js.map +1 -1
- package/cli/cli/commands/distributions/add.js +7 -6
- package/cli/cli/commands/distributions/add.js.map +1 -1
- package/cli/cli/commands/distributions/list.js +7 -0
- package/cli/cli/commands/distributions/list.js.map +1 -1
- package/cli/cli/commands/distributions/remove.js +5 -0
- package/cli/cli/commands/distributions/remove.js.map +1 -1
- package/cli/cli/commands/distributions/state.js +5 -0
- package/cli/cli/commands/distributions/state.js.map +1 -1
- package/cli/cli/commands/fellowship/create.js +7 -1
- package/cli/cli/commands/fellowship/create.js.map +1 -1
- package/cli/cli/commands/fellowship/eip712.js +5 -0
- package/cli/cli/commands/fellowship/eip712.js.map +1 -1
- package/cli/cli/commands/fellowship/game/cancel.js +6 -0
- package/cli/cli/commands/fellowship/game/cancel.js.map +1 -1
- package/cli/cli/commands/fellowship/game/create.js +8 -1
- package/cli/cli/commands/fellowship/game/create.js.map +1 -1
- package/cli/cli/commands/fellowship/game/end-turn.js +12 -5
- package/cli/cli/commands/fellowship/game/end-turn.js.map +1 -1
- package/cli/cli/commands/fellowship/game/join.js +9 -1
- package/cli/cli/commands/fellowship/game/join.js.map +1 -1
- package/cli/cli/commands/fellowship/game/list.js +6 -0
- package/cli/cli/commands/fellowship/game/list.js.map +1 -1
- package/cli/cli/commands/fellowship/game/propose.js +10 -1
- package/cli/cli/commands/fellowship/game/propose.js.map +1 -1
- package/cli/cli/commands/fellowship/game/start.js +10 -1
- package/cli/cli/commands/fellowship/game/start.js.map +1 -1
- package/cli/cli/commands/fellowship/game/vote.js +10 -1
- package/cli/cli/commands/fellowship/game/vote.js.map +1 -1
- package/cli/cli/commands/fellowship/list.js +5 -0
- package/cli/cli/commands/fellowship/list.js.map +1 -1
- package/cli/cli/commands/fellowship/params.js +5 -0
- package/cli/cli/commands/fellowship/params.js.map +1 -1
- package/cli/cli/commands/instances/list.js +5 -0
- package/cli/cli/commands/instances/list.js.map +1 -1
- package/cli/cli/commands/rankify/games.js +5 -0
- package/cli/cli/commands/rankify/games.js.map +1 -1
- package/cli/cli/utils.js +3 -3
- package/cli/cli/utils.js.map +1 -1
- package/cli/eds/Distributor.js +18 -29
- package/cli/eds/Distributor.js.map +1 -1
- package/cli/rankify/GameMaster.js +42 -39
- package/cli/rankify/GameMaster.js.map +1 -1
- package/cli/rankify/InstanceBase.js +99 -127
- package/cli/rankify/InstanceBase.js.map +1 -1
- package/cli/rankify/MAODistributor.js +45 -54
- package/cli/rankify/MAODistributor.js.map +1 -1
- package/cli/rankify/Player.js +4 -6
- package/cli/rankify/Player.js.map +1 -1
- package/cli/utils/EnvioGraphQLClient.js +728 -0
- package/cli/utils/EnvioGraphQLClient.js.map +1 -0
- package/cli/utils/index.js.map +1 -1
- package/cli/utils/logger.js +12 -0
- package/cli/utils/logger.js.map +1 -0
- package/docs/classes/EnvioGraphQLClient.md +309 -0
- package/docs/classes/GameMaster.md +8 -0
- package/docs/classes/InstanceBase.md +16 -8
- package/docs/classes/InstancePlayer.md +22 -10
- package/docs/classes/MAODistributorClient.md +36 -27
- package/docs/docs/classes/EnvioGraphQLClient.md +309 -0
- package/docs/docs/classes/GameMaster.md +8 -0
- package/docs/docs/classes/InstanceBase.md +16 -8
- package/docs/docs/classes/InstancePlayer.md +22 -10
- package/docs/docs/classes/MAODistributorClient.md +36 -27
- package/docs/docs/index.md +5 -2
- package/docs/docs/interfaces/EnvioGraphQLClientConfig.md +41 -0
- package/docs/docs/interfaces/MAOInstanceArgs.md +29 -0
- package/docs/index.md +5 -2
- package/docs/interfaces/EnvioGraphQLClientConfig.md +41 -0
- package/docs/interfaces/MAOInstanceArgs.md +29 -0
- package/lib.commonjs/eds/Distributor.d.ts +5 -3
- package/lib.commonjs/eds/Distributor.d.ts.map +1 -1
- package/lib.commonjs/eds/Distributor.js +19 -29
- package/lib.commonjs/eds/Distributor.js.map +1 -1
- package/lib.commonjs/index.d.ts +1 -0
- package/lib.commonjs/index.d.ts.map +1 -1
- package/lib.commonjs/index.js +4 -1
- package/lib.commonjs/index.js.map +1 -1
- package/lib.commonjs/rankify/GameMaster.d.ts +6 -2
- package/lib.commonjs/rankify/GameMaster.d.ts.map +1 -1
- package/lib.commonjs/rankify/GameMaster.js +43 -39
- package/lib.commonjs/rankify/GameMaster.js.map +1 -1
- package/lib.commonjs/rankify/InstanceBase.d.ts +46 -9442
- package/lib.commonjs/rankify/InstanceBase.d.ts.map +1 -1
- package/lib.commonjs/rankify/InstanceBase.js +100 -127
- package/lib.commonjs/rankify/InstanceBase.js.map +1 -1
- package/lib.commonjs/rankify/MAODistributor.d.ts +24 -16
- package/lib.commonjs/rankify/MAODistributor.d.ts.map +1 -1
- package/lib.commonjs/rankify/MAODistributor.js +45 -54
- package/lib.commonjs/rankify/MAODistributor.js.map +1 -1
- package/lib.commonjs/rankify/Player.d.ts +4 -2
- package/lib.commonjs/rankify/Player.d.ts.map +1 -1
- package/lib.commonjs/rankify/Player.js +4 -6
- package/lib.commonjs/rankify/Player.js.map +1 -1
- package/lib.commonjs/utils/EnvioGraphQLClient.d.ts +273 -0
- package/lib.commonjs/utils/EnvioGraphQLClient.d.ts.map +1 -0
- package/lib.commonjs/utils/EnvioGraphQLClient.js +730 -0
- package/lib.commonjs/utils/EnvioGraphQLClient.js.map +1 -0
- package/lib.commonjs/utils/index.d.ts +1 -1
- package/lib.commonjs/utils/index.d.ts.map +1 -1
- package/lib.commonjs/utils/index.js.map +1 -1
- package/lib.commonjs/utils/logger.d.ts +12 -0
- package/lib.commonjs/utils/logger.d.ts.map +1 -0
- package/lib.commonjs/utils/logger.js +12 -0
- package/lib.commonjs/utils/logger.js.map +1 -0
- package/lib.commonjs/utils/mockUtils.d.ts +39 -0
- package/lib.commonjs/utils/mockUtils.d.ts.map +1 -0
- package/lib.commonjs/utils/mockUtils.js +103 -0
- package/lib.commonjs/utils/mockUtils.js.map +1 -0
- package/lib.esm/eds/Distributor.d.ts +5 -3
- package/lib.esm/eds/Distributor.d.ts.map +1 -1
- package/lib.esm/eds/Distributor.js +20 -30
- package/lib.esm/eds/Distributor.js.map +1 -1
- package/lib.esm/index.d.ts +1 -0
- package/lib.esm/index.d.ts.map +1 -1
- package/lib.esm/index.js +2 -0
- package/lib.esm/index.js.map +1 -1
- package/lib.esm/rankify/GameMaster.d.ts +6 -2
- package/lib.esm/rankify/GameMaster.d.ts.map +1 -1
- package/lib.esm/rankify/GameMaster.js +43 -39
- package/lib.esm/rankify/GameMaster.js.map +1 -1
- package/lib.esm/rankify/InstanceBase.d.ts +46 -9442
- package/lib.esm/rankify/InstanceBase.d.ts.map +1 -1
- package/lib.esm/rankify/InstanceBase.js +100 -127
- package/lib.esm/rankify/InstanceBase.js.map +1 -1
- package/lib.esm/rankify/MAODistributor.d.ts +24 -16
- package/lib.esm/rankify/MAODistributor.d.ts.map +1 -1
- package/lib.esm/rankify/MAODistributor.js +37 -46
- package/lib.esm/rankify/MAODistributor.js.map +1 -1
- package/lib.esm/rankify/Player.d.ts +4 -2
- package/lib.esm/rankify/Player.d.ts.map +1 -1
- package/lib.esm/rankify/Player.js +5 -7
- package/lib.esm/rankify/Player.js.map +1 -1
- package/lib.esm/utils/EnvioGraphQLClient.d.ts +273 -0
- package/lib.esm/utils/EnvioGraphQLClient.d.ts.map +1 -0
- package/lib.esm/utils/EnvioGraphQLClient.js +726 -0
- package/lib.esm/utils/EnvioGraphQLClient.js.map +1 -0
- package/lib.esm/utils/index.d.ts +1 -1
- package/lib.esm/utils/index.d.ts.map +1 -1
- package/lib.esm/utils/index.js.map +1 -1
- package/lib.esm/utils/logger.d.ts +12 -0
- package/lib.esm/utils/logger.d.ts.map +1 -0
- package/lib.esm/utils/logger.js +12 -0
- package/lib.esm/utils/logger.js.map +1 -0
- package/lib.esm/utils/mockUtils.d.ts +39 -0
- package/lib.esm/utils/mockUtils.d.ts.map +1 -0
- package/lib.esm/utils/mockUtils.js +96 -0
- package/lib.esm/utils/mockUtils.js.map +1 -0
- package/package.json +3 -1
- package/cli/cli/helpers.js +0 -64
- package/cli/cli/helpers.js.map +0 -1
|
@@ -49,6 +49,7 @@ const Player_1 = __importDefault(require("../../../../rankify/Player"));
|
|
|
49
49
|
const viem_1 = require("viem");
|
|
50
50
|
const secp256k1 = __importStar(require("@noble/secp256k1"));
|
|
51
51
|
const types_1 = require("../../../../types");
|
|
52
|
+
const EnvioGraphQLClient_1 = __importDefault(require("../../../../utils/EnvioGraphQLClient"));
|
|
52
53
|
exports.propose = new commander_1.Command("propose")
|
|
53
54
|
.description("Submit a proposal for a game turn")
|
|
54
55
|
.argument("<instance>", "Address or index of the Rankify instance")
|
|
@@ -60,6 +61,8 @@ exports.propose = new commander_1.Command("propose")
|
|
|
60
61
|
.option("-t, --title <title>", "Title of the proposal", "Default title")
|
|
61
62
|
.option("-b, --body <body>", "Body content of the proposal", "Default body")
|
|
62
63
|
.option("-f, --file <filePath>", "Path to a markdown file containing the proposal content")
|
|
64
|
+
.option("-e, --envio <url>", "Envio GraphQL endpoint URL. If not provided, http://localhost:8080/v1/graphql will be used. Alternatively INDEXER_URL environment variable may be used", "http://localhost:8080/v1/graphql")
|
|
65
|
+
.option("-d, --distribution-name <name>", "Distribution name", "MAO Distribution")
|
|
63
66
|
.action(async (instanceAddress, gameId, options) => {
|
|
64
67
|
const spinner = (0, ora_1.default)("Initializing clients...").start();
|
|
65
68
|
try {
|
|
@@ -69,12 +72,15 @@ exports.propose = new commander_1.Command("propose")
|
|
|
69
72
|
const walletClient = await (0, client_1.createWallet)(options.rpc, privateKey);
|
|
70
73
|
const chainId = Number(await publicClient.getChainId());
|
|
71
74
|
const account = walletClient.account?.address;
|
|
75
|
+
const envioClient = new EnvioGraphQLClient_1.default({
|
|
76
|
+
endpoint: process.env.INDEXER_URL ?? options.envio,
|
|
77
|
+
});
|
|
72
78
|
if (!account) {
|
|
73
79
|
spinner.fail("No account available");
|
|
74
80
|
throw new Error("No account available");
|
|
75
81
|
}
|
|
76
82
|
// Resolve instance address
|
|
77
|
-
const resolvedInstanceAddress = await utils_1.CLIUtils.resolveInstanceAddress(instanceAddress, chainId, publicClient, spinner);
|
|
83
|
+
const resolvedInstanceAddress = await utils_1.CLIUtils.resolveInstanceAddress(instanceAddress, chainId, publicClient, envioClient, options.distributionName, spinner);
|
|
78
84
|
// Create game master client
|
|
79
85
|
spinner.text = "Creating game master client...";
|
|
80
86
|
const gmWalletClient = await (0, client_1.createWallet)(options.rpc, options.gmKey);
|
|
@@ -82,6 +88,7 @@ exports.propose = new commander_1.Command("propose")
|
|
|
82
88
|
walletClient: gmWalletClient,
|
|
83
89
|
publicClient,
|
|
84
90
|
chainId,
|
|
91
|
+
envioClient,
|
|
85
92
|
});
|
|
86
93
|
// Create player client
|
|
87
94
|
spinner.text = "Creating player client...";
|
|
@@ -91,6 +98,7 @@ exports.propose = new commander_1.Command("propose")
|
|
|
91
98
|
chainId,
|
|
92
99
|
instanceAddress: resolvedInstanceAddress,
|
|
93
100
|
account,
|
|
101
|
+
envioClient,
|
|
94
102
|
});
|
|
95
103
|
// Get game state to check if proposal can be submitted
|
|
96
104
|
spinner.text = "Getting game state...";
|
|
@@ -100,6 +108,7 @@ exports.propose = new commander_1.Command("propose")
|
|
|
100
108
|
instanceAddress: resolvedInstanceAddress,
|
|
101
109
|
publicClient,
|
|
102
110
|
chainId,
|
|
111
|
+
envioClient,
|
|
103
112
|
});
|
|
104
113
|
const gameState = await baseInstance.getGameStateDetails(gameIdBigInt);
|
|
105
114
|
// Check if game is in a valid state for proposals
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/fellowship/game/propose.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,4CAA6D;AAC7D,0CAA2C;AAC3C,gFAAwD;AACxD,0CAA0C;AAC1C,oFAA4D;AAC5D,wEAAuD;AACvD,+BAA4D;AAC5D,4DAA8C;AAC9C,6CAAmD;
|
|
1
|
+
{"version":3,"file":"propose.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/fellowship/game/propose.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ const utils_1 = require("../../../utils");
|
|
|
15
15
|
const InstanceBase_1 = __importDefault(require("../../../../rankify/InstanceBase"));
|
|
16
16
|
const types_1 = require("../../../../types");
|
|
17
17
|
const blockchain_1 = require("../../../../utils/blockchain");
|
|
18
|
+
const EnvioGraphQLClient_1 = __importDefault(require("../../../../utils/EnvioGraphQLClient"));
|
|
18
19
|
exports.start = new commander_1.Command("start")
|
|
19
20
|
.description("Start a game in a Rankify instance")
|
|
20
21
|
.argument("<instance>", "Address or index of the Rankify instance")
|
|
@@ -24,13 +25,18 @@ exports.start = new commander_1.Command("start")
|
|
|
24
25
|
.option("-k, --key <privateKey>", "Private key or index to derive from mnemonic for signing transactions. If not provided, PRIVATE_KEY environment variable will be used")
|
|
25
26
|
.option("-g, --gm-key <privateKey>", "Game master private key for signing attestations. If not provided, GM_KEY environment variable will be used")
|
|
26
27
|
.option("--auto-mine", "Automatically mine blocks to advance time on local chains (default: true)", false)
|
|
28
|
+
.option("-e, --envio <url>", "Envio GraphQL endpoint URL. If not provided, http://localhost:8080/v1/graphql will be used. Alternatively INDEXER_URL environment variable may be used", "http://localhost:8080/v1/graphql")
|
|
29
|
+
.option("-d, --distribution-name <name>", "Distribution name", "MAO Distribution")
|
|
27
30
|
.action(async (instanceAddress, gameId, options) => {
|
|
28
31
|
const spinner = (0, ora_1.default)("Initializing clients...").start();
|
|
29
32
|
try {
|
|
30
33
|
const publicClient = await (0, client_1.createPublic)(options.rpc);
|
|
31
34
|
const walletClient = await (0, client_1.createWallet)(options.rpc, (0, getPk_1.resolvePk)(options.mIndex ?? options.mIndex, spinner));
|
|
32
35
|
const chainId = Number(await publicClient.getChainId());
|
|
33
|
-
const
|
|
36
|
+
const envioClient = new EnvioGraphQLClient_1.default({
|
|
37
|
+
endpoint: process.env.INDEXER_URL ?? options.envio,
|
|
38
|
+
});
|
|
39
|
+
const resolvedInstanceAddress = await utils_1.CLIUtils.resolveInstanceAddress(instanceAddress, chainId, publicClient, envioClient, options.distributionName, spinner);
|
|
34
40
|
spinner.text = "Creating Rankify player client...";
|
|
35
41
|
const account = walletClient.account?.address;
|
|
36
42
|
if (!account) {
|
|
@@ -43,12 +49,14 @@ exports.start = new commander_1.Command("start")
|
|
|
43
49
|
chainId,
|
|
44
50
|
instanceAddress: resolvedInstanceAddress,
|
|
45
51
|
account,
|
|
52
|
+
envioClient,
|
|
46
53
|
});
|
|
47
54
|
const gmWalletClient = await (0, client_1.createWallet)(options.rpc, options.gmKey);
|
|
48
55
|
const gameMaster = new GameMaster_1.default({
|
|
49
56
|
walletClient: gmWalletClient,
|
|
50
57
|
publicClient,
|
|
51
58
|
chainId,
|
|
59
|
+
envioClient,
|
|
52
60
|
});
|
|
53
61
|
// Get the game state to check if it can be started and get the number of players
|
|
54
62
|
spinner.text = "Getting game state...";
|
|
@@ -58,6 +66,7 @@ exports.start = new commander_1.Command("start")
|
|
|
58
66
|
instanceAddress: resolvedInstanceAddress,
|
|
59
67
|
publicClient,
|
|
60
68
|
chainId,
|
|
69
|
+
envioClient,
|
|
61
70
|
});
|
|
62
71
|
const gameState = await baseInstance.getGameStateDetails(gameIdBigInt);
|
|
63
72
|
if (gameState.gamePhase !== types_1.gameStatusEnum.open) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/fellowship/game/start.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,4CAA6D;AAC7D,wEAAuD;AACvD,0CAA2C;AAC3C,gFAAwD;AACxD,0CAA0C;AAC1C,oFAA4D;AAC5D,6CAAmD;AACnD,6DAA+D;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/fellowship/game/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const GameMaster_1 = __importDefault(require("../../../../rankify/GameMaster"));
|
|
|
13
13
|
const utils_1 = require("../../../utils");
|
|
14
14
|
const InstanceBase_1 = __importDefault(require("../../../../rankify/InstanceBase"));
|
|
15
15
|
const Player_1 = __importDefault(require("../../../../rankify/Player"));
|
|
16
|
+
const EnvioGraphQLClient_1 = __importDefault(require("../../../../utils/EnvioGraphQLClient"));
|
|
16
17
|
exports.vote = new commander_1.Command("vote")
|
|
17
18
|
.description("Submit a vote in a Rankify game")
|
|
18
19
|
.argument("<instance>", "Address or instanceId of the Rankify instance")
|
|
@@ -20,14 +21,19 @@ exports.vote = new commander_1.Command("vote")
|
|
|
20
21
|
.argument("<votes>", "Comma-separated list of vote values (e.g. 5,3,0,2,4)")
|
|
21
22
|
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
22
23
|
.option("-i, --m-index <mnemonicIndex>", "Index to derive from mnemonic")
|
|
24
|
+
.option("-d, --distribution-name <name>", "Distribution name", "MAO Distribution")
|
|
23
25
|
.option("-k, --key <privateKey>", "Private key or index to derive from mnemonic for signing transactions. If not provided, PRIVATE_KEY environment variable will be used")
|
|
26
|
+
.option("-e, --envio <url>", "Envio GraphQL endpoint URL. If not provided, http://localhost:8080/v1/graphql will be used. Alternatively INDEXER_URL environment variable may be used", "http://localhost:8080/v1/graphql")
|
|
24
27
|
.action(async (instanceAddress, gameId, votesStr, options) => {
|
|
25
28
|
const spinner = (0, ora_1.default)("Initializing clients...").start();
|
|
26
29
|
try {
|
|
27
30
|
const publicClient = await (0, client_1.createPublic)(options.rpc);
|
|
28
31
|
const walletClient = await (0, client_1.createWallet)(options.rpc, (0, getPk_1.resolvePk)(options.mIndex ?? options.key, spinner));
|
|
29
32
|
const chainId = Number(await publicClient.getChainId());
|
|
30
|
-
const
|
|
33
|
+
const envioClient = new EnvioGraphQLClient_1.default({
|
|
34
|
+
endpoint: process.env.INDEXER_URL ?? options.envio,
|
|
35
|
+
});
|
|
36
|
+
const resolvedInstanceAddress = await utils_1.CLIUtils.resolveInstanceAddress(instanceAddress, chainId, publicClient, envioClient, options.distributionName, spinner);
|
|
31
37
|
spinner.text = "Creating Rankify clients...";
|
|
32
38
|
const account = walletClient.account?.address;
|
|
33
39
|
if (!account) {
|
|
@@ -41,6 +47,7 @@ exports.vote = new commander_1.Command("vote")
|
|
|
41
47
|
walletClient: gmWalletClient,
|
|
42
48
|
publicClient,
|
|
43
49
|
chainId,
|
|
50
|
+
envioClient,
|
|
44
51
|
});
|
|
45
52
|
const player = new Player_1.default({
|
|
46
53
|
publicClient,
|
|
@@ -48,12 +55,14 @@ exports.vote = new commander_1.Command("vote")
|
|
|
48
55
|
chainId,
|
|
49
56
|
instanceAddress: resolvedInstanceAddress,
|
|
50
57
|
account,
|
|
58
|
+
envioClient,
|
|
51
59
|
});
|
|
52
60
|
// Create an instance of InstanceBase to get game state details
|
|
53
61
|
const instanceBase = new InstanceBase_1.default({
|
|
54
62
|
instanceAddress: resolvedInstanceAddress,
|
|
55
63
|
publicClient,
|
|
56
64
|
chainId,
|
|
65
|
+
envioClient,
|
|
57
66
|
});
|
|
58
67
|
// Parse votes from comma-separated string
|
|
59
68
|
const voteValues = votesStr.split(",").map((v) => BigInt(v.trim()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vote.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/fellowship/game/vote.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AAEtB,4CAA6D;AAC7D,0CAA2C;AAC3C,gFAAwD;AACxD,0CAA0C;AAC1C,oFAA4D;AAC5D,wEAAuD;
|
|
1
|
+
{"version":3,"file":"vote.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/fellowship/game/vote.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,14 @@ const client_js_1 = require("../../client.js");
|
|
|
9
9
|
const InstanceBase_1 = __importDefault(require("../../../rankify/InstanceBase"));
|
|
10
10
|
const chalk_1 = __importDefault(require("chalk"));
|
|
11
11
|
const viem_1 = require("viem");
|
|
12
|
+
const EnvioGraphQLClient_1 = __importDefault(require("../../../utils/EnvioGraphQLClient"));
|
|
12
13
|
exports.list = new commander_1.Command("list")
|
|
13
14
|
.description("List games in a Rankify instance")
|
|
14
15
|
.argument("<instance>", "Address of the Rankify instance")
|
|
15
16
|
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
16
17
|
.option("-p, --page <page>", "Page number", "0")
|
|
17
18
|
.option("-s, --size <size>", "Page size", "10")
|
|
19
|
+
.option("-e, --envio <url>", "Envio GraphQL endpoint URL. If not provided, http://localhost:8080/v1/graphql will be used. Alternatively INDEXER_URL environment variable may be used", "http://localhost:8080/v1/graphql")
|
|
18
20
|
.action(async (instance, options) => {
|
|
19
21
|
const client = await (0, client_js_1.createPublic)(options.rpc);
|
|
20
22
|
const chainId = await client.getChainId();
|
|
@@ -22,6 +24,9 @@ exports.list = new commander_1.Command("list")
|
|
|
22
24
|
publicClient: client,
|
|
23
25
|
chainId,
|
|
24
26
|
instanceAddress: (0, viem_1.getAddress)(instance),
|
|
27
|
+
envioClient: new EnvioGraphQLClient_1.default({
|
|
28
|
+
endpoint: process.env.INDEXER_URL ?? options.envio,
|
|
29
|
+
}),
|
|
25
30
|
});
|
|
26
31
|
const { items } = await rankify.getGameStates({
|
|
27
32
|
pageParam: parseInt(options.page),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/fellowship/list.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,+CAA+C;AAC/C,iFAAyD;AACzD,kDAA0B;AAC1B,+BAAkC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/fellowship/list.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,+CAA+C;AAC/C,iFAAyD;AACzD,kDAA0B;AAC1B,+BAAkC;AAClC,2FAAmE;AACtD,QAAA,IAAI,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KACpC,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,YAAY,EAAE,iCAAiC,CAAC;KACzD,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,GAAG,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,WAAW,EAAE,IAAI,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,wJAAwJ,EAAE,kCAAkC,CAAC;KACzN,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC;QAC/B,YAAY,EAAE,MAAM;QACpB,OAAO;QACP,eAAe,EAAE,IAAA,iBAAU,EAAC,QAAQ,CAAC;QACrC,WAAW,EAAE,IAAI,4BAAkB,CAAC;YAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK;SACnD,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;QAC5C,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC,EAC/B,iBAAiB,EACjB,IAAI,CAAC,SAAS,EACd,YAAY,EACZ,IAAI,CAAC,SAAS,EACd,gBAAgB,EAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxB,mBAAmB,EACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,oBAAoB,EACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,mBAAmB,EACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -9,10 +9,12 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
9
9
|
const ora_1 = __importDefault(require("ora"));
|
|
10
10
|
const InstanceBase_1 = __importDefault(require("../../../rankify/InstanceBase"));
|
|
11
11
|
const client_1 = require("../../client");
|
|
12
|
+
const EnvioGraphQLClient_1 = __importDefault(require("../../../utils/EnvioGraphQLClient"));
|
|
12
13
|
exports.paramsCommand = new commander_1.Command("params")
|
|
13
14
|
.description("Get parameters for a Fellowship")
|
|
14
15
|
.argument("<address>", "The Fellowship contract address")
|
|
15
16
|
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
17
|
+
.option("-e, --envio <url>", "Envio GraphQL endpoint URL. If not provided, http://localhost:8080/v1/graphql will be used. Alternatively INDEXER_URL environment variable may be used", "http://localhost:8080/v1/graphql")
|
|
16
18
|
.action(async (address, options) => {
|
|
17
19
|
const spinner = (0, ora_1.default)("Initializing client...").start();
|
|
18
20
|
try {
|
|
@@ -23,6 +25,9 @@ exports.paramsCommand = new commander_1.Command("params")
|
|
|
23
25
|
instanceAddress: address,
|
|
24
26
|
chainId,
|
|
25
27
|
publicClient,
|
|
28
|
+
envioClient: new EnvioGraphQLClient_1.default({
|
|
29
|
+
endpoint: process.env.INDEXER_URL ?? options.envio,
|
|
30
|
+
}),
|
|
26
31
|
});
|
|
27
32
|
const { commonParams, numGames } = await fellowship.getContractState();
|
|
28
33
|
const { beneficiary, rankTokenAddress, minimumParticipantsInCircle, principalTimeConstant, principalCost, gamePaymentToken, derivedToken, proposalIntegrityVerifier, } = commonParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../../../../src/cli/commands/fellowship/params.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AAEtB,iFAAyD;AACzD,yCAA4C;
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../../../../src/cli/commands/fellowship/params.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AAEtB,iFAAyD;AACzD,yCAA4C;AAC5C,2FAAmE;AAEtD,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACxD,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,mBAAmB,EAAE,wJAAwJ,EAAE,kCAAkC,CAAC;KACzN,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAExC,MAAM,UAAU,GAAG,IAAI,sBAAY,CAAC;YAClC,eAAe,EAAE,OAAO;YACxB,OAAO;YACP,YAAY;YACZ,WAAW,EAAE,IAAI,4BAAkB,CAAC;gBAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK;aACnD,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACvE,MAAM,EACJ,WAAW,EACX,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,yBAAyB,GAC1B,GAAG,YAAY,CAAC;QACjB,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC;YACV,WAAW;YACX,gBAAgB;YAChB,2BAA2B,EAAE,2BAA2B,CAAC,QAAQ,EAAE;YACnE,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,EAAE;YACvD,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;YACvC,gBAAgB;YAChB,YAAY;YACZ,yBAAyB;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -11,10 +11,12 @@ const MAODistributor_1 = require("../../../rankify/MAODistributor");
|
|
|
11
11
|
const client_1 = require("../../client");
|
|
12
12
|
const utils_1 = require("../../../utils");
|
|
13
13
|
const viem_1 = require("viem");
|
|
14
|
+
const EnvioGraphQLClient_1 = __importDefault(require("../../../utils/EnvioGraphQLClient"));
|
|
14
15
|
exports.listCommand = new commander_1.Command("list")
|
|
15
16
|
.description("List all registered instances")
|
|
16
17
|
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
17
18
|
.option("-a, --address <address>", "Address of the Distributor contract")
|
|
19
|
+
.option("-e, --envio <url>", "Envio GraphQL endpoint URL. If not provided, http://localhost:8080/v1/graphql will be used. Alternatively INDEXER_URL environment variable may be used", "http://localhost:8080/v1/graphql")
|
|
18
20
|
.action(async (options) => {
|
|
19
21
|
const spinner = (0, ora_1.default)("Initializing client...").start();
|
|
20
22
|
try {
|
|
@@ -23,6 +25,9 @@ exports.listCommand = new commander_1.Command("list")
|
|
|
23
25
|
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, {
|
|
24
26
|
publicClient,
|
|
25
27
|
address: options.address && (0, viem_1.getAddress)(options.address),
|
|
28
|
+
envioClient: new EnvioGraphQLClient_1.default({
|
|
29
|
+
endpoint: process.env.INDEXER_URL ?? options.envio,
|
|
30
|
+
}),
|
|
26
31
|
});
|
|
27
32
|
spinner.text = "Fetching instances...";
|
|
28
33
|
const distributions = await maoDistributor.getDistributions();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/instances/list.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,oEAAuE;AACvE,yCAA4C;AAC5C,0CAAmD;AACnD,+BAAkC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/instances/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,18 +8,23 @@ const commander_1 = require("commander");
|
|
|
8
8
|
const client_1 = require("../../client");
|
|
9
9
|
const InstanceBase_1 = __importDefault(require("../../../rankify/InstanceBase"));
|
|
10
10
|
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const EnvioGraphQLClient_1 = __importDefault(require("../../../utils/EnvioGraphQLClient"));
|
|
11
12
|
exports.games = new commander_1.Command("games")
|
|
12
13
|
.description("List games in a Rankify instance")
|
|
13
14
|
.argument("<instance>", "Address of the Rankify instance")
|
|
14
15
|
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
15
16
|
.option("-p, --page <page>", "Page number", "0")
|
|
16
17
|
.option("-s, --size <size>", "Page size", "10")
|
|
18
|
+
.option("-e, --envio <url>", "Envio GraphQL endpoint URL. If not provided, http://localhost:8080/v1/graphql will be used. Alternatively INDEXER_URL environment variable may be used", "http://localhost:8080/v1/graphql")
|
|
17
19
|
.action(async (instance, options) => {
|
|
18
20
|
const client = await (0, client_1.createPublic)(options.rpc);
|
|
19
21
|
const rankify = new InstanceBase_1.default({
|
|
20
22
|
publicClient: client,
|
|
21
23
|
chainId: client.chain.id,
|
|
22
24
|
instanceAddress: instance,
|
|
25
|
+
envioClient: new EnvioGraphQLClient_1.default({
|
|
26
|
+
endpoint: process.env.INDEXER_URL ?? options.envio,
|
|
27
|
+
}),
|
|
23
28
|
});
|
|
24
29
|
const { items } = await rankify.getGameStates({
|
|
25
30
|
pageParam: parseInt(options.page),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"games.js","sourceRoot":"","sources":["../../../../../src/cli/commands/rankify/games.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,yCAA4C;AAC5C,iFAAyD;AACzD,kDAA0B;
|
|
1
|
+
{"version":3,"file":"games.js","sourceRoot":"","sources":["../../../../../src/cli/commands/rankify/games.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,yCAA4C;AAC5C,iFAAyD;AACzD,kDAA0B;AAC1B,2FAAmE;AAEtD,QAAA,KAAK,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC;KACtC,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,YAAY,EAAE,iCAAiC,CAAC;KACzD,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,GAAG,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,WAAW,EAAE,IAAI,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,wJAAwJ,EAAE,kCAAkC,CAAC;KACzN,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC;QAC/B,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;QACxB,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,IAAI,4BAAkB,CAAC;YAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK;SACnD,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;QAC5C,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC,EAC/B,iBAAiB,EACjB,IAAI,CAAC,SAAS,EACd,YAAY,EACZ,IAAI,CAAC,SAAS,EACd,gBAAgB,EAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxB,mBAAmB,EACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,oBAAoB,EACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,mBAAmB,EACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/cli/cli/utils.js
CHANGED
|
@@ -19,7 +19,7 @@ class CLIUtils {
|
|
|
19
19
|
* @param spinner - Optional ora spinner for status updates
|
|
20
20
|
* @returns The resolved instance address
|
|
21
21
|
*/
|
|
22
|
-
static async resolveInstanceAddress(instanceAddress, chainId, publicClient, spinner) {
|
|
22
|
+
static async resolveInstanceAddress(instanceAddress, chainId, publicClient, envioClient, maoDistributionName, spinner) {
|
|
23
23
|
// Check if instanceAddress is a number (instance ID) or an address
|
|
24
24
|
const isInstanceId = !instanceAddress.startsWith('0x') && !isNaN(Number(instanceAddress));
|
|
25
25
|
if (isInstanceId) {
|
|
@@ -27,10 +27,10 @@ class CLIUtils {
|
|
|
27
27
|
if (spinner) {
|
|
28
28
|
spinner.text = "Resolving instance ID to address...";
|
|
29
29
|
}
|
|
30
|
-
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, { publicClient });
|
|
30
|
+
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, { publicClient, envioClient });
|
|
31
31
|
try {
|
|
32
32
|
const instanceId = BigInt(instanceAddress);
|
|
33
|
-
const instance = await maoDistributor.getMAOInstance({ instanceId });
|
|
33
|
+
const instance = await maoDistributor.getMAOInstance({ name: maoDistributionName, instanceId });
|
|
34
34
|
const resolvedAddress = instance.instance.address;
|
|
35
35
|
if (spinner) {
|
|
36
36
|
spinner.succeed(`Resolved instance ID ${instanceAddress} to address ${resolvedAddress}`);
|
package/cli/cli/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAyD;AACzD,8DAAiE;AACjE,kDAA0B;AAG1B;;GAEG;AACH,MAAa,QAAQ;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACjC,eAAuB,EACvB,OAAe,EACf,YAA0B,EAC1B,OAAa;QAEb,mEAAmE;QACnE,MAAM,YAAY,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1F,IAAI,YAAY,EAAE,CAAC;YACjB,qEAAqE;YACrE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,GAAG,qCAAqC,CAAC;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,qCAAoB,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAyD;AACzD,8DAAiE;AACjE,kDAA0B;AAG1B;;GAEG;AACH,MAAa,QAAQ;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACjC,eAAuB,EACvB,OAAe,EACf,YAA0B,EAC1B,WAA+B,EAC/B,mBAA2B,EAC3B,OAAa;QAEb,mEAAmE;QACnE,MAAM,YAAY,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1F,IAAI,YAAY,EAAE,CAAC;YACjB,qEAAqE;YACrE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,GAAG,qCAAqC,CAAC;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,qCAAoB,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChG,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAElD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,OAAO,CAAC,wBAAwB,eAAe,eAAe,eAAe,EAAE,CAAC,CAAC;gBAC3F,CAAC;gBAED,OAAO,eAAe,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,iCAAiC,eAAe,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,IAAI,CAAC;gBACH,OAAO,IAAA,iBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,6BAA6B,eAAe,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA3DD,4BA2DC"}
|
package/cli/eds/Distributor.js
CHANGED
|
@@ -8,10 +8,10 @@ const viem_1 = require("viem");
|
|
|
8
8
|
const Distributor_1 = __importDefault(require("../abis/Distributor"));
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
class DistributorClient {
|
|
11
|
-
constructor({ address, publicClient,
|
|
11
|
+
constructor({ address, publicClient, envioClient, }) {
|
|
12
12
|
this.address = (0, viem_1.getAddress)(address);
|
|
13
13
|
this.publicClient = publicClient;
|
|
14
|
-
this.
|
|
14
|
+
this.envioClient = envioClient;
|
|
15
15
|
}
|
|
16
16
|
async getDistributions() {
|
|
17
17
|
return this.publicClient.readContract({
|
|
@@ -26,49 +26,38 @@ class DistributorClient {
|
|
|
26
26
|
}
|
|
27
27
|
return this.createdAtBlock;
|
|
28
28
|
}
|
|
29
|
-
async getInstances(distributorsId
|
|
30
|
-
const contract = (0, viem_1.getContract)({
|
|
31
|
-
address: this.address,
|
|
32
|
-
abi: Distributor_1.default,
|
|
33
|
-
client: this.publicClient,
|
|
34
|
-
});
|
|
29
|
+
async getInstances(distributorsId) {
|
|
35
30
|
if (!this.publicClient.chain?.id)
|
|
36
31
|
throw new Error("Chain ID is not set");
|
|
37
|
-
const events = await
|
|
32
|
+
const events = await this.envioClient.queryInstances({
|
|
38
33
|
distributionId: distributorsId,
|
|
39
|
-
}
|
|
34
|
+
});
|
|
40
35
|
return events.map((log) => {
|
|
41
|
-
if (!log.
|
|
42
|
-
throw new Error(`No version found for distributor ${distributorsId} and instance ${log.
|
|
43
|
-
if (!log.
|
|
44
|
-
throw new Error(`No instances found for distributor ${distributorsId} and instance ${log.
|
|
45
|
-
if (!log.
|
|
46
|
-
throw new Error(`No instanceId found for distributor ${distributorsId} and instance ${log.
|
|
36
|
+
if (!log.version)
|
|
37
|
+
throw new Error(`No version found for distributor ${distributorsId} and instance ${log.newInstanceId}`);
|
|
38
|
+
if (!log.instances)
|
|
39
|
+
throw new Error(`No instances found for distributor ${distributorsId} and instance ${log.newInstanceId}`);
|
|
40
|
+
if (!log.newInstanceId)
|
|
41
|
+
throw new Error(`No instanceId found for distributor ${distributorsId} and instance ${log.newInstanceId}`);
|
|
47
42
|
return {
|
|
48
|
-
newInstanceId: log.
|
|
49
|
-
addresses: log.
|
|
50
|
-
version: log.
|
|
43
|
+
newInstanceId: BigInt(log.newInstanceId),
|
|
44
|
+
addresses: (log.instances ?? []).map((a) => (a)),
|
|
45
|
+
version: BigInt(log.version),
|
|
51
46
|
};
|
|
52
47
|
});
|
|
53
48
|
}
|
|
54
49
|
async getInstance(distributorsId, instanceId) {
|
|
55
|
-
const
|
|
56
|
-
address: this.address,
|
|
57
|
-
abi: Distributor_1.default,
|
|
58
|
-
client: this.publicClient,
|
|
59
|
-
});
|
|
60
|
-
const events = await contract.getEvents.Instantiated({
|
|
50
|
+
const events = await this.envioClient.queryInstances({
|
|
61
51
|
distributionId: distributorsId,
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
);
|
|
52
|
+
instanceId: instanceId.toString(),
|
|
53
|
+
});
|
|
65
54
|
if (events.length > 1) {
|
|
66
55
|
throw new Error(`Multiple instances found for distributor ${distributorsId} and instance ${instanceId}`);
|
|
67
56
|
}
|
|
68
57
|
else if (events.length === 0) {
|
|
69
58
|
throw new Error(`No instances found for distributor ${distributorsId} and instance ${instanceId}`);
|
|
70
59
|
}
|
|
71
|
-
return events[0].
|
|
60
|
+
return events[0].instances;
|
|
72
61
|
}
|
|
73
62
|
async getNamedDistributionInstances({ namedDistribution }) {
|
|
74
63
|
const id = (0, viem_1.stringToHex)(namedDistribution, { size: 32 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Distributor.js","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":";;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"Distributor.js","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":"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"}
|