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.
@@ -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.Krc20Abi,
21
+ * abi: utils.tokenAbi,
22
22
  * provider,
23
23
  * signer,
24
24
  * });
25
25
  * const koin = koinContract.functions;
26
26
  *
27
- * // optional: preformat input/output
28
- * koinContract.abi.methods.balanceOf.preformatInput = (owner) =>
27
+ * // optional: preformat argument/return
28
+ * koinContract.abi.methods.balanceOf.preformat_argument = (owner) =>
29
29
  * ({ owner });
30
- * koinContract.abi.methods.balanceOf.preformatOutput = (res) =>
30
+ * koinContract.abi.methods.balanceOf.preformat_return = (res) =>
31
31
  * utils.formatUnits(res.value, 8);
32
- * koinContract.abi.methods.transfer.preformatInput = (input) => ({
32
+ * koinContract.abi.methods.transfer.preformat_argument = (arg) => ({
33
33
  * from: signer.getAddress(),
34
- * to: input.to,
35
- * value: utils.parseUnits(input.value, 8),
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.types) {
71
- this.serializer = new Serializer_1.Serializer(c.abi.types);
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, preformatInput, preformatOutput, } = this.abi.methods[name];
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 preformatInput === "function") {
100
- args = preformatInput(argu);
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 preformatOutput === "function") {
120
- result = preformatOutput(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: 0x62efa292,
289
- * // args: "MBWFsaWNlA2JvYgAAAAAAAAPo",
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 bufferInputs = new Uint8Array(0);
303
- if (method.input) {
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.input}'`);
306
- bufferInputs = await this.serializer.serialize(op.args, method.input);
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.entryPoint,
312
- args: bufferInputs,
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: 0x62efa292,
324
- * args: "MBWFsaWNlA2JvYgAAAAAAAAPo",
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 ((0, utils_1.encodeBase58)(op.call_contract.contract_id) !== (0, utils_1.encodeBase58)(this.id))
348
- throw new Error(`Invalid contract id. Expected: ${(0, utils_1.encodeBase58)(this.id)}. Received: ${(0, utils_1.encodeBase58)(op.call_contract.contract_id)}`);
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.entryPoint) {
353
- if (!method.input)
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.input),
352
+ args: await this.serializer.deserialize(op.call_contract.args, method.argument),
358
353
  };
359
354
  }
360
355
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Contract.js","sourceRoot":"","sources":["../../src/Contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Contract.js","sourceRoot":"","sources":["../../src/Contract.ts"],"names":[],"mappings":"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"}
@@ -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 30000
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", 30000);
148
- * // const blockId = await provider.wait(txId, "byTransactionId", 30000);
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<Record<string, never>>;
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.
@@ -31,7 +31,7 @@ class Provider {
31
31
  else
32
32
  this.rpcNodes = [rpcNodes];
33
33
  this.currentNodeId = 0;
34
- this.onError = () => false;
34
+ this.onError = () => true;
35
35
  }
36
36
  /**
37
37
  * Function to make jsonrpc requests to the RPC node
@@ -44,7 +44,7 @@ class Provider {
44
44
  // eslint-disable-next-line no-constant-condition
45
45
  while (true) {
46
46
  try {
47
- const data = {
47
+ const body = {
48
48
  id: Math.round(Math.random() * 1000),
49
49
  jsonrpc: "2.0",
50
50
  method,
@@ -53,18 +53,27 @@ class Provider {
53
53
  const url = this.rpcNodes[this.currentNodeId];
54
54
  const response = await fetch(url, {
55
55
  method: "POST",
56
- body: JSON.stringify(data),
56
+ body: JSON.stringify(body),
57
57
  });
58
58
  const json = (await response.json());
59
- if (json.error && json.error.message) {
60
- const error = new Error(json.error.message);
61
- error.request = {
62
- method,
63
- params,
64
- };
65
- throw error;
59
+ if (json.result !== undefined)
60
+ return json.result;
61
+ if (!json.error)
62
+ throw new Error("undefined error");
63
+ const { message, data } = json.error;
64
+ if (!data)
65
+ throw new Error(message);
66
+ let dataJson;
67
+ try {
68
+ dataJson = JSON.parse(data);
66
69
  }
67
- return json.result;
70
+ catch (e) {
71
+ dataJson = { data };
72
+ }
73
+ throw new Error(JSON.stringify({
74
+ ...(message && { error: message }),
75
+ ...dataJson,
76
+ }));
68
77
  }
69
78
  catch (e) {
70
79
  const currentNode = this.rpcNodes[this.currentNodeId];
@@ -178,16 +187,16 @@ class Provider {
178
187
  *
179
188
  * When _byTransactionId_ is used it returns the block id.
180
189
  *
181
- * @param timeout - Timeout in milliseconds. By default it is 30000
190
+ * @param timeout - Timeout in milliseconds. By default it is 60000
182
191
  * @example
183
192
  * ```ts
184
193
  * const blockNumber = await provider.wait(txId);
185
- * // const blockNumber = await provider.wait(txId, "byBlock", 30000);
186
- * // const blockId = await provider.wait(txId, "byTransactionId", 30000);
194
+ * // const blockNumber = await provider.wait(txId, "byBlock", 60000);
195
+ * // const blockId = await provider.wait(txId, "byTransactionId", 60000);
187
196
  * console.log("Transaction mined")
188
197
  * ```
189
198
  */
190
- async wait(txId, type = "byBlock", timeout = 30000) {
199
+ async wait(txId, type = "byBlock", timeout = 60000) {
191
200
  const iniTime = Date.now();
192
201
  if (type === "byTransactionId") {
193
202
  while (Date.now() < iniTime + timeout) {
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../src/Provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../src/Provider.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,8 @@ export declare class Serializer {
65
65
  */
66
66
  bytesConversion?: boolean;
67
67
  });
68
- converter(valueDecoded: Record<string, unknown>, object: Record<string, unknown>, protobufType: Type, fieldName: string): void;
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)
@@ -4,22 +4,25 @@ exports.Serializer = void 0;
4
4
  /* eslint-disable @typescript-eslint/require-await */
5
5
  const light_1 = require("protobufjs/light");
6
6
  const utils_1 = require("./utils");
7
- const OP_BYTES = "(btype)";
8
- /**
9
- * Makes a copy of a value. The returned value can be modified
10
- * without altering the original one. Although this is not needed
11
- * for strings or numbers and only needed for objects and arrays,
12
- * all these options are covered in a single function
13
- *
14
- * It is assumed that the argument is number, string, or contructions
15
- * of these types inside objects or arrays.
16
- */
17
- function copyValue(value) {
18
- if (typeof value === "string" || typeof value === "number") {
19
- return value;
20
- }
21
- return JSON.parse(JSON.stringify(value));
22
- }
7
+ const OP_BYTES_1 = "(btype)";
8
+ const OP_BYTES_2 = "(koinos.btype)";
9
+ const nativeTypes = [
10
+ "double",
11
+ "float",
12
+ "int32",
13
+ "int64",
14
+ "uint32",
15
+ "uint64",
16
+ "sint32",
17
+ "sint64",
18
+ "fixed32",
19
+ "fixed64",
20
+ "sfixed32",
21
+ "sfixed64",
22
+ "bool",
23
+ "string",
24
+ "bytes",
25
+ ];
23
26
  /**
24
27
  * The serializer class serialize and deserialize data using
25
28
  * protocol buffers.
@@ -68,45 +71,79 @@ class Serializer {
68
71
  if (opts && typeof opts.bytesConversion !== "undefined")
69
72
  this.bytesConversion = opts.bytesConversion;
70
73
  }
71
- converter(valueDecoded, object, protobufType, fieldName) {
72
- const { options, name, type } = protobufType.fields[fieldName];
73
- if (!valueDecoded[name])
74
- return;
75
- // if operation
76
- if (type.endsWith("_operation")) {
77
- const protoBuf = this.root.lookupType(type);
78
- object[name] = {};
79
- Object.keys(protoBuf.fields).forEach((fdName) => this.converter(valueDecoded[name], object[name], protoBuf, fdName));
80
- return;
81
- }
82
- // No byte conversion
83
- if (type !== "bytes") {
84
- object[name] = copyValue(valueDecoded[name]);
85
- return;
86
- }
87
- // Default byte conversion
88
- if (!options || !options[OP_BYTES]) {
89
- object[name] = (0, utils_1.decodeBase64url)(valueDecoded[name]);
90
- return;
91
- }
92
- // Specific byte conversion
93
- switch (options[OP_BYTES]) {
94
- case "BASE58":
95
- case "CONTRACT_ID":
96
- case "ADDRESS":
97
- object[name] = (0, utils_1.decodeBase58)(valueDecoded[name]);
98
- break;
99
- case "BASE64":
100
- object[name] = (0, utils_1.decodeBase64url)(valueDecoded[name]);
101
- break;
102
- case "HEX":
103
- case "BLOCK_ID":
104
- case "TRANSACTION_ID":
105
- object[name] = (0, utils_1.toUint8Array)(valueDecoded[name].replace("0x", ""));
106
- break;
107
- default:
108
- throw new Error(`unknown btype ${options[OP_BYTES]}`);
109
- }
74
+ btypeDecode(valueBtypeEncoded, protobufType) {
75
+ const valueBtypeDecoded = {};
76
+ Object.keys(protobufType.fields).forEach((fieldName) => {
77
+ const { options, name, type, rule } = protobufType.fields[fieldName];
78
+ if (!valueBtypeEncoded[name])
79
+ return;
80
+ const typeField = { type };
81
+ if (options) {
82
+ if (options[OP_BYTES_1])
83
+ typeField.btype = options[OP_BYTES_1];
84
+ else if (options[OP_BYTES_2])
85
+ typeField.btype = options[OP_BYTES_2];
86
+ }
87
+ // arrays
88
+ if (rule === "repeated") {
89
+ valueBtypeDecoded[name] = valueBtypeEncoded[name].map((itemEncoded) => {
90
+ // custom objects
91
+ if (!nativeTypes.includes(type)) {
92
+ const protoBuf = this.root.lookupType(type);
93
+ return this.btypeDecode(itemEncoded, protoBuf);
94
+ }
95
+ // native types
96
+ return (0, utils_1.btypeDecodeValue)(itemEncoded, typeField);
97
+ });
98
+ return;
99
+ }
100
+ // custom objects
101
+ if (!nativeTypes.includes(type)) {
102
+ const protoBuf = this.root.lookupType(type);
103
+ valueBtypeDecoded[name] = this.btypeDecode(valueBtypeEncoded[name], protoBuf);
104
+ return;
105
+ }
106
+ // native types
107
+ valueBtypeDecoded[name] = (0, utils_1.btypeDecodeValue)(valueBtypeEncoded[name], typeField);
108
+ });
109
+ return valueBtypeDecoded;
110
+ }
111
+ btypeEncode(valueBtypeDecoded, protobufType) {
112
+ const valueBtypeEncoded = {};
113
+ Object.keys(protobufType.fields).forEach((fieldName) => {
114
+ const { options, name, type, rule } = protobufType.fields[fieldName];
115
+ if (!valueBtypeDecoded[name])
116
+ return;
117
+ const typeField = { type };
118
+ if (options) {
119
+ if (options[OP_BYTES_1])
120
+ typeField.btype = options[OP_BYTES_1];
121
+ else if (options[OP_BYTES_2])
122
+ typeField.btype = options[OP_BYTES_2];
123
+ }
124
+ // arrays
125
+ if (rule === "repeated") {
126
+ valueBtypeEncoded[name] = valueBtypeDecoded[name].map((itemDecoded) => {
127
+ // custom objects
128
+ if (!nativeTypes.includes(type)) {
129
+ const protoBuf = this.root.lookupType(type);
130
+ return this.btypeEncode(itemDecoded, protoBuf);
131
+ }
132
+ // native types
133
+ return (0, utils_1.btypeEncodeValue)(itemDecoded, typeField);
134
+ });
135
+ return;
136
+ }
137
+ // custom objects
138
+ if (!nativeTypes.includes(type)) {
139
+ const protoBuf = this.root.lookupType(type);
140
+ valueBtypeEncoded[name] = this.btypeEncode(valueBtypeDecoded[name], protoBuf);
141
+ return;
142
+ }
143
+ // native types
144
+ valueBtypeEncoded[name] = (0, utils_1.btypeEncodeValue)(valueBtypeDecoded[name], typeField);
145
+ });
146
+ return valueBtypeEncoded;
110
147
  }
111
148
  /**
112
149
  * Function to encode a type using the protobuffer definitions
@@ -120,8 +157,7 @@ class Serializer {
120
157
  ? this.bytesConversion
121
158
  : opts.bytesConversion;
122
159
  if (bytesConversion) {
123
- // TODO: format from Buffer to base58/base64 for nested fields
124
- Object.keys(protobufType.fields).forEach((fieldName) => this.converter(valueDecoded, object, protobufType, fieldName));
160
+ object = this.btypeDecode(valueDecoded, protobufType);
125
161
  }
126
162
  else {
127
163
  object = valueDecoded;
@@ -148,38 +184,9 @@ class Serializer {
148
184
  const bytesConversion = (opts === null || opts === void 0 ? void 0 : opts.bytesConversion) === undefined
149
185
  ? this.bytesConversion
150
186
  : opts.bytesConversion;
151
- if (!bytesConversion)
152
- return object;
153
- // TODO: format from Buffer to base58/base64 for nested fields
154
- Object.keys(protobufType.fields).forEach((fieldName) => {
155
- const { options, name, type } = protobufType.fields[fieldName];
156
- // No byte conversion
157
- if (type !== "bytes")
158
- return;
159
- // Default byte conversion
160
- if (!options || !options[OP_BYTES]) {
161
- object[name] = (0, utils_1.encodeBase64url)(object[name]);
162
- return;
163
- }
164
- // Specific byte conversion
165
- switch (options[OP_BYTES]) {
166
- case "BASE58":
167
- case "CONTRACT_ID":
168
- case "ADDRESS":
169
- object[name] = (0, utils_1.encodeBase58)(object[name]);
170
- break;
171
- case "BASE64":
172
- object[name] = (0, utils_1.encodeBase64url)(object[name]);
173
- break;
174
- case "HEX":
175
- case "BLOCK_ID":
176
- case "TRANSACTION_ID":
177
- object[name] = `0x${(0, utils_1.toHexString)(object[name])}`;
178
- break;
179
- default:
180
- throw new Error(`unknown koinos_byte_type ${options[OP_BYTES]}`);
181
- }
182
- });
187
+ if (bytesConversion) {
188
+ return this.btypeEncode(object, protobufType);
189
+ }
183
190
  return object;
184
191
  }
185
192
  }