@secondlayer/stacks 6.5.4 → 6.6.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.
Files changed (103) hide show
  1. package/dist/shared/{stacks-esm-17adzt3x.js → stacks-esm-0t9vwtwh.js} +9 -9
  2. package/dist/shared/{stacks-esm-s3natb0x.js → stacks-esm-1f46cr7b.js} +8 -8
  3. package/dist/shared/{stacks-esm-s3natb0x.js.map → stacks-esm-1f46cr7b.js.map} +3 -3
  4. package/dist/shared/{stacks-esm-2cac1jn9.js → stacks-esm-2z40q8gs.js} +4 -4
  5. package/dist/shared/{stacks-esm-ev07d2aw.js → stacks-esm-4rjjsz3p.js} +3 -3
  6. package/dist/shared/{stacks-esm-5eq7meyt.js → stacks-esm-8p8xy3dz.js} +16 -4
  7. package/dist/shared/stacks-esm-8p8xy3dz.js.map +12 -0
  8. package/dist/shared/{stacks-esm-h82jj95c.js → stacks-esm-9ptct1c4.js} +3 -3
  9. package/dist/shared/{stacks-esm-qasbsv66.js → stacks-esm-a7apmjbk.js} +2 -2
  10. package/dist/shared/{stacks-esm-1nfzrepv.js → stacks-esm-brtqryjb.js} +4 -4
  11. package/dist/shared/{stacks-esm-pc20c78w.js → stacks-esm-e63kx7dq.js} +3 -3
  12. package/dist/shared/{stacks-esm-tsb8h0yr.js → stacks-esm-eep45e8s.js} +2 -2
  13. package/dist/shared/{stacks-esm-wnxhfx93.js → stacks-esm-fmq4j4ez.js} +2 -2
  14. package/dist/shared/{stacks-esm-7tc40d6t.js → stacks-esm-h60faj2n.js} +2 -2
  15. package/dist/shared/{stacks-esm-6zfssx7v.js → stacks-esm-hcaycch3.js} +3 -3
  16. package/dist/shared/{stacks-esm-cs4419br.js → stacks-esm-jwgtksgq.js} +32 -15
  17. package/dist/shared/stacks-esm-jwgtksgq.js.map +15 -0
  18. package/dist/shared/{stacks-esm-jm688fhe.js → stacks-esm-m8ph0bvw.js} +19 -11
  19. package/dist/shared/{stacks-esm-jm688fhe.js.map → stacks-esm-m8ph0bvw.js.map} +4 -4
  20. package/dist/shared/{stacks-esm-hm7kb2cp.js → stacks-esm-mqhwqhq4.js} +4 -4
  21. package/dist/shared/{stacks-esm-tfechw5c.js → stacks-esm-nqkwt2z7.js} +2 -2
  22. package/dist/shared/{stacks-esm-mmvrwreq.js → stacks-esm-wjg9aer9.js} +4 -4
  23. package/dist/shared/{stacks-esm-scq242d9.js → stacks-esm-zsdw7fq3.js} +3 -3
  24. package/dist/src/accounts/index.cjs +14 -2
  25. package/dist/src/accounts/index.cjs.map +3 -3
  26. package/dist/src/accounts/index.js +2 -2
  27. package/dist/src/actions/index.cjs +52 -16
  28. package/dist/src/actions/index.cjs.map +8 -8
  29. package/dist/src/actions/index.d.cts +2 -0
  30. package/dist/src/actions/index.d.ts +2 -0
  31. package/dist/src/actions/index.js +12 -12
  32. package/dist/src/bitcoin/index.cjs +41 -13
  33. package/dist/src/bitcoin/index.cjs.map +5 -5
  34. package/dist/src/bitcoin/index.js +10 -10
  35. package/dist/src/bns/index.cjs +52 -16
  36. package/dist/src/bns/index.cjs.map +8 -8
  37. package/dist/src/bns/index.js +12 -12
  38. package/dist/src/clarity/index.cjs +41 -13
  39. package/dist/src/clarity/index.cjs.map +5 -5
  40. package/dist/src/clarity/index.js +6 -6
  41. package/dist/src/connect/index.cjs +30 -7
  42. package/dist/src/connect/index.cjs.map +5 -5
  43. package/dist/src/connect/index.js +30 -7
  44. package/dist/src/connect/index.js.map +5 -5
  45. package/dist/src/connect/walletconnect/index.cjs +3 -1
  46. package/dist/src/connect/walletconnect/index.cjs.map +3 -3
  47. package/dist/src/connect/walletconnect/index.js +3 -1
  48. package/dist/src/connect/walletconnect/index.js.map +3 -3
  49. package/dist/src/filters/index.cjs +14 -2
  50. package/dist/src/filters/index.cjs.map +3 -3
  51. package/dist/src/filters/index.js +3 -3
  52. package/dist/src/index.cjs +75 -20
  53. package/dist/src/index.cjs.map +9 -9
  54. package/dist/src/index.d.cts +8 -0
  55. package/dist/src/index.d.ts +8 -0
  56. package/dist/src/index.js +40 -14
  57. package/dist/src/index.js.map +4 -4
  58. package/dist/src/postconditions/index.cjs +41 -13
  59. package/dist/src/postconditions/index.cjs.map +5 -5
  60. package/dist/src/postconditions/index.js +5 -5
  61. package/dist/src/pox/index.cjs +52 -16
  62. package/dist/src/pox/index.cjs.map +8 -8
  63. package/dist/src/pox/index.js +12 -12
  64. package/dist/src/pox5/index.cjs +52 -16
  65. package/dist/src/pox5/index.cjs.map +8 -8
  66. package/dist/src/pox5/index.js +14 -14
  67. package/dist/src/sbtc/index.cjs +52 -16
  68. package/dist/src/sbtc/index.cjs.map +8 -8
  69. package/dist/src/sbtc/index.js +12 -12
  70. package/dist/src/simnet/index.cjs +44 -16
  71. package/dist/src/simnet/index.cjs.map +5 -5
  72. package/dist/src/simnet/index.js +44 -16
  73. package/dist/src/simnet/index.js.map +5 -5
  74. package/dist/src/stackingdao/index.cjs +52 -16
  75. package/dist/src/stackingdao/index.cjs.map +8 -8
  76. package/dist/src/stackingdao/index.js +10 -10
  77. package/dist/src/transactions/index.cjs +44 -16
  78. package/dist/src/transactions/index.cjs.map +5 -5
  79. package/dist/src/transactions/index.js +5 -5
  80. package/dist/src/utils/index.cjs +20 -3
  81. package/dist/src/utils/index.cjs.map +4 -4
  82. package/dist/src/utils/index.d.cts +8 -1
  83. package/dist/src/utils/index.d.ts +8 -1
  84. package/dist/src/utils/index.js +9 -4
  85. package/dist/src/utils/index.js.map +3 -3
  86. package/package.json +2 -2
  87. package/dist/shared/stacks-esm-5eq7meyt.js.map +0 -12
  88. package/dist/shared/stacks-esm-cs4419br.js.map +0 -15
  89. /package/dist/shared/{stacks-esm-17adzt3x.js.map → stacks-esm-0t9vwtwh.js.map} +0 -0
  90. /package/dist/shared/{stacks-esm-2cac1jn9.js.map → stacks-esm-2z40q8gs.js.map} +0 -0
  91. /package/dist/shared/{stacks-esm-ev07d2aw.js.map → stacks-esm-4rjjsz3p.js.map} +0 -0
  92. /package/dist/shared/{stacks-esm-h82jj95c.js.map → stacks-esm-9ptct1c4.js.map} +0 -0
  93. /package/dist/shared/{stacks-esm-qasbsv66.js.map → stacks-esm-a7apmjbk.js.map} +0 -0
  94. /package/dist/shared/{stacks-esm-1nfzrepv.js.map → stacks-esm-brtqryjb.js.map} +0 -0
  95. /package/dist/shared/{stacks-esm-pc20c78w.js.map → stacks-esm-e63kx7dq.js.map} +0 -0
  96. /package/dist/shared/{stacks-esm-tsb8h0yr.js.map → stacks-esm-eep45e8s.js.map} +0 -0
  97. /package/dist/shared/{stacks-esm-wnxhfx93.js.map → stacks-esm-fmq4j4ez.js.map} +0 -0
  98. /package/dist/shared/{stacks-esm-7tc40d6t.js.map → stacks-esm-h60faj2n.js.map} +0 -0
  99. /package/dist/shared/{stacks-esm-6zfssx7v.js.map → stacks-esm-hcaycch3.js.map} +0 -0
  100. /package/dist/shared/{stacks-esm-hm7kb2cp.js.map → stacks-esm-mqhwqhq4.js.map} +0 -0
  101. /package/dist/shared/{stacks-esm-tfechw5c.js.map → stacks-esm-nqkwt2z7.js.map} +0 -0
  102. /package/dist/shared/{stacks-esm-mmvrwreq.js.map → stacks-esm-wjg9aer9.js.map} +0 -0
  103. /package/dist/shared/{stacks-esm-scq242d9.js.map → stacks-esm-zsdw7fq3.js.map} +0 -0
@@ -101,6 +101,8 @@ function bytesToHex(bytes) {
101
101
  }
102
102
  function hexToBytes(hex) {
103
103
  let h = without0x(hex);
104
+ if (!/^[0-9a-fA-F]*$/.test(h))
105
+ throw new Error("Invalid byte sequence");
104
106
  if (h.length % 2)
105
107
  h = `0${h}`;
106
108
  const array = new Uint8Array(h.length / 2);
@@ -132,6 +134,13 @@ function asciiToBytes(str) {
132
134
  }
133
135
  return bytes;
134
136
  }
137
+ function isAscii(str) {
138
+ for (let i = 0;i < str.length; i++) {
139
+ if (str.charCodeAt(i) > 127)
140
+ return false;
141
+ }
142
+ return true;
143
+ }
135
144
  function bytesToAscii(bytes) {
136
145
  return String.fromCharCode(...bytes);
137
146
  }
@@ -150,8 +159,11 @@ function concatBytes(...arrays) {
150
159
  function intToBigInt(value) {
151
160
  if (typeof value === "bigint")
152
161
  return value;
153
- if (typeof value === "string")
162
+ if (typeof value === "string") {
163
+ if (value.trim() === "")
164
+ throw new SyntaxError("Cannot convert an empty string to an integer");
154
165
  return BigInt(value);
166
+ }
155
167
  if (typeof value === "number") {
156
168
  if (!Number.isInteger(value))
157
169
  throw new RangeError("Values of type 'number' must be an integer.");
@@ -761,6 +773,10 @@ function deserializeCV(input) {
761
773
  // src/clarity/serialize.ts
762
774
  var CLARITY_INT_SIZE = 128n;
763
775
  var CLARITY_INT_BYTE_SIZE = 16;
776
+ var MAX_U1282 = (1n << 128n) - 1n;
777
+ var MAX_I1282 = (1n << 127n) - 1n;
778
+ var MIN_I1282 = -(1n << 127n);
779
+ var MAX_STRING_BYTES = 1048576;
764
780
  function typeIdByte(type) {
765
781
  return ClarityWireType[type];
766
782
  }
@@ -782,11 +798,17 @@ function serializeCVBytes(value) {
782
798
  case "false":
783
799
  return new Uint8Array([typeIdByte(value.type)]);
784
800
  case "int": {
785
- const bytes = bigIntToBytes(toTwos(BigInt(value.value), CLARITY_INT_SIZE), CLARITY_INT_BYTE_SIZE);
801
+ const n = BigInt(value.value);
802
+ if (n > MAX_I1282 || n < MIN_I1282)
803
+ throw new RangeError(`Int is outside i128: ${n}`);
804
+ const bytes = bigIntToBytes(toTwos(n, CLARITY_INT_SIZE), CLARITY_INT_BYTE_SIZE);
786
805
  return withTypeId(value.type, bytes);
787
806
  }
788
807
  case "uint": {
789
- const bytes = bigIntToBytes(BigInt(value.value), CLARITY_INT_BYTE_SIZE);
808
+ const n = BigInt(value.value);
809
+ if (n < 0n || n > MAX_U1282)
810
+ throw new RangeError(`UInt is outside u128: ${n}`);
811
+ const bytes = bigIntToBytes(n, CLARITY_INT_BYTE_SIZE);
790
812
  return withTypeId(value.type, bytes);
791
813
  }
792
814
  case "buffer": {
@@ -825,6 +847,8 @@ function serializeCVBytes(value) {
825
847
  return withTypeId(value.type, concatBytes(...parts));
826
848
  }
827
849
  case "ascii": {
850
+ if (!isAscii(value.value))
851
+ throw new Error("string-ascii holds only ASCII characters");
828
852
  const strBytes = asciiToBytes(value.value);
829
853
  return withTypeId(value.type, concatBytes(writeUInt32BE(strBytes.length), strBytes));
830
854
  }
@@ -841,9 +865,9 @@ function serializeCV(value) {
841
865
  }
842
866
 
843
867
  // src/clarity/values.ts
844
- var MAX_U1282 = BigInt("0xffffffffffffffffffffffffffffffff");
845
- var MIN_I1282 = BigInt("-170141183460469231731687303715884105728");
846
- var MAX_I1282 = BigInt("0x7fffffffffffffffffffffffffffffff");
868
+ var MAX_U1283 = BigInt("0xffffffffffffffffffffffffffffffff");
869
+ var MIN_I1283 = BigInt("-170141183460469231731687303715884105728");
870
+ var MAX_I1283 = BigInt("0x7fffffffffffffffffffffffffffffff");
847
871
  function intCV(value) {
848
872
  let v = value;
849
873
  if (typeof v === "string" && v.toLowerCase().startsWith("0x")) {
@@ -852,18 +876,18 @@ function intCV(value) {
852
876
  if (v instanceof Uint8Array)
853
877
  v = bytesToTwosBigInt(v);
854
878
  const n = intToBigInt(v);
855
- if (n > MAX_I1282)
856
- throw new RangeError(`Int exceeds max i128: ${MAX_I1282}`);
857
- if (n < MIN_I1282)
858
- throw new RangeError(`Int below min i128: ${MIN_I1282}`);
879
+ if (n > MAX_I1283)
880
+ throw new RangeError(`Int exceeds max i128: ${MAX_I1283}`);
881
+ if (n < MIN_I1283)
882
+ throw new RangeError(`Int below min i128: ${MIN_I1283}`);
859
883
  return { type: "int", value: n };
860
884
  }
861
885
  function uintCV(value) {
862
886
  const n = intToBigInt(value);
863
887
  if (n < 0n)
864
888
  throw new RangeError("Cannot construct unsigned int from negative value");
865
- if (n > MAX_U1282)
866
- throw new RangeError(`UInt exceeds max u128: ${MAX_U1282}`);
889
+ if (n > MAX_U1283)
890
+ throw new RangeError(`UInt exceeds max u128: ${MAX_U1283}`);
867
891
  return { type: "uint", value: n };
868
892
  }
869
893
  var trueCV = () => ({ type: "true" });
@@ -912,6 +936,10 @@ function tupleCV(data) {
912
936
  return { type: "tuple", value: data };
913
937
  }
914
938
  function stringAsciiCV(value) {
939
+ if (!isAscii(value))
940
+ throw new Error("string-ascii holds only ASCII characters");
941
+ if (value.length > MAX_STRING_BYTES)
942
+ throw new Error(`string-ascii exceeds max size of ${MAX_STRING_BYTES} bytes`);
915
943
  return { type: "ascii", value };
916
944
  }
917
945
  function stringUtf8CV(value) {
@@ -3181,6 +3209,13 @@ function assertNoFeeTierForProvider(fee) {
3181
3209
  throw new Error(`Fee tier '${fee}' requires local signing; provider (wallet) accounts set their own fee`);
3182
3210
  }
3183
3211
  }
3212
+ function resolveCallArgs(params) {
3213
+ const { args, functionArgs } = params;
3214
+ if (args !== undefined && functionArgs !== undefined) {
3215
+ throw new Error("Pass args or functionArgs, not both (functionArgs is deprecated)");
3216
+ }
3217
+ return args ?? functionArgs ?? [];
3218
+ }
3184
3219
 
3185
3220
  // src/actions/wallet/callContract.ts
3186
3221
  async function callContract(client, params) {
@@ -3188,12 +3223,13 @@ async function callContract(client, params) {
3188
3223
  if (!account)
3189
3224
  throw new Error("Account required");
3190
3225
  const [contractAddress, contractName] = parseContractId(params.contract);
3226
+ const args = resolveCallArgs(params);
3191
3227
  if (isProviderAccount(account)) {
3192
3228
  assertNoFeeTierForProvider(params.fee);
3193
3229
  const result = await account.provider.request("stx_callContract", {
3194
3230
  contract: params.contract,
3195
3231
  functionName: params.functionName,
3196
- functionArgs: params.functionArgs ?? []
3232
+ functionArgs: args
3197
3233
  });
3198
3234
  return result.txid;
3199
3235
  }
@@ -3205,7 +3241,7 @@ async function callContract(client, params) {
3205
3241
  contractAddress,
3206
3242
  contractName,
3207
3243
  functionName: params.functionName,
3208
- functionArgs: params.functionArgs ?? [],
3244
+ functionArgs: args,
3209
3245
  fee: needsFeeResolution ? 0n : params.fee,
3210
3246
  nonce,
3211
3247
  publicKey: account.publicKey,
@@ -3287,7 +3323,7 @@ function getContract(params) {
3287
3323
  return callContract(client, {
3288
3324
  contract: contractId,
3289
3325
  functionName: fn.name,
3290
- functionArgs: clarityArgs,
3326
+ args: clarityArgs,
3291
3327
  ...options
3292
3328
  });
3293
3329
  };
@@ -4079,5 +4115,5 @@ function stackingDao() {
4079
4115
  });
4080
4116
  }
4081
4117
 
4082
- //# debugId=999EA16634DB4CC864756E2164756E21
4118
+ //# debugId=98F13FDBF703CF4164756E2164756E21
4083
4119
  //# sourceMappingURL=index.cjs.map