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