koilib 3.0.0 → 4.0.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/README.md +39 -27
- package/dist/koinos.js +252 -200
- package/dist/koinos.min.js +1 -1
- package/lib/Contract.d.ts +28 -19
- package/lib/Contract.js +47 -52
- package/lib/Contract.js.map +1 -1
- package/lib/Provider.d.ts +7 -5
- package/lib/Provider.js +24 -15
- package/lib/Provider.js.map +1 -1
- package/lib/Serializer.d.ts +2 -1
- package/lib/Serializer.js +96 -89
- package/lib/Serializer.js.map +1 -1
- package/lib/Signer.d.ts +17 -5
- package/lib/Signer.js +15 -6
- package/lib/Signer.js.map +1 -1
- package/lib/browser/Contract.d.ts +28 -19
- package/lib/browser/Contract.js +47 -52
- package/lib/browser/Contract.js.map +1 -1
- package/lib/browser/Provider.d.ts +7 -5
- package/lib/browser/Provider.js +24 -15
- package/lib/browser/Provider.js.map +1 -1
- package/lib/browser/Serializer.d.ts +2 -1
- package/lib/browser/Serializer.js +96 -89
- package/lib/browser/Serializer.js.map +1 -1
- package/lib/browser/Signer.d.ts +17 -5
- package/lib/browser/Signer.js +15 -6
- package/lib/browser/Signer.js.map +1 -1
- package/lib/browser/interface.d.ts +45 -25
- package/lib/browser/jsonDescriptors/{krc20-proto.json → token-proto.json} +0 -0
- package/lib/browser/utils.d.ts +3 -3
- package/lib/browser/utils.js +69 -37
- package/lib/browser/utils.js.map +1 -1
- package/lib/interface.d.ts +45 -25
- package/lib/jsonDescriptors/{krc20-proto.json → token-proto.json} +0 -0
- package/lib/utils.d.ts +3 -3
- package/lib/utils.js +69 -37
- package/lib/utils.js.map +1 -1
- package/package.json +1 -1
package/lib/Contract.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Signer, SignerInterface } from "./Signer";
|
|
2
2
|
import { Provider } from "./Provider";
|
|
3
3
|
import { Serializer } from "./Serializer";
|
|
4
|
-
import {
|
|
4
|
+
import { UploadContractOperationNested, TransactionJsonWait, Abi, TransactionOptions, DecodedOperationJson, OperationJson, DeployOptions, TransactionReceipt } from "./interface";
|
|
5
5
|
/**
|
|
6
6
|
* The contract class contains the contract ID and contract entries
|
|
7
7
|
* definition needed to encode/decode operations during the
|
|
@@ -17,21 +17,21 @@ import { CallContractOperationNested, UploadContractOperationNested, Transaction
|
|
|
17
17
|
* const signer = new Signer({ privateKey, provider });
|
|
18
18
|
* const koinContract = new Contract({
|
|
19
19
|
* id: "19JntSm8pSNETT9aHTwAUHC5RMoaSmgZPJ",
|
|
20
|
-
* abi: utils.
|
|
20
|
+
* abi: utils.tokenAbi,
|
|
21
21
|
* provider,
|
|
22
22
|
* signer,
|
|
23
23
|
* });
|
|
24
24
|
* const koin = koinContract.functions;
|
|
25
25
|
*
|
|
26
|
-
* // optional: preformat
|
|
27
|
-
* koinContract.abi.methods.balanceOf.
|
|
26
|
+
* // optional: preformat argument/return
|
|
27
|
+
* koinContract.abi.methods.balanceOf.preformat_argument = (owner) =>
|
|
28
28
|
* ({ owner });
|
|
29
|
-
* koinContract.abi.methods.balanceOf.
|
|
29
|
+
* koinContract.abi.methods.balanceOf.preformat_return = (res) =>
|
|
30
30
|
* utils.formatUnits(res.value, 8);
|
|
31
|
-
* koinContract.abi.methods.transfer.
|
|
31
|
+
* koinContract.abi.methods.transfer.preformat_argument = (arg) => ({
|
|
32
32
|
* from: signer.getAddress(),
|
|
33
|
-
* to:
|
|
34
|
-
* value: utils.parseUnits(
|
|
33
|
+
* to: arg.to,
|
|
34
|
+
* value: utils.parseUnits(arg.value, 8),
|
|
35
35
|
* });
|
|
36
36
|
*
|
|
37
37
|
* async funtion main() {
|
|
@@ -40,11 +40,16 @@ import { CallContractOperationNested, UploadContractOperationNested, Transaction
|
|
|
40
40
|
* console.log(result)
|
|
41
41
|
*
|
|
42
42
|
* // Transfer
|
|
43
|
-
* const { transaction } = await koin.transfer({
|
|
43
|
+
* const { transaction, receipt } = await koin.transfer({
|
|
44
44
|
* to: "172AB1FgCsYrRAW5cwQ8KjadgxofvgPFd6",
|
|
45
45
|
* value: "10.0001",
|
|
46
46
|
* });
|
|
47
|
-
* console.log(`Transaction id ${transaction.id} submitted
|
|
47
|
+
* console.log(`Transaction id ${transaction.id} submitted. Receipt:`);
|
|
48
|
+
* console.log(receipt);
|
|
49
|
+
*
|
|
50
|
+
* if (receipt.logs) {
|
|
51
|
+
* console.log(`Transfer failed. Logs: ${receipt.logs.join(",")}`);
|
|
52
|
+
* }
|
|
48
53
|
*
|
|
49
54
|
* // wait to be mined
|
|
50
55
|
* const blockNumber = await transaction.wait();
|
|
@@ -90,9 +95,10 @@ export declare class Contract {
|
|
|
90
95
|
*/
|
|
91
96
|
functions: {
|
|
92
97
|
[x: string]: <T = Record<string, unknown>>(args?: unknown, opts?: TransactionOptions) => Promise<{
|
|
93
|
-
operation:
|
|
98
|
+
operation: OperationJson;
|
|
94
99
|
transaction?: TransactionJsonWait;
|
|
95
100
|
result?: T;
|
|
101
|
+
receipt?: TransactionReceipt;
|
|
96
102
|
}>;
|
|
97
103
|
};
|
|
98
104
|
/**
|
|
@@ -150,7 +156,8 @@ export declare class Contract {
|
|
|
150
156
|
* const signer = new Signer({ privateKey, provider });
|
|
151
157
|
* const bytecode = new Uint8Array([1, 2, 3, 4]);
|
|
152
158
|
* const contract = new Contract({ signer, provider, bytecode });
|
|
153
|
-
* const { transaction } = await contract.deploy();
|
|
159
|
+
* const { transaction, receipt } = await contract.deploy();
|
|
160
|
+
* console.log(receipt);
|
|
154
161
|
* // wait to be mined
|
|
155
162
|
* const blockNumber = await transaction.wait();
|
|
156
163
|
* console.log(`Contract uploaded in block number ${blockNumber}`);
|
|
@@ -158,7 +165,7 @@ export declare class Contract {
|
|
|
158
165
|
*
|
|
159
166
|
* @example using options
|
|
160
167
|
* ```ts
|
|
161
|
-
* const { transaction } = await contract.deploy({
|
|
168
|
+
* const { transaction, receipt } = await contract.deploy({
|
|
162
169
|
* // contract options
|
|
163
170
|
* abi: "CssCChRrb2lub3Mvb3B0aW9ucy5wc...",
|
|
164
171
|
* authorizesCallContract: true,
|
|
@@ -176,6 +183,7 @@ export declare class Contract {
|
|
|
176
183
|
* signTransaction: true,
|
|
177
184
|
* sendTransaction: true,
|
|
178
185
|
* });
|
|
186
|
+
* console.log(receipt);
|
|
179
187
|
* // wait to be mined
|
|
180
188
|
* const blockNumber = await transaction.wait();
|
|
181
189
|
* console.log(`Contract uploaded in block number ${blockNumber}`);
|
|
@@ -184,6 +192,7 @@ export declare class Contract {
|
|
|
184
192
|
deploy(options?: DeployOptions): Promise<{
|
|
185
193
|
operation: UploadContractOperationNested;
|
|
186
194
|
transaction: TransactionJsonWait;
|
|
195
|
+
receipt?: TransactionReceipt;
|
|
187
196
|
}>;
|
|
188
197
|
/**
|
|
189
198
|
* Encondes a contract operation using Koinos serialization
|
|
@@ -205,13 +214,13 @@ export declare class Contract {
|
|
|
205
214
|
* // {
|
|
206
215
|
* // call_contract: {
|
|
207
216
|
* // contract_id: "19JntSm8pSNETT9aHTwAUHC5RMoaSmgZPJ",
|
|
208
|
-
* // entry_point:
|
|
209
|
-
* // args: "
|
|
217
|
+
* // entry_point: 670398154,
|
|
218
|
+
* // args: "ChkAEjl6vrl55V2Oym_rzsnMxIqBoie9PHmMEhkAQgjT1UACatdFY3e5QRkyG7OAzwcCCIylGOgH",
|
|
210
219
|
* // }
|
|
211
220
|
* // }
|
|
212
221
|
* ```
|
|
213
222
|
*/
|
|
214
|
-
encodeOperation(op: DecodedOperationJson): Promise<
|
|
223
|
+
encodeOperation(op: DecodedOperationJson): Promise<OperationJson>;
|
|
215
224
|
/**
|
|
216
225
|
* Decodes a contract operation to be human readable
|
|
217
226
|
* @example
|
|
@@ -219,8 +228,8 @@ export declare class Contract {
|
|
|
219
228
|
* const opDecoded = contract.decodeOperation({
|
|
220
229
|
* call_contract: {
|
|
221
230
|
* contract_id: "19JntSm8pSNETT9aHTwAUHC5RMoaSmgZPJ",
|
|
222
|
-
* entry_point:
|
|
223
|
-
* args: "
|
|
231
|
+
* entry_point: 0x27f576ca,
|
|
232
|
+
* args: "ChkAEjl6vrl55V2Oym_rzsnMxIqBoie9PHmMEhkAQgjT1UACatdFY3e5QRkyG7OAzwcCCIylGOgH",
|
|
224
233
|
* }
|
|
225
234
|
* });
|
|
226
235
|
* console.log(opDecoded);
|
|
@@ -234,6 +243,6 @@ export declare class Contract {
|
|
|
234
243
|
* // }
|
|
235
244
|
* ```
|
|
236
245
|
*/
|
|
237
|
-
decodeOperation(op:
|
|
246
|
+
decodeOperation(op: OperationJson): Promise<DecodedOperationJson>;
|
|
238
247
|
}
|
|
239
248
|
export default Contract;
|
package/lib/Contract.js
CHANGED
|
@@ -18,21 +18,21 @@ const utils_1 = require("./utils");
|
|
|
18
18
|
* const signer = new Signer({ privateKey, provider });
|
|
19
19
|
* const koinContract = new Contract({
|
|
20
20
|
* id: "19JntSm8pSNETT9aHTwAUHC5RMoaSmgZPJ",
|
|
21
|
-
* abi: utils.
|
|
21
|
+
* abi: utils.tokenAbi,
|
|
22
22
|
* provider,
|
|
23
23
|
* signer,
|
|
24
24
|
* });
|
|
25
25
|
* const koin = koinContract.functions;
|
|
26
26
|
*
|
|
27
|
-
* // optional: preformat
|
|
28
|
-
* koinContract.abi.methods.balanceOf.
|
|
27
|
+
* // optional: preformat argument/return
|
|
28
|
+
* koinContract.abi.methods.balanceOf.preformat_argument = (owner) =>
|
|
29
29
|
* ({ owner });
|
|
30
|
-
* koinContract.abi.methods.balanceOf.
|
|
30
|
+
* koinContract.abi.methods.balanceOf.preformat_return = (res) =>
|
|
31
31
|
* utils.formatUnits(res.value, 8);
|
|
32
|
-
* koinContract.abi.methods.transfer.
|
|
32
|
+
* koinContract.abi.methods.transfer.preformat_argument = (arg) => ({
|
|
33
33
|
* from: signer.getAddress(),
|
|
34
|
-
* to:
|
|
35
|
-
* value: utils.parseUnits(
|
|
34
|
+
* to: arg.to,
|
|
35
|
+
* value: utils.parseUnits(arg.value, 8),
|
|
36
36
|
* });
|
|
37
37
|
*
|
|
38
38
|
* async funtion main() {
|
|
@@ -41,11 +41,16 @@ const utils_1 = require("./utils");
|
|
|
41
41
|
* console.log(result)
|
|
42
42
|
*
|
|
43
43
|
* // Transfer
|
|
44
|
-
* const { transaction } = await koin.transfer({
|
|
44
|
+
* const { transaction, receipt } = await koin.transfer({
|
|
45
45
|
* to: "172AB1FgCsYrRAW5cwQ8KjadgxofvgPFd6",
|
|
46
46
|
* value: "10.0001",
|
|
47
47
|
* });
|
|
48
|
-
* console.log(`Transaction id ${transaction.id} submitted
|
|
48
|
+
* console.log(`Transaction id ${transaction.id} submitted. Receipt:`);
|
|
49
|
+
* console.log(receipt);
|
|
50
|
+
*
|
|
51
|
+
* if (receipt.logs) {
|
|
52
|
+
* console.log(`Transfer failed. Logs: ${receipt.logs.join(",")}`);
|
|
53
|
+
* }
|
|
49
54
|
*
|
|
50
55
|
* // wait to be mined
|
|
51
56
|
* const blockNumber = await transaction.wait();
|
|
@@ -67,8 +72,8 @@ class Contract {
|
|
|
67
72
|
if (c.serializer) {
|
|
68
73
|
this.serializer = c.serializer;
|
|
69
74
|
}
|
|
70
|
-
else if (c.abi && c.abi.
|
|
71
|
-
this.serializer = new Serializer_1.Serializer(c.abi.
|
|
75
|
+
else if (c.abi && c.abi.koilib_types) {
|
|
76
|
+
this.serializer = new Serializer_1.Serializer(c.abi.koilib_types);
|
|
72
77
|
}
|
|
73
78
|
this.options = {
|
|
74
79
|
signTransaction: true,
|
|
@@ -94,10 +99,10 @@ class Contract {
|
|
|
94
99
|
...this.options,
|
|
95
100
|
...options,
|
|
96
101
|
};
|
|
97
|
-
const { readOnly, output, defaultOutput,
|
|
102
|
+
const { read_only: readOnly, return: output, default_output: defaultOutput, preformat_argument: preformatArgument, preformat_return: preformatReturn, } = this.abi.methods[name];
|
|
98
103
|
let args;
|
|
99
|
-
if (typeof
|
|
100
|
-
args =
|
|
104
|
+
if (typeof preformatArgument === "function") {
|
|
105
|
+
args = preformatArgument(argu);
|
|
101
106
|
}
|
|
102
107
|
else {
|
|
103
108
|
args = argu;
|
|
@@ -107,17 +112,13 @@ class Contract {
|
|
|
107
112
|
if (!output)
|
|
108
113
|
throw new Error(`No output defined for ${name}`);
|
|
109
114
|
// read contract
|
|
110
|
-
const { result: resultEncoded } = await this.provider.readContract(
|
|
111
|
-
contract_id: (0, utils_1.encodeBase58)(operation.call_contract.contract_id),
|
|
112
|
-
entry_point: operation.call_contract.entry_point,
|
|
113
|
-
args: (0, utils_1.encodeBase64url)(operation.call_contract.args),
|
|
114
|
-
});
|
|
115
|
+
const { result: resultEncoded } = await this.provider.readContract(operation.call_contract);
|
|
115
116
|
let result = defaultOutput;
|
|
116
117
|
if (resultEncoded) {
|
|
117
118
|
result = await this.serializer.deserialize(resultEncoded, output);
|
|
118
119
|
}
|
|
119
|
-
if (typeof
|
|
120
|
-
result =
|
|
120
|
+
if (typeof preformatReturn === "function") {
|
|
121
|
+
result = preformatReturn(result);
|
|
121
122
|
}
|
|
122
123
|
return { operation, result };
|
|
123
124
|
}
|
|
@@ -132,15 +133,7 @@ class Contract {
|
|
|
132
133
|
...((opts === null || opts === void 0 ? void 0 : opts.payer) && { payer: opts === null || opts === void 0 ? void 0 : opts.payer }),
|
|
133
134
|
...((opts === null || opts === void 0 ? void 0 : opts.payee) && { payee: opts === null || opts === void 0 ? void 0 : opts.payee }),
|
|
134
135
|
},
|
|
135
|
-
operations: [
|
|
136
|
-
{
|
|
137
|
-
call_contract: {
|
|
138
|
-
contract_id: (0, utils_1.encodeBase58)(operation.call_contract.contract_id),
|
|
139
|
-
entry_point: operation.call_contract.entry_point,
|
|
140
|
-
args: (0, utils_1.encodeBase64url)(operation.call_contract.args),
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
],
|
|
136
|
+
operations: [operation],
|
|
144
137
|
});
|
|
145
138
|
const abis = {};
|
|
146
139
|
if (opts === null || opts === void 0 ? void 0 : opts.sendAbis) {
|
|
@@ -156,8 +149,8 @@ class Contract {
|
|
|
156
149
|
await this.signer.signTransaction(tx, abis);
|
|
157
150
|
return { operation, transaction: { ...tx, wait: noWait } };
|
|
158
151
|
}
|
|
159
|
-
const transaction = await this.signer.sendTransaction(tx, abis);
|
|
160
|
-
return { operation, transaction };
|
|
152
|
+
const { transaction, receipt } = await this.signer.sendTransaction(tx, abis);
|
|
153
|
+
return { operation, transaction, receipt };
|
|
161
154
|
};
|
|
162
155
|
});
|
|
163
156
|
}
|
|
@@ -180,7 +173,8 @@ class Contract {
|
|
|
180
173
|
* const signer = new Signer({ privateKey, provider });
|
|
181
174
|
* const bytecode = new Uint8Array([1, 2, 3, 4]);
|
|
182
175
|
* const contract = new Contract({ signer, provider, bytecode });
|
|
183
|
-
* const { transaction } = await contract.deploy();
|
|
176
|
+
* const { transaction, receipt } = await contract.deploy();
|
|
177
|
+
* console.log(receipt);
|
|
184
178
|
* // wait to be mined
|
|
185
179
|
* const blockNumber = await transaction.wait();
|
|
186
180
|
* console.log(`Contract uploaded in block number ${blockNumber}`);
|
|
@@ -188,7 +182,7 @@ class Contract {
|
|
|
188
182
|
*
|
|
189
183
|
* @example using options
|
|
190
184
|
* ```ts
|
|
191
|
-
* const { transaction } = await contract.deploy({
|
|
185
|
+
* const { transaction, receipt } = await contract.deploy({
|
|
192
186
|
* // contract options
|
|
193
187
|
* abi: "CssCChRrb2lub3Mvb3B0aW9ucy5wc...",
|
|
194
188
|
* authorizesCallContract: true,
|
|
@@ -206,6 +200,7 @@ class Contract {
|
|
|
206
200
|
* signTransaction: true,
|
|
207
201
|
* sendTransaction: true,
|
|
208
202
|
* });
|
|
203
|
+
* console.log(receipt);
|
|
209
204
|
* // wait to be mined
|
|
210
205
|
* const blockNumber = await transaction.wait();
|
|
211
206
|
* console.log(`Contract uploaded in block number ${blockNumber}`);
|
|
@@ -262,8 +257,8 @@ class Contract {
|
|
|
262
257
|
await this.signer.signTransaction(tx);
|
|
263
258
|
return { operation, transaction: { ...tx, wait: noWait } };
|
|
264
259
|
}
|
|
265
|
-
const transaction = await this.signer.sendTransaction(tx);
|
|
266
|
-
return { operation, transaction };
|
|
260
|
+
const { transaction, receipt } = await this.signer.sendTransaction(tx);
|
|
261
|
+
return { operation, transaction, receipt };
|
|
267
262
|
}
|
|
268
263
|
/**
|
|
269
264
|
* Encondes a contract operation using Koinos serialization
|
|
@@ -285,8 +280,8 @@ class Contract {
|
|
|
285
280
|
* // {
|
|
286
281
|
* // call_contract: {
|
|
287
282
|
* // contract_id: "19JntSm8pSNETT9aHTwAUHC5RMoaSmgZPJ",
|
|
288
|
-
* // entry_point:
|
|
289
|
-
* // args: "
|
|
283
|
+
* // entry_point: 670398154,
|
|
284
|
+
* // args: "ChkAEjl6vrl55V2Oym_rzsnMxIqBoie9PHmMEhkAQgjT1UACatdFY3e5QRkyG7OAzwcCCIylGOgH",
|
|
290
285
|
* // }
|
|
291
286
|
* // }
|
|
292
287
|
* ```
|
|
@@ -299,17 +294,17 @@ class Contract {
|
|
|
299
294
|
if (!this.id)
|
|
300
295
|
throw new Error("Contract id is not defined");
|
|
301
296
|
const method = this.abi.methods[op.name];
|
|
302
|
-
let
|
|
303
|
-
if (method.
|
|
297
|
+
let bufferArguments = new Uint8Array(0);
|
|
298
|
+
if (method.argument) {
|
|
304
299
|
if (!op.args)
|
|
305
|
-
throw new Error(`No arguments defined for type '${method.
|
|
306
|
-
|
|
300
|
+
throw new Error(`No arguments defined for type '${method.argument}'`);
|
|
301
|
+
bufferArguments = await this.serializer.serialize(op.args, method.argument);
|
|
307
302
|
}
|
|
308
303
|
return {
|
|
309
304
|
call_contract: {
|
|
310
|
-
contract_id: this.id,
|
|
311
|
-
entry_point: method.
|
|
312
|
-
args:
|
|
305
|
+
contract_id: (0, utils_1.encodeBase58)(this.id),
|
|
306
|
+
entry_point: method.entry_point,
|
|
307
|
+
args: (0, utils_1.encodeBase64url)(bufferArguments),
|
|
313
308
|
},
|
|
314
309
|
};
|
|
315
310
|
}
|
|
@@ -320,8 +315,8 @@ class Contract {
|
|
|
320
315
|
* const opDecoded = contract.decodeOperation({
|
|
321
316
|
* call_contract: {
|
|
322
317
|
* contract_id: "19JntSm8pSNETT9aHTwAUHC5RMoaSmgZPJ",
|
|
323
|
-
* entry_point:
|
|
324
|
-
* args: "
|
|
318
|
+
* entry_point: 0x27f576ca,
|
|
319
|
+
* args: "ChkAEjl6vrl55V2Oym_rzsnMxIqBoie9PHmMEhkAQgjT1UACatdFY3e5QRkyG7OAzwcCCIylGOgH",
|
|
325
320
|
* }
|
|
326
321
|
* });
|
|
327
322
|
* console.log(opDecoded);
|
|
@@ -344,17 +339,17 @@ class Contract {
|
|
|
344
339
|
throw new Error("Serializer is not defined");
|
|
345
340
|
if (!op.call_contract)
|
|
346
341
|
throw new Error("Operation is not CallContractOperation");
|
|
347
|
-
if (
|
|
348
|
-
throw new Error(`Invalid contract id. Expected: ${(0, utils_1.encodeBase58)(this.id)}. Received: ${
|
|
342
|
+
if (op.call_contract.contract_id !== (0, utils_1.encodeBase58)(this.id))
|
|
343
|
+
throw new Error(`Invalid contract id. Expected: ${(0, utils_1.encodeBase58)(this.id)}. Received: ${op.call_contract.contract_id}`);
|
|
349
344
|
for (let i = 0; i < Object.keys(this.abi.methods).length; i += 1) {
|
|
350
345
|
const opName = Object.keys(this.abi.methods)[i];
|
|
351
346
|
const method = this.abi.methods[opName];
|
|
352
|
-
if (op.call_contract.entry_point === method.
|
|
353
|
-
if (!method.
|
|
347
|
+
if (op.call_contract.entry_point === method.entry_point) {
|
|
348
|
+
if (!method.argument)
|
|
354
349
|
return { name: opName };
|
|
355
350
|
return {
|
|
356
351
|
name: opName,
|
|
357
|
-
args: await this.serializer.deserialize(op.call_contract.args, method.
|
|
352
|
+
args: await this.serializer.deserialize(op.call_contract.args, method.argument),
|
|
358
353
|
};
|
|
359
354
|
}
|
|
360
355
|
}
|
package/lib/Contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contract.js","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":";;;AAGA,6CAA0C;AAW1C,mCAAsE;AAEtE
|
|
1
|
+
{"version":3,"file":"Contract.js","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":"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"}
|
package/lib/Provider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BlockJson, TransactionJson, CallContractOperationJson } from "./interface";
|
|
1
|
+
import { BlockJson, TransactionJson, CallContractOperationJson, TransactionReceipt } from "./interface";
|
|
2
2
|
/**
|
|
3
3
|
* Class to connect with the RPC node
|
|
4
4
|
*/
|
|
@@ -140,12 +140,12 @@ export declare class Provider {
|
|
|
140
140
|
*
|
|
141
141
|
* When _byTransactionId_ is used it returns the block id.
|
|
142
142
|
*
|
|
143
|
-
* @param timeout - Timeout in milliseconds. By default it is
|
|
143
|
+
* @param timeout - Timeout in milliseconds. By default it is 60000
|
|
144
144
|
* @example
|
|
145
145
|
* ```ts
|
|
146
146
|
* const blockNumber = await provider.wait(txId);
|
|
147
|
-
* // const blockNumber = await provider.wait(txId, "byBlock",
|
|
148
|
-
* // const blockId = await provider.wait(txId, "byTransactionId",
|
|
147
|
+
* // const blockNumber = await provider.wait(txId, "byBlock", 60000);
|
|
148
|
+
* // const blockId = await provider.wait(txId, "byTransactionId", 60000);
|
|
149
149
|
* console.log("Transaction mined")
|
|
150
150
|
* ```
|
|
151
151
|
*/
|
|
@@ -154,7 +154,9 @@ export declare class Provider {
|
|
|
154
154
|
* Function to call "chain.submit_transaction" to send a signed
|
|
155
155
|
* transaction to the blockchain.
|
|
156
156
|
*/
|
|
157
|
-
sendTransaction(transaction: TransactionJson): Promise<
|
|
157
|
+
sendTransaction(transaction: TransactionJson): Promise<{
|
|
158
|
+
receipt: TransactionReceipt;
|
|
159
|
+
}>;
|
|
158
160
|
/**
|
|
159
161
|
* Function to call "chain.submit_block" to send a signed
|
|
160
162
|
* block to the blockchain.
|
package/lib/Provider.js
CHANGED
|
@@ -35,7 +35,7 @@ class Provider {
|
|
|
35
35
|
else
|
|
36
36
|
this.rpcNodes = [rpcNodes];
|
|
37
37
|
this.currentNodeId = 0;
|
|
38
|
-
this.onError = () =>
|
|
38
|
+
this.onError = () => true;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Function to make jsonrpc requests to the RPC node
|
|
@@ -48,7 +48,7 @@ class Provider {
|
|
|
48
48
|
// eslint-disable-next-line no-constant-condition
|
|
49
49
|
while (true) {
|
|
50
50
|
try {
|
|
51
|
-
const
|
|
51
|
+
const body = {
|
|
52
52
|
id: Math.round(Math.random() * 1000),
|
|
53
53
|
jsonrpc: "2.0",
|
|
54
54
|
method,
|
|
@@ -57,18 +57,27 @@ class Provider {
|
|
|
57
57
|
const url = this.rpcNodes[this.currentNodeId];
|
|
58
58
|
const response = await (0, cross_fetch_1.default)(url, {
|
|
59
59
|
method: "POST",
|
|
60
|
-
body: JSON.stringify(
|
|
60
|
+
body: JSON.stringify(body),
|
|
61
61
|
});
|
|
62
62
|
const json = (await response.json());
|
|
63
|
-
if (json.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
throw
|
|
63
|
+
if (json.result !== undefined)
|
|
64
|
+
return json.result;
|
|
65
|
+
if (!json.error)
|
|
66
|
+
throw new Error("undefined error");
|
|
67
|
+
const { message, data } = json.error;
|
|
68
|
+
if (!data)
|
|
69
|
+
throw new Error(message);
|
|
70
|
+
let dataJson;
|
|
71
|
+
try {
|
|
72
|
+
dataJson = JSON.parse(data);
|
|
70
73
|
}
|
|
71
|
-
|
|
74
|
+
catch (e) {
|
|
75
|
+
dataJson = { data };
|
|
76
|
+
}
|
|
77
|
+
throw new Error(JSON.stringify({
|
|
78
|
+
...(message && { error: message }),
|
|
79
|
+
...dataJson,
|
|
80
|
+
}));
|
|
72
81
|
}
|
|
73
82
|
catch (e) {
|
|
74
83
|
const currentNode = this.rpcNodes[this.currentNodeId];
|
|
@@ -182,16 +191,16 @@ class Provider {
|
|
|
182
191
|
*
|
|
183
192
|
* When _byTransactionId_ is used it returns the block id.
|
|
184
193
|
*
|
|
185
|
-
* @param timeout - Timeout in milliseconds. By default it is
|
|
194
|
+
* @param timeout - Timeout in milliseconds. By default it is 60000
|
|
186
195
|
* @example
|
|
187
196
|
* ```ts
|
|
188
197
|
* const blockNumber = await provider.wait(txId);
|
|
189
|
-
* // const blockNumber = await provider.wait(txId, "byBlock",
|
|
190
|
-
* // const blockId = await provider.wait(txId, "byTransactionId",
|
|
198
|
+
* // const blockNumber = await provider.wait(txId, "byBlock", 60000);
|
|
199
|
+
* // const blockId = await provider.wait(txId, "byTransactionId", 60000);
|
|
191
200
|
* console.log("Transaction mined")
|
|
192
201
|
* ```
|
|
193
202
|
*/
|
|
194
|
-
async wait(txId, type = "byBlock", timeout =
|
|
203
|
+
async wait(txId, type = "byBlock", timeout = 60000) {
|
|
195
204
|
const iniTime = Date.now();
|
|
196
205
|
if (type === "byTransactionId") {
|
|
197
206
|
while (Date.now() < iniTime + timeout) {
|
package/lib/Provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAgC;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":"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"}
|
package/lib/Serializer.d.ts
CHANGED
|
@@ -65,7 +65,8 @@ export declare class Serializer {
|
|
|
65
65
|
*/
|
|
66
66
|
bytesConversion?: boolean;
|
|
67
67
|
});
|
|
68
|
-
|
|
68
|
+
btypeDecode(valueBtypeEncoded: Record<string, unknown> | unknown[], protobufType: Type): Record<string, unknown>;
|
|
69
|
+
btypeEncode(valueBtypeDecoded: Record<string, unknown> | unknown[], protobufType: Type): Record<string, unknown>;
|
|
69
70
|
/**
|
|
70
71
|
* Function to encode a type using the protobuffer definitions
|
|
71
72
|
* It also prepares the bytes for special cases (base58, hex string)
|