koilib 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Serializer.js CHANGED
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../src/Serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../src/Serializer.ts"],"names":[],"mappings":"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"}
package/lib/Signer.d.ts CHANGED
@@ -1,12 +1,15 @@
1
1
  import { Provider } from "./Provider";
2
- import { TransactionJson, TransactionJsonWait, BlockJson, RecoverPublicKeyOptions, Abi } from "./interface";
2
+ import { TransactionJson, TransactionJsonWait, BlockJson, RecoverPublicKeyOptions, Abi, TransactionReceipt } from "./interface";
3
3
  export interface SignerInterface {
4
4
  provider?: Provider;
5
5
  getAddress: (compressed?: boolean) => string;
6
6
  getPrivateKey: (format: "wif" | "hex", compressed?: boolean) => string;
7
7
  signHash(hash: Uint8Array): Promise<Uint8Array>;
8
8
  signTransaction: (tx: TransactionJson | TransactionJsonWait, abis?: Record<string, Abi>) => Promise<TransactionJson>;
9
- sendTransaction: (tx: TransactionJson | TransactionJsonWait, abis?: Record<string, Abi>) => Promise<TransactionJsonWait>;
9
+ sendTransaction: (tx: TransactionJson | TransactionJsonWait, abis?: Record<string, Abi>) => Promise<{
10
+ receipt: TransactionReceipt;
11
+ transaction: TransactionJsonWait;
12
+ }>;
10
13
  prepareTransaction: (tx: TransactionJson) => Promise<TransactionJson>;
11
14
  prepareBlock: (block: BlockJson) => Promise<BlockJson>;
12
15
  signBlock: (block: BlockJson) => Promise<BlockJson>;
@@ -186,7 +189,10 @@ export declare class Signer implements SignerInterface {
186
189
  * transaction. This parameter is optional.
187
190
  * @returns
188
191
  */
189
- sendTransaction(tx: TransactionJson | TransactionJsonWait, _abis?: Record<string, Abi>): Promise<TransactionJsonWait>;
192
+ sendTransaction(tx: TransactionJson | TransactionJsonWait, _abis?: Record<string, Abi>): Promise<{
193
+ receipt: TransactionReceipt;
194
+ transaction: TransactionJsonWait;
195
+ }>;
190
196
  /**
191
197
  * Function to recover the public key from hash and signature
192
198
  * @param hash - hash sha256
package/lib/Signer.js CHANGED
@@ -326,13 +326,13 @@ class Signer {
326
326
  tx = await this.signTransaction(tx);
327
327
  if (!this.provider)
328
328
  throw new Error("provider is undefined");
329
- await this.provider.sendTransaction(tx);
330
- tx.wait = async (type = "byBlock", timeout = 30000) => {
329
+ const { receipt } = await this.provider.sendTransaction(tx);
330
+ tx.wait = async (type = "byBlock", timeout = 60000) => {
331
331
  if (!this.provider)
332
332
  throw new Error("provider is undefined");
333
333
  return this.provider.wait(tx.id, type, timeout);
334
334
  };
335
- return tx;
335
+ return { receipt, transaction: tx };
336
336
  }
337
337
  /**
338
338
  * Function to recover the public key from hash and signature
package/lib/Signer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../src/Signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../src/Signer.ts"],"names":[],"mappings":"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"}
@@ -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 { CallContractOperationNested, UploadContractOperationNested, TransactionJsonWait, Abi, TransactionOptions, DecodedOperationJson, DeployOptions } from "./interface";
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,7 +17,7 @@ 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.Krc20Abi,
20
+ * abi: utils.tokenAbi,
21
21
  * provider,
22
22
  * signer,
23
23
  * });
@@ -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: CallContractOperationNested;
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: 0x62efa292,
209
- * // args: "MBWFsaWNlA2JvYgAAAAAAAAPo",
217
+ * // entry_point: 670398154,
218
+ * // args: "ChkAEjl6vrl55V2Oym_rzsnMxIqBoie9PHmMEhkAQgjT1UACatdFY3e5QRkyG7OAzwcCCIylGOgH",
210
219
  * // }
211
220
  * // }
212
221
  * ```
213
222
  */
214
- encodeOperation(op: DecodedOperationJson): Promise<CallContractOperationNested>;
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: 0x62efa292,
223
- * args: "MBWFsaWNlA2JvYgAAAAAAAAPo",
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: CallContractOperationNested): Promise<DecodedOperationJson>;
246
+ decodeOperation(op: OperationJson): Promise<DecodedOperationJson>;
238
247
  }
239
248
  export default Contract;
@@ -18,7 +18,7 @@ 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
  * });
@@ -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();
@@ -107,11 +112,7 @@ 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);
@@ -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
  * ```
@@ -307,9 +302,9 @@ class Contract {
307
302
  }
308
303
  return {
309
304
  call_contract: {
310
- contract_id: this.id,
305
+ contract_id: (0, utils_1.encodeBase58)(this.id),
311
306
  entry_point: method.entryPoint,
312
- args: bufferInputs,
307
+ args: (0, utils_1.encodeBase64url)(bufferInputs),
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,8 +339,8 @@ 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];