@cartridge/controller-wasm 0.1.9 → 0.2.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cartridge/controller-wasm",
3
- "version": "0.1.9",
3
+ "version": "0.2.1",
4
4
  "description": "Wasm bindings for Cartridge Controller and Session Account",
5
5
  "type": "module",
6
6
  "main": "./pkg-controller/account_wasm.js",
@@ -1,5 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
+ export function signerToGuid(signer: Signer): JsFelt;
3
4
  /**
4
5
  * Computes the Starknet contract address for a controller account without needing a full instance.
5
6
  *
@@ -67,7 +68,6 @@ export enum ErrorCode {
67
68
  AccountSigning = 124,
68
69
  AccountProvider = 125,
69
70
  AccountClassHashCalculation = 126,
70
- AccountClassCompression = 127,
71
71
  AccountFeeOutOfRange = 128,
72
72
  ProviderRateLimited = 129,
73
73
  ProviderArrayLengthMismatch = 130,
@@ -77,6 +77,7 @@ export enum ErrorCode {
77
77
  Base64DecodeError = 134,
78
78
  CoseError = 135,
79
79
  PolicyChainIdMismatch = 136,
80
+ InvalidOwner = 137,
80
81
  }
81
82
  export interface JsCall {
82
83
  contractAddress: JsFelt;
@@ -91,12 +92,14 @@ export interface JsEstimateFeeDetails {
91
92
  }
92
93
 
93
94
  export interface JsFeeEstimate {
94
- gas_consumed: JsFelt;
95
- gas_price: JsFelt;
96
- overall_fee: JsFelt;
95
+ l1_gas_consumed: number;
96
+ l1_gas_price: number;
97
+ l2_gas_consumed: number;
98
+ l2_gas_price: number;
99
+ l1_data_gas_consumed: number;
100
+ l1_data_gas_price: number;
101
+ overall_fee: number;
97
102
  unit: JsPriceUnit;
98
- data_gas_consumed: JsFelt;
99
- data_gas_price: JsFelt;
100
103
  }
101
104
 
102
105
  export interface Owner {
@@ -141,6 +144,8 @@ export interface Signer {
141
144
  eip191?: Eip191Signer;
142
145
  }
143
146
 
147
+ export type JsSignerInput = SignerInput;
148
+
144
149
  export type JsFelt = Felt;
145
150
 
146
151
  export type Felts = JsFelt[];
@@ -197,6 +202,7 @@ export class CartridgeAccount {
197
202
  register(register: JsRegister): Promise<JsRegisterResponse>;
198
203
  createSession(policies: Policy[], expires_at: bigint): Promise<AuthorizedSession | undefined>;
199
204
  skipSession(policies: Policy[]): Promise<void>;
205
+ addOwner(owner: Signer, signer_input: JsSignerInput): Promise<void>;
200
206
  estimateInvokeFee(calls: JsCall[]): Promise<JsFeeEstimate>;
201
207
  execute(calls: JsCall[], max_fee?: JsFeeEstimate | null, fee_source?: JsFeeSource | null): Promise<any>;
202
208
  executeFromOutsideV2(calls: JsCall[], fee_source?: JsFeeSource | null): Promise<any>;
@@ -118,10 +118,6 @@ function handleError(f, args) {
118
118
  }
119
119
  }
120
120
 
121
- function isLikeNone(x) {
122
- return x === undefined || x === null;
123
- }
124
-
125
121
  function dropObject(idx) {
126
122
  if (idx < 132) return;
127
123
  heap[idx] = heap_next;
@@ -134,6 +130,10 @@ function takeObject(idx) {
134
130
  return ret;
135
131
  }
136
132
 
133
+ function isLikeNone(x) {
134
+ return x === undefined || x === null;
135
+ }
136
+
137
137
  const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')
138
138
  ? { register: () => {}, unregister: () => {} }
139
139
  : new FinalizationRegistry(state => {
@@ -239,6 +239,15 @@ function passArrayJsValueToWasm0(array, malloc) {
239
239
  WASM_VECTOR_LEN = array.length;
240
240
  return ptr;
241
241
  }
242
+ /**
243
+ * @param {Signer} signer
244
+ * @returns {JsFelt}
245
+ */
246
+ export function signerToGuid(signer) {
247
+ const ret = wasm.signerToGuid(addHeapObject(signer));
248
+ return takeObject(ret);
249
+ }
250
+
242
251
  /**
243
252
  * Computes the Starknet contract address for a controller account without needing a full instance.
244
253
  *
@@ -272,16 +281,20 @@ export function computeAccountAddress(class_hash, owner, salt) {
272
281
  }
273
282
  }
274
283
 
275
- function __wbg_adapter_42(arg0, arg1, arg2) {
276
- wasm.__wbindgen_export_5(arg0, arg1, addHeapObject(arg2));
284
+ function __wbg_adapter_44(arg0, arg1) {
285
+ wasm.__wbindgen_export_5(arg0, arg1);
277
286
  }
278
287
 
279
- function __wbg_adapter_230(arg0, arg1, arg2, arg3) {
280
- wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
288
+ function __wbg_adapter_47(arg0, arg1, arg2) {
289
+ wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2));
290
+ }
291
+
292
+ function __wbg_adapter_253(arg0, arg1, arg2, arg3) {
293
+ wasm.__wbindgen_export_7(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
281
294
  }
282
295
 
283
296
  /**
284
- * @enum {1 | 20 | 24 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | 40 | 41 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 10 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136}
297
+ * @enum {1 | 20 | 24 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | 40 | 41 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 10 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137}
285
298
  */
286
299
  export const ErrorCode = Object.freeze({
287
300
  StarknetFailedToReceiveTransaction: 1, "1": "StarknetFailedToReceiveTransaction",
@@ -336,7 +349,6 @@ export const ErrorCode = Object.freeze({
336
349
  AccountSigning: 124, "124": "AccountSigning",
337
350
  AccountProvider: 125, "125": "AccountProvider",
338
351
  AccountClassHashCalculation: 126, "126": "AccountClassHashCalculation",
339
- AccountClassCompression: 127, "127": "AccountClassCompression",
340
352
  AccountFeeOutOfRange: 128, "128": "AccountFeeOutOfRange",
341
353
  ProviderRateLimited: 129, "129": "ProviderRateLimited",
342
354
  ProviderArrayLengthMismatch: 130, "130": "ProviderArrayLengthMismatch",
@@ -346,6 +358,7 @@ export const ErrorCode = Object.freeze({
346
358
  Base64DecodeError: 134, "134": "Base64DecodeError",
347
359
  CoseError: 135, "135": "CoseError",
348
360
  PolicyChainIdMismatch: 136, "136": "PolicyChainIdMismatch",
361
+ InvalidOwner: 137, "137": "InvalidOwner",
349
362
  });
350
363
 
351
364
  const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"];
@@ -522,6 +535,15 @@ export class CartridgeAccount {
522
535
  const ret = wasm.cartridgeaccount_skipSession(this.__wbg_ptr, ptr0, len0);
523
536
  return takeObject(ret);
524
537
  }
538
+ /**
539
+ * @param {Signer} owner
540
+ * @param {JsSignerInput} signer_input
541
+ * @returns {Promise<void>}
542
+ */
543
+ addOwner(owner, signer_input) {
544
+ const ret = wasm.cartridgeaccount_addOwner(this.__wbg_ptr, addHeapObject(owner), addHeapObject(signer_input));
545
+ return takeObject(ret);
546
+ }
525
547
  /**
526
548
  * @param {JsCall[]} calls
527
549
  * @returns {Promise<JsFeeEstimate>}
@@ -976,6 +998,10 @@ export function __wbg_String_8f0eb39a4a4c2f66(arg0, arg1) {
976
998
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
977
999
  };
978
1000
 
1001
+ export function __wbg_abort_410ec47a64ac6117(arg0, arg1) {
1002
+ getObject(arg0).abort(getObject(arg1));
1003
+ };
1004
+
979
1005
  export function __wbg_abort_775ef1d17fc65868(arg0) {
980
1006
  getObject(arg0).abort();
981
1007
  };
@@ -1004,10 +1030,20 @@ export function __wbg_call_7cccdd69e0791ae2() { return handleError(function (arg
1004
1030
  return addHeapObject(ret);
1005
1031
  }, arguments) };
1006
1032
 
1033
+ export function __wbg_clearTimeout_0b53d391c1b94dda(arg0) {
1034
+ const ret = clearTimeout(takeObject(arg0));
1035
+ return addHeapObject(ret);
1036
+ };
1037
+
1007
1038
  export function __wbg_clear_dbb26f24a86a04a0() { return handleError(function (arg0) {
1008
1039
  getObject(arg0).clear();
1009
1040
  }, arguments) };
1010
1041
 
1042
+ export function __wbg_create_1e1fa47bcba4f67f() { return handleError(function (arg0, arg1) {
1043
+ const ret = getObject(arg0).create(getObject(arg1));
1044
+ return addHeapObject(ret);
1045
+ }, arguments) };
1046
+
1011
1047
  export function __wbg_credentials_f1256c3bb1216690(arg0) {
1012
1048
  const ret = getObject(arg0).credentials;
1013
1049
  return addHeapObject(ret);
@@ -1027,6 +1063,11 @@ export function __wbg_error_524f506f44df1645(arg0) {
1027
1063
  console.error(getObject(arg0));
1028
1064
  };
1029
1065
 
1066
+ export function __wbg_fetch_11bff8299d0ecd2b(arg0) {
1067
+ const ret = fetch(getObject(arg0));
1068
+ return addHeapObject(ret);
1069
+ };
1070
+
1030
1071
  export function __wbg_fetch_509096533071c657(arg0, arg1) {
1031
1072
  const ret = getObject(arg0).fetch(getObject(arg1));
1032
1073
  return addHeapObject(ret);
@@ -1195,7 +1236,7 @@ export function __wbg_new_23a2665fac83c611(arg0, arg1) {
1195
1236
  const a = state0.a;
1196
1237
  state0.a = 0;
1197
1238
  try {
1198
- return __wbg_adapter_230(a, state0.b, arg0, arg1);
1239
+ return __wbg_adapter_253(a, state0.b, arg0, arg1);
1199
1240
  } finally {
1200
1241
  state0.a = a;
1201
1242
  }
@@ -1217,6 +1258,11 @@ export function __wbg_new_405e22f390576ce2() {
1217
1258
  return addHeapObject(ret);
1218
1259
  };
1219
1260
 
1261
+ export function __wbg_new_5e0be73521bc8c17() {
1262
+ const ret = new Map();
1263
+ return addHeapObject(ret);
1264
+ };
1265
+
1220
1266
  export function __wbg_new_78feb108b6472713() {
1221
1267
  const ret = new Array();
1222
1268
  return addHeapObject(ret);
@@ -1321,6 +1367,16 @@ export function __wbg_setItem_212ecc915942ab0a() { return handleError(function (
1321
1367
  getObject(arg0).setItem(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
1322
1368
  }, arguments) };
1323
1369
 
1370
+ export function __wbg_setTimeout_73ce8df12de4f2f2(arg0, arg1) {
1371
+ const ret = setTimeout(getObject(arg0), arg1);
1372
+ return addHeapObject(ret);
1373
+ };
1374
+
1375
+ export function __wbg_setTimeout_f2fe5af8e3debeb3() { return handleError(function (arg0, arg1, arg2) {
1376
+ const ret = getObject(arg0).setTimeout(getObject(arg1), arg2);
1377
+ return ret;
1378
+ }, arguments) };
1379
+
1324
1380
  export function __wbg_set_37837023f3d740e8(arg0, arg1, arg2) {
1325
1381
  getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
1326
1382
  };
@@ -1337,6 +1393,11 @@ export function __wbg_set_65595bdd868b3009(arg0, arg1, arg2) {
1337
1393
  getObject(arg0).set(getObject(arg1), arg2 >>> 0);
1338
1394
  };
1339
1395
 
1396
+ export function __wbg_set_8fc6bf8a5b1071d1(arg0, arg1, arg2) {
1397
+ const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
1398
+ return addHeapObject(ret);
1399
+ };
1400
+
1340
1401
  export function __wbg_set_bb8cecf6a62b9f46() { return handleError(function (arg0, arg1, arg2) {
1341
1402
  const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
1342
1403
  return ret;
@@ -1457,6 +1518,11 @@ export function __wbg_versions_c01dfd4722a88165(arg0) {
1457
1518
  return addHeapObject(ret);
1458
1519
  };
1459
1520
 
1521
+ export function __wbindgen_bigint_from_i64(arg0) {
1522
+ const ret = arg0;
1523
+ return addHeapObject(ret);
1524
+ };
1525
+
1460
1526
  export function __wbindgen_boolean_get(arg0) {
1461
1527
  const v = getObject(arg0);
1462
1528
  const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;
@@ -1473,8 +1539,13 @@ export function __wbindgen_cb_drop(arg0) {
1473
1539
  return ret;
1474
1540
  };
1475
1541
 
1476
- export function __wbindgen_closure_wrapper4469(arg0, arg1, arg2) {
1477
- const ret = makeMutClosure(arg0, arg1, 536, __wbg_adapter_42);
1542
+ export function __wbindgen_closure_wrapper5264(arg0, arg1, arg2) {
1543
+ const ret = makeMutClosure(arg0, arg1, 629, __wbg_adapter_44);
1544
+ return addHeapObject(ret);
1545
+ };
1546
+
1547
+ export function __wbindgen_closure_wrapper5410(arg0, arg1, arg2) {
1548
+ const ret = makeMutClosure(arg0, arg1, 662, __wbg_adapter_47);
1478
1549
  return addHeapObject(ret);
1479
1550
  };
1480
1551
 
Binary file
@@ -53,7 +53,6 @@ export enum ErrorCode {
53
53
  AccountSigning = 124,
54
54
  AccountProvider = 125,
55
55
  AccountClassHashCalculation = 126,
56
- AccountClassCompression = 127,
57
56
  AccountFeeOutOfRange = 128,
58
57
  ProviderRateLimited = 129,
59
58
  ProviderArrayLengthMismatch = 130,
@@ -63,6 +62,7 @@ export enum ErrorCode {
63
62
  Base64DecodeError = 134,
64
63
  CoseError = 135,
65
64
  PolicyChainIdMismatch = 136,
65
+ InvalidOwner = 137,
66
66
  }
67
67
  export interface JsCall {
68
68
  contractAddress: JsFelt;
@@ -77,12 +77,14 @@ export interface JsEstimateFeeDetails {
77
77
  }
78
78
 
79
79
  export interface JsFeeEstimate {
80
- gas_consumed: JsFelt;
81
- gas_price: JsFelt;
82
- overall_fee: JsFelt;
80
+ l1_gas_consumed: number;
81
+ l1_gas_price: number;
82
+ l2_gas_consumed: number;
83
+ l2_gas_price: number;
84
+ l1_data_gas_consumed: number;
85
+ l1_data_gas_price: number;
86
+ overall_fee: number;
83
87
  unit: JsPriceUnit;
84
- data_gas_consumed: JsFelt;
85
- data_gas_price: JsFelt;
86
88
  }
87
89
 
88
90
  export interface Owner {
@@ -127,6 +129,8 @@ export interface Signer {
127
129
  eip191?: Eip191Signer;
128
130
  }
129
131
 
132
+ export type JsSignerInput = SignerInput;
133
+
130
134
  export type JsFelt = Felt;
131
135
 
132
136
  export type Felts = JsFelt[];
@@ -239,16 +239,20 @@ function passArrayJsValueToWasm0(array, malloc) {
239
239
  WASM_VECTOR_LEN = array.length;
240
240
  return ptr;
241
241
  }
242
- function __wbg_adapter_42(arg0, arg1, arg2) {
243
- wasm.__wbindgen_export_5(arg0, arg1, addHeapObject(arg2));
242
+ function __wbg_adapter_42(arg0, arg1) {
243
+ wasm.__wbindgen_export_5(arg0, arg1);
244
244
  }
245
245
 
246
- function __wbg_adapter_188(arg0, arg1, arg2, arg3) {
247
- wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
246
+ function __wbg_adapter_45(arg0, arg1, arg2) {
247
+ wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2));
248
+ }
249
+
250
+ function __wbg_adapter_199(arg0, arg1, arg2, arg3) {
251
+ wasm.__wbindgen_export_7(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
248
252
  }
249
253
 
250
254
  /**
251
- * @enum {1 | 20 | 24 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | 40 | 41 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 10 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136}
255
+ * @enum {1 | 20 | 24 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | 40 | 41 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 10 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137}
252
256
  */
253
257
  export const ErrorCode = Object.freeze({
254
258
  StarknetFailedToReceiveTransaction: 1, "1": "StarknetFailedToReceiveTransaction",
@@ -303,7 +307,6 @@ export const ErrorCode = Object.freeze({
303
307
  AccountSigning: 124, "124": "AccountSigning",
304
308
  AccountProvider: 125, "125": "AccountProvider",
305
309
  AccountClassHashCalculation: 126, "126": "AccountClassHashCalculation",
306
- AccountClassCompression: 127, "127": "AccountClassCompression",
307
310
  AccountFeeOutOfRange: 128, "128": "AccountFeeOutOfRange",
308
311
  ProviderRateLimited: 129, "129": "ProviderRateLimited",
309
312
  ProviderArrayLengthMismatch: 130, "130": "ProviderArrayLengthMismatch",
@@ -313,6 +316,7 @@ export const ErrorCode = Object.freeze({
313
316
  Base64DecodeError: 134, "134": "Base64DecodeError",
314
317
  CoseError: 135, "135": "CoseError",
315
318
  PolicyChainIdMismatch: 136, "136": "PolicyChainIdMismatch",
319
+ InvalidOwner: 137, "137": "InvalidOwner",
316
320
  });
317
321
 
318
322
  const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"];
@@ -533,6 +537,10 @@ export function __wbg_String_8f0eb39a4a4c2f66(arg0, arg1) {
533
537
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
534
538
  };
535
539
 
540
+ export function __wbg_abort_410ec47a64ac6117(arg0, arg1) {
541
+ getObject(arg0).abort(getObject(arg1));
542
+ };
543
+
536
544
  export function __wbg_abort_775ef1d17fc65868(arg0) {
537
545
  getObject(arg0).abort();
538
546
  };
@@ -561,6 +569,11 @@ export function __wbg_call_7cccdd69e0791ae2() { return handleError(function (arg
561
569
  return addHeapObject(ret);
562
570
  }, arguments) };
563
571
 
572
+ export function __wbg_clearTimeout_0b53d391c1b94dda(arg0) {
573
+ const ret = clearTimeout(takeObject(arg0));
574
+ return addHeapObject(ret);
575
+ };
576
+
564
577
  export function __wbg_credentials_f1256c3bb1216690(arg0) {
565
578
  const ret = getObject(arg0).credentials;
566
579
  return addHeapObject(ret);
@@ -576,6 +589,11 @@ export function __wbg_done_769e5ede4b31c67b(arg0) {
576
589
  return ret;
577
590
  };
578
591
 
592
+ export function __wbg_fetch_11bff8299d0ecd2b(arg0) {
593
+ const ret = fetch(getObject(arg0));
594
+ return addHeapObject(ret);
595
+ };
596
+
579
597
  export function __wbg_fetch_509096533071c657(arg0, arg1) {
580
598
  const ret = getObject(arg0).fetch(getObject(arg1));
581
599
  return addHeapObject(ret);
@@ -731,7 +749,7 @@ export function __wbg_new_23a2665fac83c611(arg0, arg1) {
731
749
  const a = state0.a;
732
750
  state0.a = 0;
733
751
  try {
734
- return __wbg_adapter_188(a, state0.b, arg0, arg1);
752
+ return __wbg_adapter_199(a, state0.b, arg0, arg1);
735
753
  } finally {
736
754
  state0.a = a;
737
755
  }
@@ -849,6 +867,11 @@ export function __wbg_resolve_4851785c9c5f573d(arg0) {
849
867
  return addHeapObject(ret);
850
868
  };
851
869
 
870
+ export function __wbg_setTimeout_73ce8df12de4f2f2(arg0, arg1) {
871
+ const ret = setTimeout(getObject(arg0), arg1);
872
+ return addHeapObject(ret);
873
+ };
874
+
852
875
  export function __wbg_set_37837023f3d740e8(arg0, arg1, arg2) {
853
876
  getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
854
877
  };
@@ -1001,8 +1024,13 @@ export function __wbindgen_cb_drop(arg0) {
1001
1024
  return ret;
1002
1025
  };
1003
1026
 
1004
- export function __wbindgen_closure_wrapper2596(arg0, arg1, arg2) {
1005
- const ret = makeMutClosure(arg0, arg1, 311, __wbg_adapter_42);
1027
+ export function __wbindgen_closure_wrapper2805(arg0, arg1, arg2) {
1028
+ const ret = makeMutClosure(arg0, arg1, 361, __wbg_adapter_42);
1029
+ return addHeapObject(ret);
1030
+ };
1031
+
1032
+ export function __wbindgen_closure_wrapper2938(arg0, arg1, arg2) {
1033
+ const ret = makeMutClosure(arg0, arg1, 395, __wbg_adapter_45);
1006
1034
  return addHeapObject(ret);
1007
1035
  };
1008
1036
 
Binary file