starknet 5.19.3 → 5.19.4

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.
@@ -778,7 +778,7 @@ var starknet = (() => {
778
778
  function utf8ToArray(str) {
779
779
  return new TextEncoder().encode(str);
780
780
  }
781
- var pascalToSnake = (text) => text.split(/(?=[A-Z])/).join("_").toUpperCase();
781
+ var pascalToSnake = (text) => !/[a-z]/.test(text) ? text.split(/(?=[A-Z])/).join("_").toUpperCase() : text;
782
782
 
783
783
  // src/constants.ts
784
784
  var HEX_STR_TRANSACTION_VERSION_1 = "0x1";
@@ -3048,7 +3048,7 @@ var starknet = (() => {
3048
3048
  var _1n = BigInt(1);
3049
3049
  var _2n = BigInt(2);
3050
3050
  var u8a = (a) => a instanceof Uint8Array;
3051
- var hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0"));
3051
+ var hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
3052
3052
  function bytesToHex(bytes2) {
3053
3053
  if (!u8a(bytes2))
3054
3054
  throw new Error("Uint8Array expected");
@@ -3070,15 +3070,16 @@ var starknet = (() => {
3070
3070
  function hexToBytes(hex) {
3071
3071
  if (typeof hex !== "string")
3072
3072
  throw new Error("hex string expected, got " + typeof hex);
3073
- if (hex.length % 2)
3074
- throw new Error("hex string is invalid: unpadded " + hex.length);
3075
- const array = new Uint8Array(hex.length / 2);
3073
+ const len = hex.length;
3074
+ if (len % 2)
3075
+ throw new Error("padded hex string expected, got unpadded hex of length " + len);
3076
+ const array = new Uint8Array(len / 2);
3076
3077
  for (let i = 0; i < array.length; i++) {
3077
3078
  const j = i * 2;
3078
3079
  const hexByte = hex.slice(j, j + 2);
3079
3080
  const byte = Number.parseInt(hexByte, 16);
3080
3081
  if (Number.isNaN(byte) || byte < 0)
3081
- throw new Error("invalid byte sequence");
3082
+ throw new Error("Invalid byte sequence");
3082
3083
  array[i] = byte;
3083
3084
  }
3084
3085
  return array;
@@ -3091,9 +3092,15 @@ var starknet = (() => {
3091
3092
  throw new Error("Uint8Array expected");
3092
3093
  return hexToNumber(bytesToHex(Uint8Array.from(bytes2).reverse()));
3093
3094
  }
3094
- var numberToBytesBE = (n, len) => hexToBytes(n.toString(16).padStart(len * 2, "0"));
3095
- var numberToBytesLE = (n, len) => numberToBytesBE(n, len).reverse();
3096
- var numberToVarBytesBE = (n) => hexToBytes(numberToHexUnpadded(n));
3095
+ function numberToBytesBE(n, len) {
3096
+ return hexToBytes(n.toString(16).padStart(len * 2, "0"));
3097
+ }
3098
+ function numberToBytesLE(n, len) {
3099
+ return numberToBytesBE(n, len).reverse();
3100
+ }
3101
+ function numberToVarBytesBE(n) {
3102
+ return hexToBytes(numberToHexUnpadded(n));
3103
+ }
3097
3104
  function ensureBytes(title, hex, expectedLength) {
3098
3105
  let res;
3099
3106
  if (typeof hex === "string") {
@@ -3112,10 +3119,10 @@ var starknet = (() => {
3112
3119
  throw new Error(`${title} expected ${expectedLength} bytes, got ${len}`);
3113
3120
  return res;
3114
3121
  }
3115
- function concatBytes(...arrs) {
3116
- const r = new Uint8Array(arrs.reduce((sum, a) => sum + a.length, 0));
3122
+ function concatBytes(...arrays) {
3123
+ const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));
3117
3124
  let pad = 0;
3118
- arrs.forEach((a) => {
3125
+ arrays.forEach((a) => {
3119
3126
  if (!u8a(a))
3120
3127
  throw new Error("Uint8Array expected");
3121
3128
  r.set(a, pad);
@@ -3132,10 +3139,9 @@ var starknet = (() => {
3132
3139
  return true;
3133
3140
  }
3134
3141
  function utf8ToBytes(str) {
3135
- if (typeof str !== "string") {
3142
+ if (typeof str !== "string")
3136
3143
  throw new Error(`utf8ToBytes expected string, got ${typeof str}`);
3137
- }
3138
- return new TextEncoder().encode(str);
3144
+ return new Uint8Array(new TextEncoder().encode(str));
3139
3145
  }
3140
3146
  function bitLen(n) {
3141
3147
  let len;
@@ -3143,8 +3149,12 @@ var starknet = (() => {
3143
3149
  ;
3144
3150
  return len;
3145
3151
  }
3146
- var bitGet = (n, pos) => n >> BigInt(pos) & _1n;
3147
- var bitSet = (n, pos, value) => n | (value ? _1n : _0n) << BigInt(pos);
3152
+ function bitGet(n, pos) {
3153
+ return n >> BigInt(pos) & _1n;
3154
+ }
3155
+ var bitSet = (n, pos, value) => {
3156
+ return n | (value ? _1n : _0n) << BigInt(pos);
3157
+ };
3148
3158
  var bitMask = (n) => (_2n << BigInt(n - 1)) - _1n;
3149
3159
  var u8n = (data) => new Uint8Array(data);
3150
3160
  var u8fr = (arr) => Uint8Array.from(arr);
@@ -3201,6 +3211,7 @@ var starknet = (() => {
3201
3211
  function: (val) => typeof val === "function",
3202
3212
  boolean: (val) => typeof val === "boolean",
3203
3213
  string: (val) => typeof val === "string",
3214
+ stringOrUint8Array: (val) => typeof val === "string" || val instanceof Uint8Array,
3204
3215
  isSafeInteger: (val) => Number.isSafeInteger(val),
3205
3216
  array: (val) => Array.isArray(val),
3206
3217
  field: (val, object) => object.Fp.isValid(val),
@@ -3305,12 +3316,12 @@ var starknet = (() => {
3305
3316
  starknetKeccak: () => starknetKeccak
3306
3317
  });
3307
3318
 
3308
- // node_modules/micro-starknet/lib/esm/index.js
3319
+ // node_modules/@scure/starknet/lib/esm/index.js
3309
3320
  var esm_exports = {};
3310
3321
  __export(esm_exports, {
3311
3322
  CURVE: () => CURVE,
3312
3323
  Fp251: () => Fp251,
3313
- Fp253: () => Fp253,
3324
+ MAX_VALUE: () => MAX_VALUE,
3314
3325
  ProjectivePoint: () => ProjectivePoint,
3315
3326
  Signature: () => Signature,
3316
3327
  _poseidonMDS: () => _poseidonMDS,
@@ -3322,7 +3333,6 @@ var starknet = (() => {
3322
3333
  getSharedSecret: () => getSharedSecret,
3323
3334
  getStarkKey: () => getStarkKey,
3324
3335
  grindKey: () => grindKey,
3325
- hashChain: () => hashChain,
3326
3336
  keccak: () => keccak,
3327
3337
  pedersen: () => pedersen,
3328
3338
  poseidonBasic: () => poseidonBasic,
@@ -3342,15 +3352,11 @@ var starknet = (() => {
3342
3352
  if (!Number.isSafeInteger(n) || n < 0)
3343
3353
  throw new Error(`Wrong positive integer: ${n}`);
3344
3354
  }
3345
- function bool(b) {
3346
- if (typeof b !== "boolean")
3347
- throw new Error(`Expected boolean, not ${b}`);
3348
- }
3349
3355
  function bytes(b, ...lengths) {
3350
3356
  if (!(b instanceof Uint8Array))
3351
- throw new TypeError("Expected Uint8Array");
3357
+ throw new Error("Expected Uint8Array");
3352
3358
  if (lengths.length > 0 && !lengths.includes(b.length))
3353
- throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
3359
+ throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
3354
3360
  }
3355
3361
  function hash(hash2) {
3356
3362
  if (typeof hash2 !== "function" || typeof hash2.create !== "function")
@@ -3371,19 +3377,10 @@ var starknet = (() => {
3371
3377
  throw new Error(`digestInto() expects output buffer of length at least ${min}`);
3372
3378
  }
3373
3379
  }
3374
- var assert2 = {
3375
- number,
3376
- bool,
3377
- bytes,
3378
- hash,
3379
- exists,
3380
- output
3381
- };
3382
- var assert_default = assert2;
3383
3380
 
3384
3381
  // node_modules/@noble/hashes/esm/_u64.js
3385
- var U32_MASK64 = BigInt(2 ** 32 - 1);
3386
- var _32n = BigInt(32);
3382
+ var U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
3383
+ var _32n = /* @__PURE__ */ BigInt(32);
3387
3384
  function fromBig(n, le = false) {
3388
3385
  if (le)
3389
3386
  return { h: Number(n & U32_MASK64), l: Number(n >> _32n & U32_MASK64) };
@@ -3398,92 +3395,44 @@ var starknet = (() => {
3398
3395
  }
3399
3396
  return [Ah, Al];
3400
3397
  }
3401
- var toBig = (h, l) => BigInt(h >>> 0) << _32n | BigInt(l >>> 0);
3402
- var shrSH = (h, l, s) => h >>> s;
3403
- var shrSL = (h, l, s) => h << 32 - s | l >>> s;
3404
- var rotrSH = (h, l, s) => h >>> s | l << 32 - s;
3405
- var rotrSL = (h, l, s) => h << 32 - s | l >>> s;
3406
- var rotrBH = (h, l, s) => h << 64 - s | l >>> s - 32;
3407
- var rotrBL = (h, l, s) => h >>> s - 32 | l << 64 - s;
3408
- var rotr32H = (h, l) => l;
3409
- var rotr32L = (h, l) => h;
3410
3398
  var rotlSH = (h, l, s) => h << s | l >>> 32 - s;
3411
3399
  var rotlSL = (h, l, s) => l << s | h >>> 32 - s;
3412
3400
  var rotlBH = (h, l, s) => l << s - 32 | h >>> 64 - s;
3413
3401
  var rotlBL = (h, l, s) => h << s - 32 | l >>> 64 - s;
3414
- function add(Ah, Al, Bh, Bl) {
3415
- const l = (Al >>> 0) + (Bl >>> 0);
3416
- return { h: Ah + Bh + (l / 2 ** 32 | 0) | 0, l: l | 0 };
3417
- }
3418
- var add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
3419
- var add3H = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0;
3420
- var add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
3421
- var add4H = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) | 0;
3422
- var add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
3423
- var add5H = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0;
3424
- var u64 = {
3425
- fromBig,
3426
- split,
3427
- toBig,
3428
- shrSH,
3429
- shrSL,
3430
- rotrSH,
3431
- rotrSL,
3432
- rotrBH,
3433
- rotrBL,
3434
- rotr32H,
3435
- rotr32L,
3436
- rotlSH,
3437
- rotlSL,
3438
- rotlBH,
3439
- rotlBL,
3440
- add,
3441
- add3L,
3442
- add3H,
3443
- add4L,
3444
- add4H,
3445
- add5H,
3446
- add5L
3447
- };
3448
- var u64_default = u64;
3449
3402
 
3450
3403
  // node_modules/@noble/hashes/esm/crypto.js
3451
3404
  var crypto = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
3452
3405
 
3453
3406
  // node_modules/@noble/hashes/esm/utils.js
3407
+ var u8a2 = (a) => a instanceof Uint8Array;
3454
3408
  var u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
3455
3409
  var createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
3456
3410
  var rotr = (word, shift) => word << 32 - shift | word >>> shift;
3457
3411
  var isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
3458
3412
  if (!isLE)
3459
3413
  throw new Error("Non little-endian hardware is not supported");
3460
- var hexes2 = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0"));
3461
3414
  function utf8ToBytes2(str) {
3462
- if (typeof str !== "string") {
3463
- throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
3464
- }
3465
- return new TextEncoder().encode(str);
3415
+ if (typeof str !== "string")
3416
+ throw new Error(`utf8ToBytes expected string, got ${typeof str}`);
3417
+ return new Uint8Array(new TextEncoder().encode(str));
3466
3418
  }
3467
3419
  function toBytes(data) {
3468
3420
  if (typeof data === "string")
3469
3421
  data = utf8ToBytes2(data);
3470
- if (!(data instanceof Uint8Array))
3471
- throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
3422
+ if (!u8a2(data))
3423
+ throw new Error(`expected Uint8Array, got ${typeof data}`);
3472
3424
  return data;
3473
3425
  }
3474
3426
  function concatBytes2(...arrays) {
3475
- if (!arrays.every((a) => a instanceof Uint8Array))
3476
- throw new Error("Uint8Array list expected");
3477
- if (arrays.length === 1)
3478
- return arrays[0];
3479
- const length = arrays.reduce((a, arr) => a + arr.length, 0);
3480
- const result = new Uint8Array(length);
3481
- for (let i = 0, pad = 0; i < arrays.length; i++) {
3482
- const arr = arrays[i];
3483
- result.set(arr, pad);
3484
- pad += arr.length;
3485
- }
3486
- return result;
3427
+ const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));
3428
+ let pad = 0;
3429
+ arrays.forEach((a) => {
3430
+ if (!u8a2(a))
3431
+ throw new Error("Uint8Array expected");
3432
+ r.set(a, pad);
3433
+ pad += a.length;
3434
+ });
3435
+ return r;
3487
3436
  }
3488
3437
  var Hash = class {
3489
3438
  // Safe version that clones internal state
@@ -3491,15 +3440,16 @@ var starknet = (() => {
3491
3440
  return this._cloneInto();
3492
3441
  }
3493
3442
  };
3494
- function wrapConstructor(hashConstructor) {
3495
- const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
3496
- const tmp = hashConstructor();
3443
+ var toStr = {}.toString;
3444
+ function wrapConstructor(hashCons) {
3445
+ const hashC = (msg) => hashCons().update(toBytes(msg)).digest();
3446
+ const tmp = hashCons();
3497
3447
  hashC.outputLen = tmp.outputLen;
3498
3448
  hashC.blockLen = tmp.blockLen;
3499
- hashC.create = () => hashConstructor();
3449
+ hashC.create = () => hashCons();
3500
3450
  return hashC;
3501
3451
  }
3502
- function wrapConstructorWithOpts(hashCons) {
3452
+ function wrapXOFConstructorWithOpts(hashCons) {
3503
3453
  const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();
3504
3454
  const tmp = hashCons({});
3505
3455
  hashC.outputLen = tmp.outputLen;
@@ -3516,12 +3466,12 @@ var starknet = (() => {
3516
3466
 
3517
3467
  // node_modules/@noble/hashes/esm/sha3.js
3518
3468
  var [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
3519
- var _0n2 = BigInt(0);
3520
- var _1n2 = BigInt(1);
3521
- var _2n2 = BigInt(2);
3522
- var _7n = BigInt(7);
3523
- var _256n = BigInt(256);
3524
- var _0x71n = BigInt(113);
3469
+ var _0n2 = /* @__PURE__ */ BigInt(0);
3470
+ var _1n2 = /* @__PURE__ */ BigInt(1);
3471
+ var _2n2 = /* @__PURE__ */ BigInt(2);
3472
+ var _7n = /* @__PURE__ */ BigInt(7);
3473
+ var _256n = /* @__PURE__ */ BigInt(256);
3474
+ var _0x71n = /* @__PURE__ */ BigInt(113);
3525
3475
  for (let round = 0, R = _1n2, x = 1, y = 0; round < 24; round++) {
3526
3476
  [x, y] = [y, (2 * x + 3 * y) % 5];
3527
3477
  SHA3_PI.push(2 * (5 * y + x));
@@ -3530,13 +3480,13 @@ var starknet = (() => {
3530
3480
  for (let j = 0; j < 7; j++) {
3531
3481
  R = (R << _1n2 ^ (R >> _7n) * _0x71n) % _256n;
3532
3482
  if (R & _2n2)
3533
- t ^= _1n2 << (_1n2 << BigInt(j)) - _1n2;
3483
+ t ^= _1n2 << (_1n2 << /* @__PURE__ */ BigInt(j)) - _1n2;
3534
3484
  }
3535
3485
  _SHA3_IOTA.push(t);
3536
3486
  }
3537
- var [SHA3_IOTA_H, SHA3_IOTA_L] = u64_default.split(_SHA3_IOTA, true);
3538
- var rotlH = (h, l, s) => s > 32 ? u64_default.rotlBH(h, l, s) : u64_default.rotlSH(h, l, s);
3539
- var rotlL = (h, l, s) => s > 32 ? u64_default.rotlBL(h, l, s) : u64_default.rotlSL(h, l, s);
3487
+ var [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);
3488
+ var rotlH = (h, l, s) => s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s);
3489
+ var rotlL = (h, l, s) => s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s);
3540
3490
  function keccakP(s, rounds = 24) {
3541
3491
  const B = new Uint32Array(5 * 2);
3542
3492
  for (let round = 24 - rounds; round < 24; round++) {
@@ -3590,7 +3540,7 @@ var starknet = (() => {
3590
3540
  this.posOut = 0;
3591
3541
  this.finished = false;
3592
3542
  this.destroyed = false;
3593
- assert_default.number(outputLen);
3543
+ number(outputLen);
3594
3544
  if (0 >= this.blockLen || this.blockLen >= 200)
3595
3545
  throw new Error("Sha3 supports only keccak-f1600 function");
3596
3546
  this.state = new Uint8Array(200);
@@ -3602,7 +3552,7 @@ var starknet = (() => {
3602
3552
  this.pos = 0;
3603
3553
  }
3604
3554
  update(data) {
3605
- assert_default.exists(this);
3555
+ exists(this);
3606
3556
  const { blockLen, state } = this;
3607
3557
  data = toBytes(data);
3608
3558
  const len = data.length;
@@ -3627,8 +3577,8 @@ var starknet = (() => {
3627
3577
  this.keccak();
3628
3578
  }
3629
3579
  writeInto(out) {
3630
- assert_default.exists(this, false);
3631
- assert_default.bytes(out);
3580
+ exists(this, false);
3581
+ bytes(out);
3632
3582
  this.finish();
3633
3583
  const bufferOut = this.state;
3634
3584
  const { blockLen } = this;
@@ -3648,11 +3598,11 @@ var starknet = (() => {
3648
3598
  return this.writeInto(out);
3649
3599
  }
3650
3600
  xof(bytes2) {
3651
- assert_default.number(bytes2);
3601
+ number(bytes2);
3652
3602
  return this.xofInto(new Uint8Array(bytes2));
3653
3603
  }
3654
3604
  digestInto(out) {
3655
- assert_default.output(out, this);
3605
+ output(out, this);
3656
3606
  if (this.finished)
3657
3607
  throw new Error("digest() was already called");
3658
3608
  this.writeInto(out);
@@ -3682,17 +3632,17 @@ var starknet = (() => {
3682
3632
  }
3683
3633
  };
3684
3634
  var gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));
3685
- var sha3_224 = gen(6, 144, 224 / 8);
3686
- var sha3_256 = gen(6, 136, 256 / 8);
3687
- var sha3_384 = gen(6, 104, 384 / 8);
3688
- var sha3_512 = gen(6, 72, 512 / 8);
3689
- var keccak_224 = gen(1, 144, 224 / 8);
3690
- var keccak_256 = gen(1, 136, 256 / 8);
3691
- var keccak_384 = gen(1, 104, 384 / 8);
3692
- var keccak_512 = gen(1, 72, 512 / 8);
3693
- var genShake = (suffix, blockLen, outputLen) => wrapConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === void 0 ? outputLen : opts.dkLen, true));
3694
- var shake128 = genShake(31, 168, 128 / 8);
3695
- var shake256 = genShake(31, 136, 256 / 8);
3635
+ var sha3_224 = /* @__PURE__ */ gen(6, 144, 224 / 8);
3636
+ var sha3_256 = /* @__PURE__ */ gen(6, 136, 256 / 8);
3637
+ var sha3_384 = /* @__PURE__ */ gen(6, 104, 384 / 8);
3638
+ var sha3_512 = /* @__PURE__ */ gen(6, 72, 512 / 8);
3639
+ var keccak_224 = /* @__PURE__ */ gen(1, 144, 224 / 8);
3640
+ var keccak_256 = /* @__PURE__ */ gen(1, 136, 256 / 8);
3641
+ var keccak_384 = /* @__PURE__ */ gen(1, 104, 384 / 8);
3642
+ var keccak_512 = /* @__PURE__ */ gen(1, 72, 512 / 8);
3643
+ var genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === void 0 ? outputLen : opts.dkLen, true));
3644
+ var shake128 = /* @__PURE__ */ genShake(31, 168, 128 / 8);
3645
+ var shake256 = /* @__PURE__ */ genShake(31, 136, 256 / 8);
3696
3646
 
3697
3647
  // node_modules/@noble/hashes/esm/_sha2.js
3698
3648
  function setBigUint64(view, byteOffset, value, isLE2) {
@@ -3722,7 +3672,7 @@ var starknet = (() => {
3722
3672
  this.view = createView(this.buffer);
3723
3673
  }
3724
3674
  update(data) {
3725
- assert_default.exists(this);
3675
+ exists(this);
3726
3676
  const { view, buffer, blockLen } = this;
3727
3677
  data = toBytes(data);
3728
3678
  const len = data.length;
@@ -3747,8 +3697,8 @@ var starknet = (() => {
3747
3697
  return this;
3748
3698
  }
3749
3699
  digestInto(out) {
3750
- assert_default.exists(this);
3751
- assert_default.output(out, this);
3700
+ exists(this);
3701
+ output(out, this);
3752
3702
  this.finished = true;
3753
3703
  const { buffer, view, blockLen, isLE: isLE2 } = this;
3754
3704
  let { pos } = this;
@@ -3797,7 +3747,7 @@ var starknet = (() => {
3797
3747
  // node_modules/@noble/hashes/esm/sha256.js
3798
3748
  var Chi = (a, b, c) => a & b ^ ~a & c;
3799
3749
  var Maj = (a, b, c) => a & b ^ a & c ^ b & c;
3800
- var SHA256_K = new Uint32Array([
3750
+ var SHA256_K = /* @__PURE__ */ new Uint32Array([
3801
3751
  1116352408,
3802
3752
  1899447441,
3803
3753
  3049323471,
@@ -3863,7 +3813,7 @@ var starknet = (() => {
3863
3813
  3204031479,
3864
3814
  3329325298
3865
3815
  ]);
3866
- var IV = new Uint32Array([
3816
+ var IV = /* @__PURE__ */ new Uint32Array([
3867
3817
  1779033703,
3868
3818
  3144134277,
3869
3819
  1013904242,
@@ -3873,7 +3823,7 @@ var starknet = (() => {
3873
3823
  528734635,
3874
3824
  1541459225
3875
3825
  ]);
3876
- var SHA256_W = new Uint32Array(64);
3826
+ var SHA256_W = /* @__PURE__ */ new Uint32Array(64);
3877
3827
  var SHA256 = class extends SHA2 {
3878
3828
  constructor() {
3879
3829
  super(64, 32, 8, false);
@@ -3944,22 +3894,7 @@ var starknet = (() => {
3944
3894
  this.buffer.fill(0);
3945
3895
  }
3946
3896
  };
3947
- var SHA224 = class extends SHA256 {
3948
- constructor() {
3949
- super();
3950
- this.A = 3238371032 | 0;
3951
- this.B = 914150663 | 0;
3952
- this.C = 812702999 | 0;
3953
- this.D = 4144912697 | 0;
3954
- this.E = 4290775857 | 0;
3955
- this.F = 1750603025 | 0;
3956
- this.G = 1694076839 | 0;
3957
- this.H = 3204075428 | 0;
3958
- this.outputLen = 28;
3959
- }
3960
- };
3961
- var sha256 = wrapConstructor(() => new SHA256());
3962
- var sha224 = wrapConstructor(() => new SHA224());
3897
+ var sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256());
3963
3898
 
3964
3899
  // node_modules/@noble/curves/esm/abstract/modular.js
3965
3900
  var _0n3 = BigInt(0);
@@ -4150,7 +4085,7 @@ var starknet = (() => {
4150
4085
  }
4151
4086
  function Field(ORDER, bitLen2, isLE2 = false, redef = {}) {
4152
4087
  if (ORDER <= _0n3)
4153
- throw new Error(`Expected Fp ORDER > 0, got ${ORDER}`);
4088
+ throw new Error(`Expected Field ORDER > 0, got ${ORDER}`);
4154
4089
  const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen2);
4155
4090
  if (BYTES > 2048)
4156
4091
  throw new Error("Field lengths over 2048 bytes are not supported");
@@ -4198,14 +4133,25 @@ var starknet = (() => {
4198
4133
  });
4199
4134
  return Object.freeze(f);
4200
4135
  }
4201
- function hashToPrivateScalar(hash2, groupOrder, isLE2 = false) {
4202
- hash2 = ensureBytes("privateHash", hash2);
4203
- const hashLen = hash2.length;
4204
- const minLen = nLength(groupOrder).nByteLength + 8;
4205
- if (minLen < 24 || hashLen < minLen || hashLen > 1024)
4206
- throw new Error(`hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}`);
4207
- const num = isLE2 ? bytesToNumberLE(hash2) : bytesToNumberBE(hash2);
4208
- return mod(num, groupOrder - _1n3) + _1n3;
4136
+ function getFieldBytesLength(fieldOrder) {
4137
+ if (typeof fieldOrder !== "bigint")
4138
+ throw new Error("field order must be bigint");
4139
+ const bitLength = fieldOrder.toString(2).length;
4140
+ return Math.ceil(bitLength / 8);
4141
+ }
4142
+ function getMinHashLength(fieldOrder) {
4143
+ const length = getFieldBytesLength(fieldOrder);
4144
+ return length + Math.ceil(length / 2);
4145
+ }
4146
+ function mapHashToField(key, fieldOrder, isLE2 = false) {
4147
+ const len = key.length;
4148
+ const fieldLen = getFieldBytesLength(fieldOrder);
4149
+ const minLen = getMinHashLength(fieldOrder);
4150
+ if (len < 16 || len < minLen || len > 1024)
4151
+ throw new Error(`expected ${minLen}-1024 bytes of input, got ${len}`);
4152
+ const num = isLE2 ? bytesToNumberBE(key) : bytesToNumberLE(key);
4153
+ const reduced = mod(num, fieldOrder - _1n3) + _1n3;
4154
+ return isLE2 ? numberToBytesLE(reduced, fieldLen) : numberToBytesBE(reduced, fieldLen);
4209
4155
  }
4210
4156
 
4211
4157
  // node_modules/@noble/curves/esm/abstract/poseidon.js
@@ -4216,43 +4162,17 @@ var starknet = (() => {
4216
4162
  validateOpts: () => validateOpts
4217
4163
  });
4218
4164
  function validateOpts(opts) {
4219
- const { Fp } = opts;
4165
+ const { Fp, mds, reversePartialPowIdx: rev, roundConstants: rc } = opts;
4166
+ const { roundsFull, roundsPartial, sboxPower, t } = opts;
4220
4167
  validateField(Fp);
4221
4168
  for (const i of ["t", "roundsFull", "roundsPartial"]) {
4222
4169
  if (typeof opts[i] !== "number" || !Number.isSafeInteger(opts[i]))
4223
4170
  throw new Error(`Poseidon: invalid param ${i}=${opts[i]} (${typeof opts[i]})`);
4224
4171
  }
4225
- if (opts.reversePartialPowIdx !== void 0 && typeof opts.reversePartialPowIdx !== "boolean")
4226
- throw new Error(`Poseidon: invalid param reversePartialPowIdx=${opts.reversePartialPowIdx}`);
4227
- let sboxPower = opts.sboxPower;
4228
- if (sboxPower === void 0)
4229
- sboxPower = 5;
4230
- if (typeof sboxPower !== "number" || !Number.isSafeInteger(sboxPower))
4231
- throw new Error(`Poseidon wrong sboxPower=${sboxPower}`);
4232
- const _sboxPower = BigInt(sboxPower);
4233
- let sboxFn = (n) => FpPow(Fp, n, _sboxPower);
4234
- if (sboxPower === 3)
4235
- sboxFn = (n) => Fp.mul(Fp.sqrN(n), n);
4236
- else if (sboxPower === 5)
4237
- sboxFn = (n) => Fp.mul(Fp.sqrN(Fp.sqrN(n)), n);
4238
- if (opts.roundsFull % 2 !== 0)
4239
- throw new Error(`Poseidon roundsFull is not even: ${opts.roundsFull}`);
4240
- const rounds = opts.roundsFull + opts.roundsPartial;
4241
- if (!Array.isArray(opts.roundConstants) || opts.roundConstants.length !== rounds)
4242
- throw new Error("Poseidon: wrong round constants");
4243
- const roundConstants = opts.roundConstants.map((rc) => {
4244
- if (!Array.isArray(rc) || rc.length !== opts.t)
4245
- throw new Error(`Poseidon wrong round constants: ${rc}`);
4246
- return rc.map((i) => {
4247
- if (typeof i !== "bigint" || !Fp.isValid(i))
4248
- throw new Error(`Poseidon wrong round constant=${i}`);
4249
- return Fp.create(i);
4250
- });
4251
- });
4252
- if (!Array.isArray(opts.mds) || opts.mds.length !== opts.t)
4172
+ if (!Array.isArray(mds) || mds.length !== t)
4253
4173
  throw new Error("Poseidon: wrong MDS matrix");
4254
- const mds = opts.mds.map((mdsRow) => {
4255
- if (!Array.isArray(mdsRow) || mdsRow.length !== opts.t)
4174
+ const _mds = mds.map((mdsRow) => {
4175
+ if (!Array.isArray(mdsRow) || mdsRow.length !== t)
4256
4176
  throw new Error(`Poseidon MDS matrix row: ${mdsRow}`);
4257
4177
  return mdsRow.map((i) => {
4258
4178
  if (typeof i !== "bigint")
@@ -4260,7 +4180,31 @@ var starknet = (() => {
4260
4180
  return Fp.create(i);
4261
4181
  });
4262
4182
  });
4263
- return Object.freeze({ ...opts, rounds, sboxFn, roundConstants, mds });
4183
+ if (rev !== void 0 && typeof rev !== "boolean")
4184
+ throw new Error(`Poseidon: invalid param reversePartialPowIdx=${rev}`);
4185
+ if (roundsFull % 2 !== 0)
4186
+ throw new Error(`Poseidon roundsFull is not even: ${roundsFull}`);
4187
+ const rounds = roundsFull + roundsPartial;
4188
+ if (!Array.isArray(rc) || rc.length !== rounds)
4189
+ throw new Error("Poseidon: wrong round constants");
4190
+ const roundConstants = rc.map((rc2) => {
4191
+ if (!Array.isArray(rc2) || rc2.length !== t)
4192
+ throw new Error(`Poseidon wrong round constants: ${rc2}`);
4193
+ return rc2.map((i) => {
4194
+ if (typeof i !== "bigint" || !Fp.isValid(i))
4195
+ throw new Error(`Poseidon wrong round constant=${i}`);
4196
+ return Fp.create(i);
4197
+ });
4198
+ });
4199
+ if (!sboxPower || ![3, 5, 7].includes(sboxPower))
4200
+ throw new Error(`Poseidon wrong sboxPower=${sboxPower}`);
4201
+ const _sboxPower = BigInt(sboxPower);
4202
+ let sboxFn = (n) => FpPow(Fp, n, _sboxPower);
4203
+ if (sboxPower === 3)
4204
+ sboxFn = (n) => Fp.mul(Fp.sqrN(n), n);
4205
+ else if (sboxPower === 5)
4206
+ sboxFn = (n) => Fp.mul(Fp.sqrN(Fp.sqrN(n)), n);
4207
+ return Object.freeze({ ...opts, rounds, sboxFn, roundConstants, mds: _mds });
4264
4208
  }
4265
4209
  function splitConstants(rc, t) {
4266
4210
  if (typeof t !== "number")
@@ -4279,16 +4223,17 @@ var starknet = (() => {
4279
4223
  return res;
4280
4224
  }
4281
4225
  function poseidon(opts) {
4282
- const { t, Fp, rounds, sboxFn, reversePartialPowIdx } = validateOpts(opts);
4283
- const halfRoundsFull = Math.floor(opts.roundsFull / 2);
4284
- const partialIdx = reversePartialPowIdx ? t - 1 : 0;
4226
+ const _opts = validateOpts(opts);
4227
+ const { Fp, mds, roundConstants, rounds, roundsPartial, sboxFn, t } = _opts;
4228
+ const halfRoundsFull = _opts.roundsFull / 2;
4229
+ const partialIdx = _opts.reversePartialPowIdx ? t - 1 : 0;
4285
4230
  const poseidonRound = (values, isFull, idx) => {
4286
- values = values.map((i, j) => Fp.add(i, opts.roundConstants[idx][j]));
4231
+ values = values.map((i, j) => Fp.add(i, roundConstants[idx][j]));
4287
4232
  if (isFull)
4288
4233
  values = values.map((i) => sboxFn(i));
4289
4234
  else
4290
4235
  values[partialIdx] = sboxFn(values[partialIdx]);
4291
- values = opts.mds.map((i) => i.reduce((acc, i2, j) => Fp.add(acc, Fp.mulN(i2, values[j])), Fp.ZERO));
4236
+ values = mds.map((i) => i.reduce((acc, i2, j) => Fp.add(acc, Fp.mulN(i2, values[j])), Fp.ZERO));
4292
4237
  return values;
4293
4238
  };
4294
4239
  const poseidonHash2 = function poseidonHash3(values) {
@@ -4302,7 +4247,7 @@ var starknet = (() => {
4302
4247
  let round = 0;
4303
4248
  for (let i = 0; i < halfRoundsFull; i++)
4304
4249
  values = poseidonRound(values, true, round++);
4305
- for (let i = 0; i < opts.roundsPartial; i++)
4250
+ for (let i = 0; i < roundsPartial; i++)
4306
4251
  values = poseidonRound(values, false, round++);
4307
4252
  for (let i = 0; i < halfRoundsFull; i++)
4308
4253
  values = poseidonRound(values, true, round++);
@@ -4310,7 +4255,7 @@ var starknet = (() => {
4310
4255
  throw new Error(`Poseidon: wrong number of rounds: last round=${round}, total=${rounds}`);
4311
4256
  return values;
4312
4257
  };
4313
- poseidonHash2.roundConstants = opts.roundConstants;
4258
+ poseidonHash2.roundConstants = roundConstants;
4314
4259
  return poseidonHash2;
4315
4260
  }
4316
4261
 
@@ -4529,7 +4474,7 @@ var starknet = (() => {
4529
4474
  function weierstrassPoints(opts) {
4530
4475
  const CURVE2 = validatePointOpts(opts);
4531
4476
  const { Fp } = CURVE2;
4532
- const toBytes2 = CURVE2.toBytes || ((c, point, isCompressed) => {
4477
+ const toBytes2 = CURVE2.toBytes || ((_c, point, _isCompressed) => {
4533
4478
  const a = point.toAffine();
4534
4479
  return concatBytes(Uint8Array.from([4]), Fp.toBytes(a.x), Fp.toBytes(a.y));
4535
4480
  });
@@ -4641,7 +4586,7 @@ var starknet = (() => {
4641
4586
  // A point on curve is valid if it conforms to equation.
4642
4587
  assertValidity() {
4643
4588
  if (this.is0()) {
4644
- if (CURVE2.allowInfinityPoint)
4589
+ if (CURVE2.allowInfinityPoint && !Fp.is0(this.py))
4645
4590
  return;
4646
4591
  throw new Error("bad point: ZERO");
4647
4592
  }
@@ -4944,7 +4889,7 @@ var starknet = (() => {
4944
4889
  }
4945
4890
  const { ProjectivePoint: Point, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder } = weierstrassPoints({
4946
4891
  ...CURVE2,
4947
- toBytes(c, point, isCompressed) {
4892
+ toBytes(_c, point, isCompressed) {
4948
4893
  const a = point.toAffine();
4949
4894
  const x = Fp.toBytes(a.x);
4950
4895
  const cat = concatBytes;
@@ -5067,13 +5012,12 @@ var starknet = (() => {
5067
5012
  },
5068
5013
  normPrivateKeyToScalar,
5069
5014
  /**
5070
- * Produces cryptographically secure private key from random of size (nBitLength+64)
5071
- * as per FIPS 186 B.4.1 with modulo bias being neglible.
5015
+ * Produces cryptographically secure private key from random of size
5016
+ * (groupLen + ceil(groupLen / 2)) with modulo bias being negligible.
5072
5017
  */
5073
5018
  randomPrivateKey: () => {
5074
- const rand = CURVE2.randomBytes(Fp.BYTES + 8);
5075
- const num = hashToPrivateScalar(rand, CURVE_ORDER2);
5076
- return numberToBytesBE(num, CURVE2.nByteLength);
5019
+ const length = getMinHashLength(CURVE2.n);
5020
+ return mapHashToField(CURVE2.randomBytes(length), CURVE2.n);
5077
5021
  },
5078
5022
  /**
5079
5023
  * Creates precompute table for an arbitrary EC point. Makes point "cached".
@@ -5143,7 +5087,7 @@ var starknet = (() => {
5143
5087
  const seedArgs = [int2octets(d), int2octets(h1int)];
5144
5088
  if (ent != null) {
5145
5089
  const e = ent === true ? randomBytes2(Fp.BYTES) : ent;
5146
- seedArgs.push(ensureBytes("extraEntropy", e, Fp.BYTES));
5090
+ seedArgs.push(ensureBytes("extraEntropy", e));
5147
5091
  }
5148
5092
  const seed = concatBytes(...seedArgs);
5149
5093
  const m = h1int;
@@ -5173,7 +5117,8 @@ var starknet = (() => {
5173
5117
  const defaultVerOpts = { lowS: CURVE2.lowS, prehash: false };
5174
5118
  function sign2(msgHash, privKey, opts = defaultSigOpts) {
5175
5119
  const { seed, k2sig } = prepSig(msgHash, privKey, opts);
5176
- const drbg = createHmacDrbg(CURVE2.hash.outputLen, CURVE2.nByteLength, CURVE2.hmac);
5120
+ const C = CURVE2;
5121
+ const drbg = createHmacDrbg(C.hash.outputLen, C.nByteLength, C.hmac);
5177
5122
  return drbg(seed, k2sig);
5178
5123
  }
5179
5124
  Point.BASE._setWindowSize(8);
@@ -5239,10 +5184,12 @@ var starknet = (() => {
5239
5184
  for (let o = q - _1n5; o % _2n4 === _0n5; o /= _2n4)
5240
5185
  l += _1n5;
5241
5186
  const c1 = l;
5242
- const c2 = (q - _1n5) / _2n4 ** c1;
5187
+ const _2n_pow_c1_1 = _2n4 << c1 - _1n5 - _1n5;
5188
+ const _2n_pow_c1 = _2n_pow_c1_1 * _2n4;
5189
+ const c2 = (q - _1n5) / _2n_pow_c1;
5243
5190
  const c3 = (c2 - _1n5) / _2n4;
5244
- const c4 = _2n4 ** c1 - _1n5;
5245
- const c5 = _2n4 ** (c1 - _1n5);
5191
+ const c4 = _2n_pow_c1 - _1n5;
5192
+ const c5 = _2n_pow_c1_1;
5246
5193
  const c6 = Fp.pow(Z, c2);
5247
5194
  const c7 = Fp.pow(Z, (c2 + _1n5) / _2n4);
5248
5195
  let sqrtRatio = (u, v) => {
@@ -5263,7 +5210,8 @@ var starknet = (() => {
5263
5210
  tv3 = Fp.cmov(tv2, tv3, isQR);
5264
5211
  tv4 = Fp.cmov(tv5, tv4, isQR);
5265
5212
  for (let i = c1; i > _1n5; i--) {
5266
- let tv52 = _2n4 ** (i - _2n4);
5213
+ let tv52 = i - _2n4;
5214
+ tv52 = _2n4 << tv52 - _1n5;
5267
5215
  let tvv5 = Fp.pow(tv4, tv52);
5268
5216
  const e1 = Fp.eql(tvv5, Fp.ONE);
5269
5217
  tv2 = Fp.mul(tv3, tv1);
@@ -5336,11 +5284,11 @@ var starknet = (() => {
5336
5284
  super();
5337
5285
  this.finished = false;
5338
5286
  this.destroyed = false;
5339
- assert_default.hash(hash2);
5287
+ hash(hash2);
5340
5288
  const key = toBytes(_key);
5341
5289
  this.iHash = hash2.create();
5342
5290
  if (typeof this.iHash.update !== "function")
5343
- throw new TypeError("Expected instance of class which extends utils.Hash");
5291
+ throw new Error("Expected instance of class which extends utils.Hash");
5344
5292
  this.blockLen = this.iHash.blockLen;
5345
5293
  this.outputLen = this.iHash.outputLen;
5346
5294
  const blockLen = this.blockLen;
@@ -5356,13 +5304,13 @@ var starknet = (() => {
5356
5304
  pad.fill(0);
5357
5305
  }
5358
5306
  update(buf) {
5359
- assert_default.exists(this);
5307
+ exists(this);
5360
5308
  this.iHash.update(buf);
5361
5309
  return this;
5362
5310
  }
5363
5311
  digestInto(out) {
5364
- assert_default.exists(this);
5365
- assert_default.bytes(out, this.outputLen);
5312
+ exists(this);
5313
+ bytes(out, this.outputLen);
5366
5314
  this.finished = true;
5367
5315
  this.iHash.digestInto(out);
5368
5316
  this.oHash.update(out);
@@ -5404,8 +5352,9 @@ var starknet = (() => {
5404
5352
  };
5405
5353
  }
5406
5354
 
5407
- // node_modules/micro-starknet/lib/esm/index.js
5355
+ // node_modules/@scure/starknet/lib/esm/index.js
5408
5356
  var CURVE_ORDER = BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583");
5357
+ var MAX_VALUE = BigInt("0x800000000000000000000000000000000000000000000000000000000000000");
5409
5358
  var nBitLength = 252;
5410
5359
  function bits2int(bytes2) {
5411
5360
  while (bytes2[0] === 0)
@@ -5454,12 +5403,39 @@ var starknet = (() => {
5454
5403
  function getSharedSecret(privKeyA, pubKeyB) {
5455
5404
  return curve.getSharedSecret(normPrivKey(privKeyA), pubKeyB);
5456
5405
  }
5406
+ function checkSignature(signature) {
5407
+ const { r, s } = signature;
5408
+ if (r < 0n || r >= MAX_VALUE)
5409
+ throw new Error(`Signature.r should be [1, ${MAX_VALUE})`);
5410
+ const w = invert(s, CURVE_ORDER);
5411
+ if (w < 0n || w >= MAX_VALUE)
5412
+ throw new Error(`inv(Signature.s) should be [1, ${MAX_VALUE})`);
5413
+ }
5414
+ function checkMessage(msgHash) {
5415
+ const bytes2 = ensureBytes2(msgHash);
5416
+ const num = bytesToNumberBE(bytes2);
5417
+ if (num >= MAX_VALUE)
5418
+ throw new Error(`msgHash should be [0, ${MAX_VALUE})`);
5419
+ return bytes2;
5420
+ }
5457
5421
  function sign(msgHash, privKey, opts) {
5458
- return curve.sign(ensureBytes2(msgHash), normPrivKey(privKey), opts);
5422
+ const sig = curve.sign(checkMessage(msgHash), normPrivKey(privKey), opts);
5423
+ checkSignature(sig);
5424
+ return sig;
5459
5425
  }
5460
5426
  function verify(signature, msgHash, pubKey) {
5461
- const sig = signature instanceof Signature ? signature : ensureBytes2(signature);
5462
- return curve.verify(sig, ensureBytes2(msgHash), ensureBytes2(pubKey));
5427
+ if (!(signature instanceof Signature)) {
5428
+ const bytes2 = ensureBytes2(signature);
5429
+ try {
5430
+ signature = Signature.fromDER(bytes2);
5431
+ } catch (derError) {
5432
+ if (!(derError instanceof DER.Err))
5433
+ throw derError;
5434
+ signature = Signature.fromCompact(bytes2);
5435
+ }
5436
+ }
5437
+ checkSignature(signature);
5438
+ return curve.verify(signature, checkMessage(msgHash), ensureBytes2(pubKey));
5463
5439
  }
5464
5440
  var { CURVE, ProjectivePoint, Signature, utils } = curve;
5465
5441
  function extractX(bytes2) {
@@ -5470,9 +5446,6 @@ var starknet = (() => {
5470
5446
  function strip0x(hex) {
5471
5447
  return hex.replace(/^0x/i, "");
5472
5448
  }
5473
- function numberTo0x16(num) {
5474
- return `0x${num.toString(16)}`;
5475
- }
5476
5449
  function grindKey(seed) {
5477
5450
  const _seed = ensureBytes2(seed);
5478
5451
  const sha256mask = 2n ** 256n;
@@ -5558,18 +5531,10 @@ var starknet = (() => {
5558
5531
  point = pedersenSingle(point, y, PEDERSEN_POINTS2);
5559
5532
  return extractX(point.toRawBytes(true));
5560
5533
  }
5561
- function hashChain(data, fn = pedersen) {
5562
- if (!Array.isArray(data) || data.length < 1)
5563
- throw new Error("data should be array of at least 1 element");
5564
- if (data.length === 1)
5565
- return numberTo0x16(pedersenArg(data[0]));
5566
- return Array.from(data).reverse().reduce((acc, i) => fn(i, acc));
5567
- }
5568
5534
  var computeHashOnElements = (data, fn = pedersen) => [0, ...data, data.length].reduce((x, y) => fn(x, y));
5569
5535
  var MASK_2502 = bitMask(250);
5570
5536
  var keccak = (data) => bytesToNumberBE(keccak_256(data)) & MASK_2502;
5571
5537
  var sha256Num = (data) => bytesToNumberBE(sha256(data));
5572
- var Fp253 = Field(BigInt("14474011154664525231415395255581126252639794253786371766033694892385558855681"));
5573
5538
  var Fp251 = Field(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));
5574
5539
  function poseidonRoundConstant(Fp, name, idx) {
5575
5540
  const val = Fp.fromBytes(sha256(utf8ToBytes2(`${name}${idx}`)));
@@ -6228,10 +6193,6 @@ var starknet = (() => {
6228
6193
  if (isTypeEthAddress(abiType)) {
6229
6194
  return unorderedItem;
6230
6195
  }
6231
- if (isTypeStruct(abiType, structs)) {
6232
- const abiOfStruct = structs[abiType].members;
6233
- return orderStruct(unorderedItem, abiOfStruct);
6234
- }
6235
6196
  if (isTypeUint256(abiType)) {
6236
6197
  const u256 = unorderedItem;
6237
6198
  if (typeof u256 !== "object") {
@@ -6242,6 +6203,10 @@ var starknet = (() => {
6242
6203
  }
6243
6204
  return { low: u256.low, high: u256.high };
6244
6205
  }
6206
+ if (isTypeStruct(abiType, structs)) {
6207
+ const abiOfStruct = structs[abiType].members;
6208
+ return orderStruct(unorderedItem, abiOfStruct);
6209
+ }
6245
6210
  return unorderedItem;
6246
6211
  };
6247
6212
  const orderStruct = (unorderedObject2, abiObject) => {