@rocketh/read-execute 0.18.4 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -61
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +21 -68
package/dist/index.d.ts
CHANGED
|
@@ -27,5 +27,5 @@ export declare function read(env: Environment): <TAbi extends Abi, TFunctionName
|
|
|
27
27
|
export declare function readByName(env: Environment): <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, 'pure' | 'view'>, TArgs extends ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName> = ContractFunctionArgs<TAbi, 'pure' | 'view', TFunctionName>>(name: string, args: ReadingArgs<TAbi, TFunctionName, TArgs>) => Promise<DecodeFunctionResultReturnType<TAbi, TFunctionName>>;
|
|
28
28
|
export declare function tx(env: Environment): (txData: TransactionData, options?: {
|
|
29
29
|
message?: string;
|
|
30
|
-
}) => Promise<
|
|
30
|
+
}) => Promise<EIP1193TransactionReceipt>;
|
|
31
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAC,WAAW,EAA0B,yBAAyB,EAAC,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { resolveAccount, resolveAccountOrUndefined } from '@rocketh/core';
|
|
2
1
|
import { decodeFunctionResult, encodeFunctionData } from 'viem';
|
|
3
2
|
import { logs } from 'named-logs';
|
|
4
3
|
const logger = logs('@rocketh/read-execute');
|
|
5
4
|
export function execute(env) {
|
|
6
5
|
return async (deployment, args) => {
|
|
7
6
|
const { account, ...viemArgs } = args;
|
|
8
|
-
const address = resolveAccount(account
|
|
7
|
+
const address = env.resolveAccount(account);
|
|
9
8
|
const artifactToUse = deployment;
|
|
10
9
|
const abi = artifactToUse.abi;
|
|
11
10
|
const calldata = encodeFunctionData({
|
|
@@ -13,10 +12,6 @@ export function execute(env) {
|
|
|
13
12
|
functionName: viemArgs.functionName,
|
|
14
13
|
args: viemArgs.args,
|
|
15
14
|
});
|
|
16
|
-
const signer = env.addressSigners[address];
|
|
17
|
-
if (!signer) {
|
|
18
|
-
throw new Error(`cannot get signer for ${address}`);
|
|
19
|
-
}
|
|
20
15
|
const txParam = {
|
|
21
16
|
to: deployment.address,
|
|
22
17
|
type: '0x2',
|
|
@@ -34,33 +29,10 @@ export function execute(env) {
|
|
|
34
29
|
if (viemArgs.value) {
|
|
35
30
|
txParam.value = `0x${viemArgs.value?.toString(16)}`;
|
|
36
31
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
params: [txParam], // TODO fix eip-1193 ?,,
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
const rawTx = await signer.signer.request({
|
|
46
|
-
method: 'eth_signTransaction',
|
|
47
|
-
params: [txParam],
|
|
48
|
-
});
|
|
49
|
-
txHash = await env.network.provider.request({
|
|
50
|
-
method: 'eth_sendRawTransaction',
|
|
51
|
-
params: [rawTx],
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
if (env.tags['auto-mine']) {
|
|
55
|
-
await env.network.provider.request({ method: 'evm_mine', params: [] });
|
|
56
|
-
}
|
|
57
|
-
const pendingExecution = {
|
|
58
|
-
type: 'execution',
|
|
59
|
-
transaction: { hash: txHash, origin: address },
|
|
60
|
-
// description, // TODO
|
|
61
|
-
// TODO we should have the nonce, except for wallet like metamask where it is not sure you get the nonce you start with
|
|
62
|
-
};
|
|
63
|
-
const receipt = await env.savePendingExecution(pendingExecution, args.message);
|
|
32
|
+
const receipt = await env.broadcastExecution({
|
|
33
|
+
type: 'object',
|
|
34
|
+
data: txParam,
|
|
35
|
+
}, { message: args.message });
|
|
64
36
|
return receipt;
|
|
65
37
|
};
|
|
66
38
|
}
|
|
@@ -76,7 +48,7 @@ export function executeByName(env) {
|
|
|
76
48
|
export function read(env) {
|
|
77
49
|
return async (deployment, args) => {
|
|
78
50
|
const { account, ...viemArgs } = args;
|
|
79
|
-
const address = account ? resolveAccountOrUndefined(account
|
|
51
|
+
const address = account ? env.resolveAccountOrUndefined(account) : undefined;
|
|
80
52
|
const artifactToUse = deployment;
|
|
81
53
|
const abi = artifactToUse.abi;
|
|
82
54
|
const calldata = encodeFunctionData({
|
|
@@ -120,8 +92,7 @@ export function readByName(env) {
|
|
|
120
92
|
export function tx(env) {
|
|
121
93
|
return async (txData, options) => {
|
|
122
94
|
const { account, ...viemArgs } = txData;
|
|
123
|
-
const address = resolveAccount(account
|
|
124
|
-
const signer = env.addressSigners[address];
|
|
95
|
+
const address = env.resolveAccount(account);
|
|
125
96
|
const txParam = {
|
|
126
97
|
type: '0x2',
|
|
127
98
|
to: txData.to || undefined,
|
|
@@ -139,31 +110,11 @@ export function tx(env) {
|
|
|
139
110
|
if (viemArgs.value) {
|
|
140
111
|
txParam.value = `0x${viemArgs.value?.toString(16)}`;
|
|
141
112
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
const rawTx = await signer.signer.request({
|
|
151
|
-
method: 'eth_signTransaction',
|
|
152
|
-
params: [txParam],
|
|
153
|
-
});
|
|
154
|
-
txHash = await env.network.provider.request({
|
|
155
|
-
method: 'eth_sendRawTransaction',
|
|
156
|
-
params: [rawTx],
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
const pendingExecution = {
|
|
160
|
-
type: 'execution',
|
|
161
|
-
transaction: { hash: txHash, origin: address },
|
|
162
|
-
// description, // TODO
|
|
163
|
-
// TODO we should have the nonce, except for wallet like metamask where it is not sure you get the nonce you start with
|
|
164
|
-
};
|
|
165
|
-
await env.savePendingExecution(pendingExecution, options?.message);
|
|
166
|
-
return txHash;
|
|
113
|
+
const receipt = await env.broadcastExecution({
|
|
114
|
+
type: 'object',
|
|
115
|
+
data: txParam,
|
|
116
|
+
}, options);
|
|
117
|
+
return receipt;
|
|
167
118
|
};
|
|
168
119
|
}
|
|
169
120
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rocketh/read-execute",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "provide read abd execute functions for rocketh",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"rocketh",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"eip-1193": "^0.6.5",
|
|
44
44
|
"named-logs": "^0.4.1",
|
|
45
45
|
"viem": "^2.45.1",
|
|
46
|
-
"@rocketh/core": "0.
|
|
46
|
+
"@rocketh/core": "0.19.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"as-soon": "^0.1.5",
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {Abi} from 'abitype';
|
|
2
2
|
import {EIP1193DATA, EIP1193TransactionData, EIP1193TransactionReceipt} from 'eip-1193';
|
|
3
3
|
import type {Artifact, Environment, MinimalDeployment, PendingExecution} from '@rocketh/core/types';
|
|
4
|
-
import {resolveAccount, resolveAccountOrUndefined} from '@rocketh/core';
|
|
5
4
|
import type {
|
|
6
5
|
ContractFunctionArgs,
|
|
7
6
|
ContractFunctionName,
|
|
@@ -137,7 +136,7 @@ export function execute(
|
|
|
137
136
|
args: ExecutionArgs<TAbi, TFunctionName, TArgs>,
|
|
138
137
|
) => {
|
|
139
138
|
const {account, ...viemArgs} = args;
|
|
140
|
-
const address = resolveAccount(account
|
|
139
|
+
const address = env.resolveAccount(account);
|
|
141
140
|
|
|
142
141
|
const artifactToUse = deployment as unknown as Artifact<TAbi>;
|
|
143
142
|
const abi = artifactToUse.abi;
|
|
@@ -147,12 +146,6 @@ export function execute(
|
|
|
147
146
|
args: viemArgs.args,
|
|
148
147
|
} as any);
|
|
149
148
|
|
|
150
|
-
const signer = env.addressSigners[address];
|
|
151
|
-
|
|
152
|
-
if (!signer) {
|
|
153
|
-
throw new Error(`cannot get signer for ${address}`);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
149
|
const txParam: EIP1193TransactionData = {
|
|
157
150
|
to: deployment.address,
|
|
158
151
|
type: '0x2',
|
|
@@ -171,35 +164,13 @@ export function execute(
|
|
|
171
164
|
txParam.value = `0x${viemArgs.value?.toString(16)}` as `0x${string}`;
|
|
172
165
|
}
|
|
173
166
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
const rawTx = await signer.signer.request({
|
|
182
|
-
method: 'eth_signTransaction',
|
|
183
|
-
params: [txParam],
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
txHash = await env.network.provider.request({
|
|
187
|
-
method: 'eth_sendRawTransaction',
|
|
188
|
-
params: [rawTx],
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (env.tags['auto-mine']) {
|
|
193
|
-
await (env.network.provider as any).request({method: 'evm_mine', params: []});
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
const pendingExecution: PendingExecution = {
|
|
197
|
-
type: 'execution',
|
|
198
|
-
transaction: {hash: txHash, origin: address},
|
|
199
|
-
// description, // TODO
|
|
200
|
-
// TODO we should have the nonce, except for wallet like metamask where it is not sure you get the nonce you start with
|
|
201
|
-
};
|
|
202
|
-
const receipt = await env.savePendingExecution(pendingExecution, args.message);
|
|
167
|
+
const receipt = await env.broadcastExecution(
|
|
168
|
+
{
|
|
169
|
+
type: 'object',
|
|
170
|
+
data: txParam,
|
|
171
|
+
},
|
|
172
|
+
{message: args.message},
|
|
173
|
+
);
|
|
203
174
|
return receipt;
|
|
204
175
|
};
|
|
205
176
|
}
|
|
@@ -266,7 +237,7 @@ export function read(
|
|
|
266
237
|
args: ReadingArgs<TAbi, TFunctionName, TArgs>,
|
|
267
238
|
) => {
|
|
268
239
|
const {account, ...viemArgs} = args;
|
|
269
|
-
const address = account ? resolveAccountOrUndefined(account
|
|
240
|
+
const address = account ? env.resolveAccountOrUndefined(account) : undefined;
|
|
270
241
|
|
|
271
242
|
const artifactToUse = deployment as unknown as Artifact<TAbi>;
|
|
272
243
|
const abi = artifactToUse.abi;
|
|
@@ -340,12 +311,12 @@ export function readByName(
|
|
|
340
311
|
};
|
|
341
312
|
}
|
|
342
313
|
|
|
343
|
-
export function tx(
|
|
314
|
+
export function tx(
|
|
315
|
+
env: Environment,
|
|
316
|
+
): (txData: TransactionData, options?: {message?: string}) => Promise<EIP1193TransactionReceipt> {
|
|
344
317
|
return async (txData: TransactionData, options?: {message?: string}) => {
|
|
345
318
|
const {account, ...viemArgs} = txData;
|
|
346
|
-
const address = resolveAccount(account
|
|
347
|
-
|
|
348
|
-
const signer = env.addressSigners[address];
|
|
319
|
+
const address = env.resolveAccount(account);
|
|
349
320
|
|
|
350
321
|
const txParam: EIP1193TransactionData = {
|
|
351
322
|
type: '0x2',
|
|
@@ -365,31 +336,13 @@ export function tx(env: Environment): (txData: TransactionData, options?: {messa
|
|
|
365
336
|
txParam.value = `0x${viemArgs.value?.toString(16)}` as `0x${string}`;
|
|
366
337
|
}
|
|
367
338
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
method: 'eth_signTransaction',
|
|
377
|
-
params: [txParam],
|
|
378
|
-
});
|
|
379
|
-
|
|
380
|
-
txHash = await env.network.provider.request({
|
|
381
|
-
method: 'eth_sendRawTransaction',
|
|
382
|
-
params: [rawTx],
|
|
383
|
-
});
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
const pendingExecution: PendingExecution = {
|
|
387
|
-
type: 'execution',
|
|
388
|
-
transaction: {hash: txHash, origin: address},
|
|
389
|
-
// description, // TODO
|
|
390
|
-
// TODO we should have the nonce, except for wallet like metamask where it is not sure you get the nonce you start with
|
|
391
|
-
};
|
|
392
|
-
await env.savePendingExecution(pendingExecution, options?.message);
|
|
393
|
-
return txHash;
|
|
339
|
+
const receipt = await env.broadcastExecution(
|
|
340
|
+
{
|
|
341
|
+
type: 'object',
|
|
342
|
+
data: txParam,
|
|
343
|
+
},
|
|
344
|
+
options,
|
|
345
|
+
);
|
|
346
|
+
return receipt;
|
|
394
347
|
};
|
|
395
348
|
}
|