@gardenfi/swap 0.0.2-beta.3 → 0.0.2-beta.5

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 (82) hide show
  1. package/dist/index106.cjs +1 -1
  2. package/dist/index106.js +1 -1
  3. package/dist/index107.cjs +1 -1
  4. package/dist/index107.js +1 -1
  5. package/dist/index119.cjs +1 -1
  6. package/dist/index119.js +1 -1
  7. package/dist/index12.cjs +1 -1
  8. package/dist/index12.js +12 -12
  9. package/dist/index120.cjs +1 -1
  10. package/dist/index120.js +1 -1
  11. package/dist/index121.cjs +1 -1
  12. package/dist/index121.js +1 -1
  13. package/dist/index122.cjs +1 -1
  14. package/dist/index122.js +1 -1
  15. package/dist/index154.cjs +1 -1
  16. package/dist/index154.js +2 -2
  17. package/dist/index155.cjs +1 -1
  18. package/dist/index155.js +2 -2
  19. package/dist/index156.cjs +1 -1
  20. package/dist/index156.js +2 -2
  21. package/dist/index157.cjs +1 -1
  22. package/dist/index157.js +2 -2
  23. package/dist/index158.cjs +1 -1
  24. package/dist/index158.js +2 -2
  25. package/dist/index159.cjs +1 -1
  26. package/dist/index159.js +2 -2
  27. package/dist/index168.cjs +1 -1
  28. package/dist/index168.js +1 -1
  29. package/dist/index235.cjs +1 -1
  30. package/dist/index235.js +1 -1
  31. package/dist/index236.cjs +1 -1
  32. package/dist/index236.js +2 -2
  33. package/dist/index247.cjs +1 -1
  34. package/dist/index247.js +1 -1
  35. package/dist/index278.cjs +1 -1
  36. package/dist/index278.js +1 -1
  37. package/dist/index299.cjs +1 -1
  38. package/dist/index299.js +7 -37
  39. package/dist/index300.cjs +1 -1
  40. package/dist/index300.js +36 -14
  41. package/dist/index301.cjs +1 -1
  42. package/dist/index301.js +15 -8
  43. package/dist/index302.cjs +1 -1
  44. package/dist/index302.js +8 -7
  45. package/dist/index304.cjs +1 -1
  46. package/dist/index304.js +1 -1
  47. package/dist/index305.cjs +1 -1
  48. package/dist/index305.js +1 -1
  49. package/dist/index311.cjs +1 -1
  50. package/dist/index311.js +1 -1
  51. package/dist/index312.cjs +1 -1
  52. package/dist/index312.js +1 -1
  53. package/dist/index319.cjs +1 -1
  54. package/dist/index319.js +103 -6
  55. package/dist/index320.cjs +1 -1
  56. package/dist/index320.js +7 -7
  57. package/dist/index321.cjs +1 -1
  58. package/dist/index321.js +7 -104
  59. package/dist/index349.cjs +1 -1
  60. package/dist/index349.js +4 -77
  61. package/dist/index350.cjs +2 -1
  62. package/dist/index350.js +194 -5
  63. package/dist/index351.cjs +1 -1
  64. package/dist/index351.js +77 -4
  65. package/dist/index352.cjs +1 -2
  66. package/dist/index352.js +317 -167
  67. package/dist/index353.cjs +1 -1
  68. package/dist/index353.js +149 -332
  69. package/dist/index354.cjs +1 -1
  70. package/dist/index354.js +5 -161
  71. package/dist/index361.cjs +1 -1
  72. package/dist/index361.js +140 -3
  73. package/dist/index362.cjs +1 -1
  74. package/dist/index362.js +3 -140
  75. package/dist/index381.cjs +1 -1
  76. package/dist/index381.js +2 -22
  77. package/dist/index382.cjs +1 -1
  78. package/dist/index382.js +22 -2
  79. package/dist/index383.cjs +1 -1
  80. package/dist/index383.js +1 -1
  81. package/dist/src/lib/store/swapStore.d.ts +1 -1
  82. package/package.json +5 -5
package/dist/index351.js CHANGED
@@ -1,7 +1,80 @@
1
- import { version as r } from "./index382.js";
2
- function e() {
3
- return r;
1
+ import { fromString as d } from "./index348.js";
2
+ import { checksum as o } from "./index354.js";
3
+ import { BaseError as c } from "./index278.js";
4
+ import { keccak256 as f } from "./index347.js";
5
+ const l = /^0x[a-fA-F0-9]{40}$/;
6
+ function u(r, t = {}) {
7
+ const { strict: s = !0 } = t;
8
+ if (!l.test(r))
9
+ throw new i({
10
+ address: r,
11
+ cause: new h()
12
+ });
13
+ if (s) {
14
+ if (r.toLowerCase() === r)
15
+ return;
16
+ if (m(r) !== r)
17
+ throw new i({
18
+ address: r,
19
+ cause: new p()
20
+ });
21
+ }
22
+ }
23
+ function m(r) {
24
+ if (o.has(r))
25
+ return o.get(r);
26
+ u(r, { strict: !1 });
27
+ const t = r.substring(2).toLowerCase(), s = f(d(t), { as: "Bytes" }), n = t.split("");
28
+ for (let e = 0; e < 40; e += 2)
29
+ s[e >> 1] >> 4 >= 8 && n[e] && (n[e] = n[e].toUpperCase()), (s[e >> 1] & 15) >= 8 && n[e + 1] && (n[e + 1] = n[e + 1].toUpperCase());
30
+ const a = `0x${n.join("")}`;
31
+ return o.set(r, a), a;
32
+ }
33
+ function k(r, t = {}) {
34
+ const { strict: s = !0 } = t ?? {};
35
+ try {
36
+ return u(r, { strict: s }), !0;
37
+ } catch {
38
+ return !1;
39
+ }
40
+ }
41
+ class i extends c {
42
+ constructor({ address: t, cause: s }) {
43
+ super(`Address "${t}" is invalid.`, {
44
+ cause: s
45
+ }), Object.defineProperty(this, "name", {
46
+ enumerable: !0,
47
+ configurable: !0,
48
+ writable: !0,
49
+ value: "Address.InvalidAddressError"
50
+ });
51
+ }
52
+ }
53
+ class h extends c {
54
+ constructor() {
55
+ super("Address is not a 20 byte (40 hexadecimal character) value."), Object.defineProperty(this, "name", {
56
+ enumerable: !0,
57
+ configurable: !0,
58
+ writable: !0,
59
+ value: "Address.InvalidInputError"
60
+ });
61
+ }
62
+ }
63
+ class p extends c {
64
+ constructor() {
65
+ super("Address does not match its checksum counterpart."), Object.defineProperty(this, "name", {
66
+ enumerable: !0,
67
+ configurable: !0,
68
+ writable: !0,
69
+ value: "Address.InvalidChecksumError"
70
+ });
71
+ }
4
72
  }
5
73
  export {
6
- e as getVersion
74
+ i as InvalidAddressError,
75
+ p as InvalidChecksumError,
76
+ h as InvalidInputError,
77
+ u as assert,
78
+ m as checksum,
79
+ k as validate
7
80
  };
package/dist/index352.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("./index349.cjs"),f=require("./index348.cjs"),d=require("./index278.cjs"),i=require("./index277.cjs"),y=require("./index353.cjs"),S=require("./index354.cjs"),g=require("./index282.cjs"),E=require("./index294.cjs"),$=require("./index286.cjs");function M(e,r,n={}){const{as:t="Array",checksumAddress:a=!1}=n,s=typeof r=="string"?f.fromHex(r):r,m=S.create(s);if(f.size(s)===0&&e.length>0)throw new P;if(f.size(s)&&f.size(s)<32)throw new A({data:typeof r=="string"?r:i.fromBytes(r),parameters:e,size:f.size(s)});let h=0;const c=t==="Array"?[]:{};for(let o=0;o<e.length;++o){const u=e[o];m.setPosition(h);const[l,z]=y.decodeParameter(m,u,{checksumAddress:a,staticPosition:0});h+=z,t==="Array"?c.push(l):c[u.name??o]=l}return c}function L(e,r,n){const{checksumAddress:t=!1}={};if(e.length!==r.length)throw new p({expectedLength:e.length,givenLength:r.length});const a=y.prepareParameters({checksumAddress:t,parameters:e,values:r}),s=y.encode(a);return s.length===0?"0x":s}function b(e,r){if(e.length!==r.length)throw new p({expectedLength:e.length,givenLength:r.length});const n=[];for(let t=0;t<e.length;t++){const a=e[t],s=r[t];n.push(b.encode(a,s))}return i.concat(...n)}(function(e){function r(n,t,a=!1){if(n==="address"){const c=t;return B.assert(c),i.padLeft(c.toLowerCase(),a?32:0)}if(n==="string")return i.fromString(t);if(n==="bytes")return t;if(n==="bool")return i.padLeft(i.fromBoolean(t),a?32:1);const s=n.match(g.integerRegex);if(s){const[c,o,u="256"]=s,l=Number.parseInt(u,10)/8;return i.fromNumber(t,{size:a?32:l,signed:o==="int"})}const m=n.match(g.bytesRegex);if(m){const[c,o]=m;if(Number.parseInt(o,10)!==(t.length-2)/2)throw new w({expectedSize:Number.parseInt(o,10),value:t});return i.padRight(t,a?32:0)}const h=n.match(g.arrayRegex);if(h&&Array.isArray(t)){const[c,o]=h,u=[];for(let l=0;l<t.length;l++)u.push(r(o,t[l],!0));return u.length===0?"0x":i.concat(...u)}throw new x(n)}e.encode=r})(b||(b={}));function v(e){return Array.isArray(e)&&typeof e[0]=="string"||typeof e=="string"?E.parseAbiParameters(e):e}class A extends d.BaseError{constructor({data:r,parameters:n,size:t}){super(`Data size of ${t} bytes is too small for given parameters.`,{metaMessages:[`Params: (${$.formatAbiParameters(n)})`,`Data: ${r} (${t} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class P extends d.BaseError{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class I extends d.BaseError{constructor({expectedLength:r,givenLength:n,type:t}){super(`Array length mismatch for type \`${t}\`. Expected: \`${r}\`. Given: \`${n}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class w extends d.BaseError{constructor({expectedSize:r,value:n}){super(`Size of bytes "${n}" (bytes${i.size(n)}) does not match expected size (bytes${r}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class p extends d.BaseError{constructor({expectedLength:r,givenLength:n}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${r}`,`Given length (values): ${n}`].join(`
2
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class T extends d.BaseError{constructor(r){super(`Value \`${r}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class x extends d.BaseError{constructor(r){super(`Type \`${r}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}exports.ArrayLengthMismatchError=I;exports.BytesSizeMismatchError=w;exports.DataSizeTooSmallError=A;exports.InvalidArrayError=T;exports.InvalidTypeError=x;exports.LengthMismatchError=p;exports.ZeroDataError=P;exports.decode=M;exports.encode=L;exports.encodePacked=b;exports.from=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index350.cjs"),x=require("./index351.cjs"),y=require("./index348.cjs"),U=require("./index278.cjs"),c=require("./index277.cjs"),V=require("./index282.cjs");function l(e,t,s){const{checksumAddress:n,staticPosition:o}=s,r=P(t.type);if(r){const[i,a]=r;return I(e,{...t,type:a},{checksumAddress:n,length:i,staticPosition:o})}if(t.type==="tuple")return k(e,t,{checksumAddress:n,staticPosition:o});if(t.type==="address")return C(e,{checksum:n});if(t.type==="bool")return L(e);if(t.type.startsWith("bytes"))return E(e,t,{staticPosition:o});if(t.type.startsWith("uint")||t.type.startsWith("int"))return W(e,t);if(t.type==="string")return O(e,{staticPosition:o});throw new g.InvalidTypeError(t.type)}const S=32,z=32;function C(e,t={}){const{checksum:s=!1}=t,n=e.readBytes(32);return[(r=>s?x.checksum(r):r)(c.fromBytes(y.slice(n,-20))),32]}function I(e,t,s){const{checksumAddress:n,length:o,staticPosition:r}=s;if(!o){const d=y.toNumber(e.readBytes(z)),f=r+d,u=f+S;e.setPosition(f);const m=y.toNumber(e.readBytes(S)),h=p(t);let b=0;const w=[];for(let N=0;N<m;++N){e.setPosition(u+(h?N*32:b));const[j,H]=l(e,t,{checksumAddress:n,staticPosition:u});b+=H,w.push(j)}return e.setPosition(r+32),[w,32]}if(p(t)){const d=y.toNumber(e.readBytes(z)),f=r+d,u=[];for(let m=0;m<o;++m){e.setPosition(f+m*32);const[h]=l(e,t,{checksumAddress:n,staticPosition:f});u.push(h)}return e.setPosition(r+32),[u,32]}let i=0;const a=[];for(let d=0;d<o;++d){const[f,u]=l(e,t,{checksumAddress:n,staticPosition:r+i});i+=u,a.push(f)}return[a,i]}function L(e){return[y.toBoolean(e.readBytes(32),{size:32}),32]}function E(e,t,{staticPosition:s}){const[n,o]=t.type.split("bytes");if(!o){const i=y.toNumber(e.readBytes(32));e.setPosition(s+i);const a=y.toNumber(e.readBytes(32));if(a===0)return e.setPosition(s+32),["0x",32];const d=e.readBytes(a);return e.setPosition(s+32),[c.fromBytes(d),32]}return[c.fromBytes(e.readBytes(Number.parseInt(o,10),32)),32]}function W(e,t){const s=t.type.startsWith("int"),n=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[n>48?y.toBigInt(o,{signed:s}):y.toNumber(o,{signed:s}),32]}function k(e,t,s){const{checksumAddress:n,staticPosition:o}=s,r=t.components.length===0||t.components.some(({name:d})=>!d),i=r?[]:{};let a=0;if(p(t)){const d=y.toNumber(e.readBytes(z)),f=o+d;for(let u=0;u<t.components.length;++u){const m=t.components[u];e.setPosition(f+a);const[h,b]=l(e,m,{checksumAddress:n,staticPosition:f});a+=b,i[r?u:m==null?void 0:m.name]=h}return e.setPosition(o+32),[i,32]}for(let d=0;d<t.components.length;++d){const f=t.components[d],[u,m]=l(e,f,{checksumAddress:n,staticPosition:o});i[r?d:f==null?void 0:f.name]=u,a+=m}return[i,a]}function O(e,{staticPosition:t}){const s=y.toNumber(e.readBytes(32)),n=t+s;e.setPosition(n);const o=y.toNumber(e.readBytes(32));if(o===0)return e.setPosition(t+32),["",32];const r=e.readBytes(o,32),i=y.toString(y.trimLeft(r));return e.setPosition(t+32),[i,32]}function F({checksumAddress:e,parameters:t,values:s}){const n=[];for(let o=0;o<t.length;o++)n.push(B({checksumAddress:e,parameter:t[o],value:s[o]}));return n}function B({checksumAddress:e=!1,parameter:t,value:s}){const n=t,o=P(n.type);if(o){const[r,i]=o;return _(s,{checksumAddress:e,length:r,parameter:{...n,type:i}})}if(n.type==="tuple")return D(s,{checksumAddress:e,parameter:n});if(n.type==="address")return T(s,{checksum:e});if(n.type==="bool")return R(s);if(n.type.startsWith("uint")||n.type.startsWith("int")){const r=n.type.startsWith("int"),[,,i="256"]=V.integerRegex.exec(n.type)??[];return M(s,{signed:r,size:Number(i)})}if(n.type.startsWith("bytes"))return q(s,{type:n.type});if(n.type==="string")return $(s);throw new g.InvalidTypeError(n.type)}function A(e){let t=0;for(let r=0;r<e.length;r++){const{dynamic:i,encoded:a}=e[r];i?t+=32:t+=c.size(a)}const s=[],n=[];let o=0;for(let r=0;r<e.length;r++){const{dynamic:i,encoded:a}=e[r];i?(s.push(c.fromNumber(t+o,{size:32})),n.push(a),o+=c.size(a)):s.push(a)}return c.concat(...s,...n)}function T(e,t){const{checksum:s=!1}=t;return x.assert(e,{strict:s}),{dynamic:!1,encoded:c.padLeft(e.toLowerCase())}}function _(e,t){const{checksumAddress:s,length:n,parameter:o}=t,r=n===null;if(!Array.isArray(e))throw new g.InvalidArrayError(e);if(!r&&e.length!==n)throw new g.ArrayLengthMismatchError({expectedLength:n,givenLength:e.length,type:`${o.type}[${n}]`});let i=!1;const a=[];for(let d=0;d<e.length;d++){const f=B({checksumAddress:s,parameter:o,value:e[d]});f.dynamic&&(i=!0),a.push(f)}if(r||i){const d=A(a);if(r){const f=c.fromNumber(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?c.concat(f,d):f}}if(i)return{dynamic:!0,encoded:d}}return{dynamic:!1,encoded:c.concat(...a.map(({encoded:d})=>d))}}function q(e,{type:t}){const[,s]=t.split("bytes"),n=c.size(e);if(!s){let o=e;return n%32!==0&&(o=c.padRight(o,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:c.concat(c.padLeft(c.fromNumber(n,{size:32})),o)}}if(n!==Number.parseInt(s,10))throw new g.BytesSizeMismatchError({expectedSize:Number.parseInt(s,10),value:e});return{dynamic:!1,encoded:c.padRight(e)}}function R(e){if(typeof e!="boolean")throw new U.BaseError(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:c.padLeft(c.fromBoolean(e))}}function M(e,{signed:t,size:s}){if(typeof s=="number"){const n=2n**(BigInt(s)-(t?1n:0n))-1n,o=t?-n-1n:0n;if(e>n||e<o)throw new c.IntegerOutOfRangeError({max:n.toString(),min:o.toString(),signed:t,size:s/8,value:e.toString()})}return{dynamic:!1,encoded:c.fromNumber(e,{size:32,signed:t})}}function $(e){const t=c.fromString(e),s=Math.ceil(c.size(t)/32),n=[];for(let o=0;o<s;o++)n.push(c.padRight(c.slice(t,o*32,(o+1)*32)));return{dynamic:!0,encoded:c.concat(c.padRight(c.fromNumber(c.size(t),{size:32})),...n)}}function D(e,t){const{checksumAddress:s,parameter:n}=t;let o=!1;const r=[];for(let i=0;i<n.components.length;i++){const a=n.components[i],d=Array.isArray(e)?i:a.name,f=B({checksumAddress:s,parameter:a,value:e[d]});r.push(f),f.dynamic&&(o=!0)}return{dynamic:o,encoded:o?A(r):c.concat(...r.map(({encoded:i})=>i))}}function P(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function p(e){var n;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(n=e.components)==null?void 0:n.some(p);const s=P(e.type);return!!(s&&p({...e,type:s[1]}))}exports.decodeAddress=C;exports.decodeArray=I;exports.decodeBool=L;exports.decodeBytes=E;exports.decodeNumber=W;exports.decodeParameter=l;exports.decodeString=O;exports.decodeTuple=k;exports.encode=A;exports.encodeAddress=T;exports.encodeArray=_;exports.encodeBoolean=R;exports.encodeBytes=q;exports.encodeNumber=M;exports.encodeString=$;exports.encodeTuple=D;exports.getArrayComponents=P;exports.hasDynamicChild=p;exports.prepareParameter=B;exports.prepareParameters=F;
package/dist/index352.js CHANGED
@@ -1,196 +1,346 @@
1
- import { assert as P } from "./index349.js";
2
- import { fromHex as w, size as h } from "./index348.js";
3
- import { BaseError as m } from "./index278.js";
4
- import { fromBytes as x, size as E, padLeft as b, fromString as $, fromBoolean as z, fromNumber as I, padRight as L, concat as p } from "./index277.js";
5
- import { prepareParameters as M, encode as v, decodeParameter as S } from "./index353.js";
6
- import { create as j } from "./index354.js";
7
- import { integerRegex as B, bytesRegex as T, arrayRegex as O } from "./index282.js";
8
- import { parseAbiParameters as g } from "./index294.js";
9
- import { formatAbiParameters as D } from "./index286.js";
10
- function Q(e, r, n = {}) {
11
- const { as: t = "Array", checksumAddress: a = !1 } = n, o = typeof r == "string" ? w(r) : r, l = j(o);
12
- if (h(o) === 0 && e.length > 0)
13
- throw new R();
14
- if (h(o) && h(o) < 32)
15
- throw new N({
16
- data: typeof r == "string" ? r : x(r),
17
- parameters: e,
18
- size: h(o)
1
+ import { InvalidTypeError as C, InvalidArrayError as _, ArrayLengthMismatchError as $, BytesSizeMismatchError as O } from "./index350.js";
2
+ import { checksum as M, assert as R } from "./index351.js";
3
+ import { toNumber as u, slice as T, toBoolean as D, toBigInt as U, toString as V, trimLeft as j } from "./index348.js";
4
+ import { BaseError as q } from "./index278.js";
5
+ import { size as h, fromNumber as B, concat as m, fromBytes as w, padLeft as S, fromBoolean as F, IntegerOutOfRangeError as G, padRight as b, fromString as H, slice as J } from "./index277.js";
6
+ import { integerRegex as K } from "./index282.js";
7
+ function p(t, e, o) {
8
+ const { checksumAddress: n, staticPosition: s } = o, i = I(e.type);
9
+ if (i) {
10
+ const [r, d] = i;
11
+ return X(t, { ...e, type: d }, { checksumAddress: n, length: r, staticPosition: s });
12
+ }
13
+ if (e.type === "tuple")
14
+ return tt(t, e, {
15
+ checksumAddress: n,
16
+ staticPosition: s
19
17
  });
20
- let f = 0;
21
- const i = t === "Array" ? [] : {};
22
- for (let s = 0; s < e.length; ++s) {
23
- const c = e[s];
24
- l.setPosition(f);
25
- const [u, A] = S(l, c, {
26
- checksumAddress: a,
27
- staticPosition: 0
18
+ if (e.type === "address")
19
+ return Q(t, { checksum: n });
20
+ if (e.type === "bool")
21
+ return Y(t);
22
+ if (e.type.startsWith("bytes"))
23
+ return Z(t, e, { staticPosition: s });
24
+ if (e.type.startsWith("uint") || e.type.startsWith("int"))
25
+ return v(t, e);
26
+ if (e.type === "string")
27
+ return et(t, { staticPosition: s });
28
+ throw new C(e.type);
29
+ }
30
+ const k = 32, A = 32;
31
+ function Q(t, e = {}) {
32
+ const { checksum: o = !1 } = e, n = t.readBytes(32);
33
+ return [((i) => o ? M(i) : i)(w(T(n, -20))), 32];
34
+ }
35
+ function X(t, e, o) {
36
+ const { checksumAddress: n, length: s, staticPosition: i } = o;
37
+ if (!s) {
38
+ const c = u(t.readBytes(A)), a = i + c, f = a + k;
39
+ t.setPosition(a);
40
+ const y = u(t.readBytes(k)), l = g(e);
41
+ let P = 0;
42
+ const N = [];
43
+ for (let z = 0; z < y; ++z) {
44
+ t.setPosition(f + (l ? z * 32 : P));
45
+ const [L, E] = p(t, e, {
46
+ checksumAddress: n,
47
+ staticPosition: f
48
+ });
49
+ P += E, N.push(L);
50
+ }
51
+ return t.setPosition(i + 32), [N, 32];
52
+ }
53
+ if (g(e)) {
54
+ const c = u(t.readBytes(A)), a = i + c, f = [];
55
+ for (let y = 0; y < s; ++y) {
56
+ t.setPosition(a + y * 32);
57
+ const [l] = p(t, e, {
58
+ checksumAddress: n,
59
+ staticPosition: a
60
+ });
61
+ f.push(l);
62
+ }
63
+ return t.setPosition(i + 32), [f, 32];
64
+ }
65
+ let r = 0;
66
+ const d = [];
67
+ for (let c = 0; c < s; ++c) {
68
+ const [a, f] = p(t, e, {
69
+ checksumAddress: n,
70
+ staticPosition: i + r
28
71
  });
29
- f += A, t === "Array" ? i.push(u) : i[c.name ?? s] = u;
72
+ r += f, d.push(a);
30
73
  }
31
- return i;
74
+ return [d, r];
32
75
  }
33
- function U(e, r, n) {
34
- const { checksumAddress: t = !1 } = {};
35
- if (e.length !== r.length)
36
- throw new y({
37
- expectedLength: e.length,
38
- givenLength: r.length
39
- });
40
- const a = M({
41
- checksumAddress: t,
42
- parameters: e,
43
- values: r
44
- }), o = v(a);
45
- return o.length === 0 ? "0x" : o;
46
- }
47
- function d(e, r) {
48
- if (e.length !== r.length)
49
- throw new y({
50
- expectedLength: e.length,
51
- givenLength: r.length
52
- });
53
- const n = [];
54
- for (let t = 0; t < e.length; t++) {
55
- const a = e[t], o = r[t];
56
- n.push(d.encode(a, o));
76
+ function Y(t) {
77
+ return [D(t.readBytes(32), { size: 32 }), 32];
78
+ }
79
+ function Z(t, e, { staticPosition: o }) {
80
+ const [n, s] = e.type.split("bytes");
81
+ if (!s) {
82
+ const r = u(t.readBytes(32));
83
+ t.setPosition(o + r);
84
+ const d = u(t.readBytes(32));
85
+ if (d === 0)
86
+ return t.setPosition(o + 32), ["0x", 32];
87
+ const c = t.readBytes(d);
88
+ return t.setPosition(o + 32), [w(c), 32];
57
89
  }
58
- return p(...n);
90
+ return [w(t.readBytes(Number.parseInt(s, 10), 32)), 32];
59
91
  }
60
- (function(e) {
61
- function r(n, t, a = !1) {
62
- if (n === "address") {
63
- const i = t;
64
- return P(i), b(i.toLowerCase(), a ? 32 : 0);
65
- }
66
- if (n === "string")
67
- return $(t);
68
- if (n === "bytes")
69
- return t;
70
- if (n === "bool")
71
- return b(z(t), a ? 32 : 1);
72
- const o = n.match(B);
73
- if (o) {
74
- const [i, s, c = "256"] = o, u = Number.parseInt(c, 10) / 8;
75
- return I(t, {
76
- size: a ? 32 : u,
77
- signed: s === "int"
92
+ function v(t, e) {
93
+ const o = e.type.startsWith("int"), n = Number.parseInt(e.type.split("int")[1] || "256", 10), s = t.readBytes(32);
94
+ return [
95
+ n > 48 ? U(s, { signed: o }) : u(s, { signed: o }),
96
+ 32
97
+ ];
98
+ }
99
+ function tt(t, e, o) {
100
+ const { checksumAddress: n, staticPosition: s } = o, i = e.components.length === 0 || e.components.some(({ name: c }) => !c), r = i ? [] : {};
101
+ let d = 0;
102
+ if (g(e)) {
103
+ const c = u(t.readBytes(A)), a = s + c;
104
+ for (let f = 0; f < e.components.length; ++f) {
105
+ const y = e.components[f];
106
+ t.setPosition(a + d);
107
+ const [l, P] = p(t, y, {
108
+ checksumAddress: n,
109
+ staticPosition: a
78
110
  });
111
+ d += P, r[i ? f : y == null ? void 0 : y.name] = l;
79
112
  }
80
- const l = n.match(T);
81
- if (l) {
82
- const [i, s] = l;
83
- if (Number.parseInt(s, 10) !== (t.length - 2) / 2)
84
- throw new _({
85
- expectedSize: Number.parseInt(s, 10),
86
- value: t
87
- });
88
- return L(t, a ? 32 : 0);
89
- }
90
- const f = n.match(O);
91
- if (f && Array.isArray(t)) {
92
- const [i, s] = f, c = [];
93
- for (let u = 0; u < t.length; u++)
94
- c.push(r(s, t[u], !0));
95
- return c.length === 0 ? "0x" : p(...c);
96
- }
97
- throw new k(n);
98
- }
99
- e.encode = r;
100
- })(d || (d = {}));
101
- function W(e) {
102
- return Array.isArray(e) && typeof e[0] == "string" ? g(e) : typeof e == "string" ? g(e) : e;
103
- }
104
- class N extends m {
105
- constructor({ data: r, parameters: n, size: t }) {
106
- super(`Data size of ${t} bytes is too small for given parameters.`, {
107
- metaMessages: [
108
- `Params: (${D(n)})`,
109
- `Data: ${r} (${t} bytes)`
110
- ]
111
- }), Object.defineProperty(this, "name", {
112
- enumerable: !0,
113
- configurable: !0,
114
- writable: !0,
115
- value: "AbiParameters.DataSizeTooSmallError"
113
+ return t.setPosition(s + 32), [r, 32];
114
+ }
115
+ for (let c = 0; c < e.components.length; ++c) {
116
+ const a = e.components[c], [f, y] = p(t, a, {
117
+ checksumAddress: n,
118
+ staticPosition: s
116
119
  });
120
+ r[i ? c : a == null ? void 0 : a.name] = f, d += y;
117
121
  }
122
+ return [r, d];
123
+ }
124
+ function et(t, { staticPosition: e }) {
125
+ const o = u(t.readBytes(32)), n = e + o;
126
+ t.setPosition(n);
127
+ const s = u(t.readBytes(32));
128
+ if (s === 0)
129
+ return t.setPosition(e + 32), ["", 32];
130
+ const i = t.readBytes(s, 32), r = V(j(i));
131
+ return t.setPosition(e + 32), [r, 32];
118
132
  }
119
- class R extends m {
120
- constructor() {
121
- super('Cannot decode zero data ("0x") with ABI parameters.'), Object.defineProperty(this, "name", {
122
- enumerable: !0,
123
- configurable: !0,
124
- writable: !0,
125
- value: "AbiParameters.ZeroDataError"
133
+ function pt({ checksumAddress: t, parameters: e, values: o }) {
134
+ const n = [];
135
+ for (let s = 0; s < e.length; s++)
136
+ n.push(x({
137
+ checksumAddress: t,
138
+ parameter: e[s],
139
+ value: o[s]
140
+ }));
141
+ return n;
142
+ }
143
+ function x({ checksumAddress: t = !1, parameter: e, value: o }) {
144
+ const n = e, s = I(n.type);
145
+ if (s) {
146
+ const [i, r] = s;
147
+ return st(o, {
148
+ checksumAddress: t,
149
+ length: i,
150
+ parameter: {
151
+ ...n,
152
+ type: r
153
+ }
126
154
  });
127
155
  }
128
- }
129
- class X extends m {
130
- constructor({ expectedLength: r, givenLength: n, type: t }) {
131
- super(`Array length mismatch for type \`${t}\`. Expected: \`${r}\`. Given: \`${n}\`.`), Object.defineProperty(this, "name", {
132
- enumerable: !0,
133
- configurable: !0,
134
- writable: !0,
135
- value: "AbiParameters.ArrayLengthMismatchError"
156
+ if (n.type === "tuple")
157
+ return dt(o, {
158
+ checksumAddress: t,
159
+ parameter: n
160
+ });
161
+ if (n.type === "address")
162
+ return nt(o, {
163
+ checksum: t
164
+ });
165
+ if (n.type === "bool")
166
+ return it(o);
167
+ if (n.type.startsWith("uint") || n.type.startsWith("int")) {
168
+ const i = n.type.startsWith("int"), [, , r = "256"] = K.exec(n.type) ?? [];
169
+ return rt(o, {
170
+ signed: i,
171
+ size: Number(r)
136
172
  });
137
173
  }
174
+ if (n.type.startsWith("bytes"))
175
+ return ot(o, { type: n.type });
176
+ if (n.type === "string")
177
+ return ct(o);
178
+ throw new C(n.type);
138
179
  }
139
- class _ extends m {
140
- constructor({ expectedSize: r, value: n }) {
141
- super(`Size of bytes "${n}" (bytes${E(n)}) does not match expected size (bytes${r}).`), Object.defineProperty(this, "name", {
142
- enumerable: !0,
143
- configurable: !0,
144
- writable: !0,
145
- value: "AbiParameters.BytesSizeMismatchError"
146
- });
180
+ function W(t) {
181
+ let e = 0;
182
+ for (let i = 0; i < t.length; i++) {
183
+ const { dynamic: r, encoded: d } = t[i];
184
+ r ? e += 32 : e += h(d);
185
+ }
186
+ const o = [], n = [];
187
+ let s = 0;
188
+ for (let i = 0; i < t.length; i++) {
189
+ const { dynamic: r, encoded: d } = t[i];
190
+ r ? (o.push(B(e + s, { size: 32 })), n.push(d), s += h(d)) : o.push(d);
147
191
  }
192
+ return m(...o, ...n);
148
193
  }
149
- class y extends m {
150
- constructor({ expectedLength: r, givenLength: n }) {
151
- super([
152
- "ABI encoding parameters/values length mismatch.",
153
- `Expected length (parameters): ${r}`,
154
- `Given length (values): ${n}`
155
- ].join(`
156
- `)), Object.defineProperty(this, "name", {
157
- enumerable: !0,
158
- configurable: !0,
159
- writable: !0,
160
- value: "AbiParameters.LengthMismatchError"
194
+ function nt(t, e) {
195
+ const { checksum: o = !1 } = e;
196
+ return R(t, { strict: o }), {
197
+ dynamic: !1,
198
+ encoded: S(t.toLowerCase())
199
+ };
200
+ }
201
+ function st(t, e) {
202
+ const { checksumAddress: o, length: n, parameter: s } = e, i = n === null;
203
+ if (!Array.isArray(t))
204
+ throw new _(t);
205
+ if (!i && t.length !== n)
206
+ throw new $({
207
+ expectedLength: n,
208
+ givenLength: t.length,
209
+ type: `${s.type}[${n}]`
210
+ });
211
+ let r = !1;
212
+ const d = [];
213
+ for (let c = 0; c < t.length; c++) {
214
+ const a = x({
215
+ checksumAddress: o,
216
+ parameter: s,
217
+ value: t[c]
161
218
  });
219
+ a.dynamic && (r = !0), d.push(a);
162
220
  }
221
+ if (i || r) {
222
+ const c = W(d);
223
+ if (i) {
224
+ const a = B(d.length, { size: 32 });
225
+ return {
226
+ dynamic: !0,
227
+ encoded: d.length > 0 ? m(a, c) : a
228
+ };
229
+ }
230
+ if (r)
231
+ return { dynamic: !0, encoded: c };
232
+ }
233
+ return {
234
+ dynamic: !1,
235
+ encoded: m(...d.map(({ encoded: c }) => c))
236
+ };
163
237
  }
164
- class Y extends m {
165
- constructor(r) {
166
- super(`Value \`${r}\` is not a valid array.`), Object.defineProperty(this, "name", {
167
- enumerable: !0,
168
- configurable: !0,
169
- writable: !0,
170
- value: "AbiParameters.InvalidArrayError"
238
+ function ot(t, { type: e }) {
239
+ const [, o] = e.split("bytes"), n = h(t);
240
+ if (!o) {
241
+ let s = t;
242
+ return n % 32 !== 0 && (s = b(s, Math.ceil((t.length - 2) / 2 / 32) * 32)), {
243
+ dynamic: !0,
244
+ encoded: m(S(B(n, { size: 32 })), s)
245
+ };
246
+ }
247
+ if (n !== Number.parseInt(o, 10))
248
+ throw new O({
249
+ expectedSize: Number.parseInt(o, 10),
250
+ value: t
171
251
  });
252
+ return { dynamic: !1, encoded: b(t) };
253
+ }
254
+ function it(t) {
255
+ if (typeof t != "boolean")
256
+ throw new q(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);
257
+ return { dynamic: !1, encoded: S(F(t)) };
258
+ }
259
+ function rt(t, { signed: e, size: o }) {
260
+ if (typeof o == "number") {
261
+ const n = 2n ** (BigInt(o) - (e ? 1n : 0n)) - 1n, s = e ? -n - 1n : 0n;
262
+ if (t > n || t < s)
263
+ throw new G({
264
+ max: n.toString(),
265
+ min: s.toString(),
266
+ signed: e,
267
+ size: o / 8,
268
+ value: t.toString()
269
+ });
172
270
  }
271
+ return {
272
+ dynamic: !1,
273
+ encoded: B(t, {
274
+ size: 32,
275
+ signed: e
276
+ })
277
+ };
278
+ }
279
+ function ct(t) {
280
+ const e = H(t), o = Math.ceil(h(e) / 32), n = [];
281
+ for (let s = 0; s < o; s++)
282
+ n.push(b(J(e, s * 32, (s + 1) * 32)));
283
+ return {
284
+ dynamic: !0,
285
+ encoded: m(b(B(h(e), { size: 32 })), ...n)
286
+ };
173
287
  }
174
- class k extends m {
175
- constructor(r) {
176
- super(`Type \`${r}\` is not a valid ABI Type.`), Object.defineProperty(this, "name", {
177
- enumerable: !0,
178
- configurable: !0,
179
- writable: !0,
180
- value: "AbiParameters.InvalidTypeError"
288
+ function dt(t, e) {
289
+ const { checksumAddress: o, parameter: n } = e;
290
+ let s = !1;
291
+ const i = [];
292
+ for (let r = 0; r < n.components.length; r++) {
293
+ const d = n.components[r], c = Array.isArray(t) ? r : d.name, a = x({
294
+ checksumAddress: o,
295
+ parameter: d,
296
+ value: t[c]
181
297
  });
298
+ i.push(a), a.dynamic && (s = !0);
182
299
  }
300
+ return {
301
+ dynamic: s,
302
+ encoded: s ? W(i) : m(...i.map(({ encoded: r }) => r))
303
+ };
304
+ }
305
+ function I(t) {
306
+ const e = t.match(/^(.*)\[(\d+)?\]$/);
307
+ return e ? (
308
+ // Return `null` if the array is dynamic.
309
+ [e[2] ? Number(e[2]) : null, e[1]]
310
+ ) : void 0;
311
+ }
312
+ function g(t) {
313
+ var n;
314
+ const { type: e } = t;
315
+ if (e === "string" || e === "bytes" || e.endsWith("[]"))
316
+ return !0;
317
+ if (e === "tuple")
318
+ return (n = t.components) == null ? void 0 : n.some(g);
319
+ const o = I(t.type);
320
+ return !!(o && g({
321
+ ...t,
322
+ type: o[1]
323
+ }));
183
324
  }
184
325
  export {
185
- X as ArrayLengthMismatchError,
186
- _ as BytesSizeMismatchError,
187
- N as DataSizeTooSmallError,
188
- Y as InvalidArrayError,
189
- k as InvalidTypeError,
190
- y as LengthMismatchError,
191
- R as ZeroDataError,
192
- Q as decode,
193
- U as encode,
194
- d as encodePacked,
195
- W as from
326
+ Q as decodeAddress,
327
+ X as decodeArray,
328
+ Y as decodeBool,
329
+ Z as decodeBytes,
330
+ v as decodeNumber,
331
+ p as decodeParameter,
332
+ et as decodeString,
333
+ tt as decodeTuple,
334
+ W as encode,
335
+ nt as encodeAddress,
336
+ st as encodeArray,
337
+ it as encodeBoolean,
338
+ ot as encodeBytes,
339
+ rt as encodeNumber,
340
+ ct as encodeString,
341
+ dt as encodeTuple,
342
+ I as getArrayComponents,
343
+ g as hasDynamicChild,
344
+ x as prepareParameter,
345
+ pt as prepareParameters
196
346
  };