@coinbase/cdp-hooks 0.0.49 → 0.0.51

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 (280) hide show
  1. package/README.md +238 -0
  2. package/dist/esm/index.js +38 -28
  3. package/dist/esm/index10.js +4 -11
  4. package/dist/esm/index100.js +5 -451
  5. package/dist/esm/index101.js +28 -23
  6. package/dist/esm/index102.js +67 -18
  7. package/dist/esm/index103.js +3 -34
  8. package/dist/esm/index104.js +21 -32
  9. package/dist/esm/index105.js +370 -112
  10. package/dist/esm/index106.js +28 -6
  11. package/dist/esm/index107.js +27 -2
  12. package/dist/esm/index108.js +29 -8
  13. package/dist/esm/index109.js +33 -17
  14. package/dist/esm/index11.js +10 -54
  15. package/dist/esm/index110.js +184 -18
  16. package/dist/esm/index111.js +8 -8
  17. package/dist/esm/index112.js +2 -56
  18. package/dist/esm/index113.js +10 -43
  19. package/dist/esm/index114.js +18 -8
  20. package/dist/esm/index115.js +27 -7
  21. package/dist/esm/index116.js +8 -16
  22. package/dist/esm/index117.js +53 -16
  23. package/dist/esm/index118.js +45 -24
  24. package/dist/esm/index119.js +8 -16
  25. package/dist/esm/index12.js +34 -58
  26. package/dist/esm/index120.js +7 -54
  27. package/dist/esm/index121.js +16 -11
  28. package/dist/esm/index122.js +18 -160
  29. package/dist/esm/index123.js +24 -21
  30. package/dist/esm/index124.js +16 -127
  31. package/dist/esm/index125.js +53 -37
  32. package/dist/esm/index126.js +11 -6
  33. package/dist/esm/index127.js +160 -27
  34. package/dist/esm/index128.js +21 -191
  35. package/dist/esm/index129.js +128 -4
  36. package/dist/esm/index13.js +18 -56
  37. package/dist/esm/index130.js +36 -62
  38. package/dist/esm/index131.js +7 -3
  39. package/dist/esm/index132.js +25 -18
  40. package/dist/esm/index133.js +188 -13
  41. package/dist/esm/index134.js +4 -24
  42. package/dist/esm/index135.js +64 -11
  43. package/dist/esm/index136.js +3 -35
  44. package/dist/esm/index137.js +21 -3
  45. package/dist/esm/index138.js +15 -17
  46. package/dist/esm/index139.js +22 -26
  47. package/dist/esm/index14.js +11 -32
  48. package/dist/esm/index140.js +11 -35
  49. package/dist/esm/index141.js +34 -7
  50. package/dist/esm/index142.js +3 -26
  51. package/dist/esm/index143.js +18 -28
  52. package/dist/esm/index144.js +26 -63
  53. package/dist/esm/index145.js +35 -9
  54. package/dist/esm/index146.js +7 -33
  55. package/dist/esm/index147.js +24 -26
  56. package/dist/esm/index148.js +28 -24
  57. package/dist/esm/index149.js +64 -3
  58. package/dist/esm/index15.js +11 -3
  59. package/dist/esm/index150.js +9 -14
  60. package/dist/esm/index151.js +31 -101
  61. package/dist/esm/index152.js +26 -63
  62. package/dist/esm/index153.js +24 -5
  63. package/dist/esm/index154.js +3 -6
  64. package/dist/esm/index155.js +14 -27
  65. package/dist/esm/index156.js +103 -39
  66. package/dist/esm/index157.js +64 -13
  67. package/dist/esm/index158.js +5 -42
  68. package/dist/esm/index159.js +6 -5
  69. package/dist/esm/index16.js +54 -10
  70. package/dist/esm/index160.js +27 -11
  71. package/dist/esm/index161.js +39 -19
  72. package/dist/esm/index162.js +13 -78
  73. package/dist/esm/index163.js +43 -2
  74. package/dist/esm/index164.js +5 -37
  75. package/dist/esm/index165.js +11 -110
  76. package/dist/esm/index166.js +19 -48
  77. package/dist/esm/index167.js +76 -30
  78. package/dist/esm/index168.js +2 -9
  79. package/dist/esm/index169.js +37 -6
  80. package/dist/esm/index17.js +56 -67
  81. package/dist/esm/index170.js +110 -6
  82. package/dist/esm/index171.js +48 -11
  83. package/dist/esm/index172.js +31 -9
  84. package/dist/esm/index173.js +8 -13
  85. package/dist/esm/index174.js +6 -32
  86. package/dist/esm/index175.js +7 -5
  87. package/dist/esm/index176.js +11 -8
  88. package/dist/esm/index177.js +10 -19
  89. package/dist/esm/index178.js +13 -31
  90. package/dist/esm/index179.js +31 -19
  91. package/dist/esm/index18.js +56 -10
  92. package/dist/esm/index180.js +5 -4
  93. package/dist/esm/index181.js +8 -17
  94. package/dist/esm/index182.js +19 -10
  95. package/dist/esm/index183.js +30 -20
  96. package/dist/esm/index184.js +19 -21
  97. package/dist/esm/index185.js +3 -5
  98. package/dist/esm/index186.js +17 -5
  99. package/dist/esm/index187.js +10 -8
  100. package/dist/esm/index188.js +18 -101
  101. package/dist/esm/index189.js +23 -3
  102. package/dist/esm/index19.js +31 -27
  103. package/dist/esm/index190.js +4 -17
  104. package/dist/esm/index191.js +5 -171
  105. package/dist/esm/index192.js +8 -17
  106. package/dist/esm/index193.js +105 -10
  107. package/dist/esm/index194.js +3 -41
  108. package/dist/esm/index195.js +19 -2
  109. package/dist/esm/index196.js +171 -4
  110. package/dist/esm/index197.js +16 -9
  111. package/dist/esm/index198.js +10 -20
  112. package/dist/esm/index199.js +40 -7
  113. package/dist/esm/index20.js +3 -70
  114. package/dist/esm/index200.js +2 -12
  115. package/dist/esm/index201.js +4 -66
  116. package/dist/esm/index202.js +9 -64
  117. package/dist/esm/index203.js +17 -183
  118. package/dist/esm/index204.js +7 -22
  119. package/dist/esm/index205.js +10 -41
  120. package/dist/esm/index206.js +62 -72
  121. package/dist/esm/index207.js +61 -36
  122. package/dist/esm/index208.js +184 -15
  123. package/dist/esm/index209.js +21 -12
  124. package/dist/esm/index21.js +9 -19
  125. package/dist/esm/index210.js +42 -36
  126. package/dist/esm/index211.js +76 -15
  127. package/dist/esm/index212.js +40 -8
  128. package/dist/esm/index213.js +16 -12
  129. package/dist/esm/index214.js +13 -7
  130. package/dist/esm/index215.js +7 -6
  131. package/dist/esm/index216.js +6 -9
  132. package/dist/esm/index217.js +36 -16
  133. package/dist/esm/index218.js +15 -22
  134. package/dist/esm/index219.js +7 -29
  135. package/dist/esm/index22.js +68 -110
  136. package/dist/esm/index220.js +13 -2
  137. package/dist/esm/index221.js +9 -13
  138. package/dist/esm/index222.js +15 -11
  139. package/dist/esm/index223.js +20 -45
  140. package/dist/esm/index224.js +30 -9
  141. package/dist/esm/index225.js +2 -14
  142. package/dist/esm/index226.js +13 -14
  143. package/dist/esm/index227.js +12 -8
  144. package/dist/esm/index228.js +46 -14
  145. package/dist/esm/index229.js +8 -23
  146. package/dist/esm/index23.js +7 -58
  147. package/dist/esm/index230.js +13 -11
  148. package/dist/esm/index231.js +14 -24
  149. package/dist/esm/index232.js +8 -51
  150. package/dist/esm/index233.js +13 -15
  151. package/dist/esm/index234.js +24 -14
  152. package/dist/esm/index235.js +11 -11
  153. package/dist/esm/index236.js +24 -103
  154. package/dist/esm/index237.js +51 -6
  155. package/dist/esm/index238.js +16 -223
  156. package/dist/esm/index239.js +14 -6
  157. package/dist/esm/index24.js +27 -23
  158. package/dist/esm/index240.js +12 -7
  159. package/dist/esm/index241.js +101 -24
  160. package/dist/esm/index242.js +6 -19
  161. package/dist/esm/index243.js +219 -141
  162. package/dist/esm/index244.js +7 -13
  163. package/dist/esm/index245.js +6 -35
  164. package/dist/esm/index246.js +26 -41
  165. package/dist/esm/index247.js +19 -68
  166. package/dist/esm/index248.js +146 -3
  167. package/dist/esm/index249.js +12 -136
  168. package/dist/esm/index25.js +70 -40
  169. package/dist/esm/index250.js +36 -156
  170. package/dist/esm/index251.js +41 -9
  171. package/dist/esm/index252.js +68 -16
  172. package/dist/esm/index253.js +3 -113
  173. package/dist/esm/index254.js +124 -122
  174. package/dist/esm/index255.js +149 -72
  175. package/dist/esm/index256.js +10 -2
  176. package/dist/esm/index257.js +16 -698
  177. package/dist/esm/index258.js +104 -130
  178. package/dist/esm/index259.js +127 -35
  179. package/dist/esm/index26.js +19 -37
  180. package/dist/esm/index260.js +71 -194
  181. package/dist/esm/index261.js +2 -66
  182. package/dist/esm/index262.js +698 -4
  183. package/dist/esm/index263.js +139 -40
  184. package/dist/esm/index264.js +42 -7
  185. package/dist/esm/index265.js +194 -55
  186. package/dist/esm/index266.js +55 -67
  187. package/dist/esm/index267.js +5 -4
  188. package/dist/esm/index268.js +40 -194
  189. package/dist/esm/index269.js +7 -63
  190. package/dist/esm/index27.js +110 -58
  191. package/dist/esm/index270.js +59 -41
  192. package/dist/esm/index271.js +77 -4
  193. package/dist/esm/index272.js +4 -5
  194. package/dist/esm/index273.js +195 -2
  195. package/dist/esm/index274.js +58 -16
  196. package/dist/esm/index275.js +47 -0
  197. package/dist/esm/index276.js +7 -0
  198. package/dist/esm/index277.js +7 -0
  199. package/dist/esm/index278.js +4 -0
  200. package/dist/esm/index279.js +24 -0
  201. package/dist/esm/index28.js +57 -160
  202. package/dist/esm/index29.js +21 -36
  203. package/dist/esm/index3.js +27 -27
  204. package/dist/esm/index30.js +40 -9
  205. package/dist/esm/index31.js +34 -28
  206. package/dist/esm/index32.js +58 -36
  207. package/dist/esm/index33.js +162 -8
  208. package/dist/esm/index34.js +35 -25
  209. package/dist/esm/index35.js +9 -46
  210. package/dist/esm/index36.js +31 -88
  211. package/dist/esm/index37.js +36 -40
  212. package/dist/esm/index38.js +8 -7
  213. package/dist/esm/index39.js +28 -5
  214. package/dist/esm/index4.js +1 -1
  215. package/dist/esm/index40.js +46 -16
  216. package/dist/esm/index41.js +88 -8
  217. package/dist/esm/index42.js +40 -13
  218. package/dist/esm/index43.js +8 -7
  219. package/dist/esm/index44.js +6 -9
  220. package/dist/esm/index45.js +16 -16
  221. package/dist/esm/index46.js +8 -46
  222. package/dist/esm/index47.js +13 -13
  223. package/dist/esm/index48.js +7 -16
  224. package/dist/esm/index49.js +9 -13
  225. package/dist/esm/index50.js +15 -5
  226. package/dist/esm/index51.js +46 -35
  227. package/dist/esm/index52.js +13 -9
  228. package/dist/esm/index53.js +15 -7
  229. package/dist/esm/index54.js +13 -25
  230. package/dist/esm/index55.js +6 -10
  231. package/dist/esm/index56.js +32 -11
  232. package/dist/esm/index57.js +9 -11
  233. package/dist/esm/index58.js +8 -116
  234. package/dist/esm/index59.js +24 -32
  235. package/dist/esm/index6.js +1 -1
  236. package/dist/esm/index60.js +10 -79
  237. package/dist/esm/index61.js +13 -176
  238. package/dist/esm/index62.js +11 -44
  239. package/dist/esm/index63.js +116 -6
  240. package/dist/esm/index64.js +32 -12
  241. package/dist/esm/index65.js +79 -13
  242. package/dist/esm/index66.js +173 -95
  243. package/dist/esm/index67.js +42 -70
  244. package/dist/esm/index68.js +6 -87
  245. package/dist/esm/index69.js +13 -148
  246. package/dist/esm/index7.js +9 -34
  247. package/dist/esm/index70.js +13 -136
  248. package/dist/esm/index71.js +94 -63
  249. package/dist/esm/index72.js +72 -23
  250. package/dist/esm/index73.js +83 -101
  251. package/dist/esm/index74.js +148 -6
  252. package/dist/esm/index75.js +133 -128
  253. package/dist/esm/index76.js +66 -273
  254. package/dist/esm/index77.js +24 -3
  255. package/dist/esm/index78.js +106 -4
  256. package/dist/esm/index79.js +7 -9
  257. package/dist/esm/index8.js +9 -18
  258. package/dist/esm/index80.js +132 -2
  259. package/dist/esm/index81.js +276 -2
  260. package/dist/esm/index82.js +3 -3
  261. package/dist/esm/index83.js +4 -327
  262. package/dist/esm/index84.js +9 -14
  263. package/dist/esm/index85.js +2 -5
  264. package/dist/esm/index86.js +2 -56
  265. package/dist/esm/index87.js +3 -2
  266. package/dist/esm/index88.js +325 -6
  267. package/dist/esm/index89.js +11 -212
  268. package/dist/esm/index9.js +4 -11
  269. package/dist/esm/index90.js +5 -32
  270. package/dist/esm/index91.js +55 -21
  271. package/dist/esm/index92.js +2 -6
  272. package/dist/esm/index93.js +6 -72
  273. package/dist/esm/index94.js +214 -5
  274. package/dist/esm/index95.js +32 -6
  275. package/dist/esm/index96.js +20 -34
  276. package/dist/esm/index97.js +5 -75
  277. package/dist/esm/index98.js +74 -3
  278. package/dist/esm/index99.js +5 -23
  279. package/dist/types/index.d.ts +25 -0
  280. package/package.json +3 -3
@@ -1,6 +1,130 @@
1
- import { slice as t } from "./index125.js";
2
- import { toSignatureHash as r } from "./index185.js";
3
- const c = (o) => t(r(o), 0, 4);
1
+ import { NegativeOffsetError as o, PositionOutOfBoundsError as e, RecursiveReadLimitExceededError as n } from "./index137.js";
2
+ const h = {
3
+ bytes: new Uint8Array(),
4
+ dataView: new DataView(new ArrayBuffer(0)),
5
+ position: 0,
6
+ positionReadCount: /* @__PURE__ */ new Map(),
7
+ recursiveReadCount: 0,
8
+ recursiveReadLimit: Number.POSITIVE_INFINITY,
9
+ assertReadLimit() {
10
+ if (this.recursiveReadCount >= this.recursiveReadLimit)
11
+ throw new n({
12
+ count: this.recursiveReadCount + 1,
13
+ limit: this.recursiveReadLimit
14
+ });
15
+ },
16
+ assertPosition(t) {
17
+ if (t < 0 || t > this.bytes.length - 1)
18
+ throw new e({
19
+ length: this.bytes.length,
20
+ position: t
21
+ });
22
+ },
23
+ decrementPosition(t) {
24
+ if (t < 0)
25
+ throw new o({ offset: t });
26
+ const i = this.position - t;
27
+ this.assertPosition(i), this.position = i;
28
+ },
29
+ getReadCount(t) {
30
+ return this.positionReadCount.get(t || this.position) || 0;
31
+ },
32
+ incrementPosition(t) {
33
+ if (t < 0)
34
+ throw new o({ offset: t });
35
+ const i = this.position + t;
36
+ this.assertPosition(i), this.position = i;
37
+ },
38
+ inspectByte(t) {
39
+ const i = t ?? this.position;
40
+ return this.assertPosition(i), this.bytes[i];
41
+ },
42
+ inspectBytes(t, i) {
43
+ const s = i ?? this.position;
44
+ return this.assertPosition(s + t - 1), this.bytes.subarray(s, s + t);
45
+ },
46
+ inspectUint8(t) {
47
+ const i = t ?? this.position;
48
+ return this.assertPosition(i), this.bytes[i];
49
+ },
50
+ inspectUint16(t) {
51
+ const i = t ?? this.position;
52
+ return this.assertPosition(i + 1), this.dataView.getUint16(i);
53
+ },
54
+ inspectUint24(t) {
55
+ const i = t ?? this.position;
56
+ return this.assertPosition(i + 2), (this.dataView.getUint16(i) << 8) + this.dataView.getUint8(i + 2);
57
+ },
58
+ inspectUint32(t) {
59
+ const i = t ?? this.position;
60
+ return this.assertPosition(i + 3), this.dataView.getUint32(i);
61
+ },
62
+ pushByte(t) {
63
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
64
+ },
65
+ pushBytes(t) {
66
+ this.assertPosition(this.position + t.length - 1), this.bytes.set(t, this.position), this.position += t.length;
67
+ },
68
+ pushUint8(t) {
69
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
70
+ },
71
+ pushUint16(t) {
72
+ this.assertPosition(this.position + 1), this.dataView.setUint16(this.position, t), this.position += 2;
73
+ },
74
+ pushUint24(t) {
75
+ this.assertPosition(this.position + 2), this.dataView.setUint16(this.position, t >> 8), this.dataView.setUint8(this.position + 2, t & 255), this.position += 3;
76
+ },
77
+ pushUint32(t) {
78
+ this.assertPosition(this.position + 3), this.dataView.setUint32(this.position, t), this.position += 4;
79
+ },
80
+ readByte() {
81
+ this.assertReadLimit(), this._touch();
82
+ const t = this.inspectByte();
83
+ return this.position++, t;
84
+ },
85
+ readBytes(t, i) {
86
+ this.assertReadLimit(), this._touch();
87
+ const s = this.inspectBytes(t);
88
+ return this.position += i ?? t, s;
89
+ },
90
+ readUint8() {
91
+ this.assertReadLimit(), this._touch();
92
+ const t = this.inspectUint8();
93
+ return this.position += 1, t;
94
+ },
95
+ readUint16() {
96
+ this.assertReadLimit(), this._touch();
97
+ const t = this.inspectUint16();
98
+ return this.position += 2, t;
99
+ },
100
+ readUint24() {
101
+ this.assertReadLimit(), this._touch();
102
+ const t = this.inspectUint24();
103
+ return this.position += 3, t;
104
+ },
105
+ readUint32() {
106
+ this.assertReadLimit(), this._touch();
107
+ const t = this.inspectUint32();
108
+ return this.position += 4, t;
109
+ },
110
+ get remaining() {
111
+ return this.bytes.length - this.position;
112
+ },
113
+ setPosition(t) {
114
+ const i = this.position;
115
+ return this.assertPosition(t), this.position = t, () => this.position = i;
116
+ },
117
+ _touch() {
118
+ if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)
119
+ return;
120
+ const t = this.getReadCount();
121
+ this.positionReadCount.set(this.position, t + 1), t > 0 && this.recursiveReadCount++;
122
+ }
123
+ };
124
+ function a(t, { recursiveReadLimit: i = 8192 } = {}) {
125
+ const s = Object.create(h);
126
+ return s.bytes = t, s.dataView = new DataView(t.buffer, t.byteOffset, t.byteLength), s.positionReadCount = /* @__PURE__ */ new Map(), s.recursiveReadLimit = i, s;
127
+ }
4
128
  export {
5
- c as toFunctionSelector
129
+ a as createCursor
6
130
  };
@@ -1,58 +1,20 @@
1
- import { chainConfig as a } from "./index193.js";
2
- import { defineChain as t } from "./index176.js";
3
- const e = 11155111, r = /* @__PURE__ */ t({
4
- ...a,
5
- id: 84532,
6
- network: "base-sepolia",
7
- name: "Base Sepolia",
8
- nativeCurrency: { name: "Sepolia Ether", symbol: "ETH", decimals: 18 },
9
- rpcUrls: {
10
- default: {
11
- http: ["https://sepolia.base.org"]
12
- }
13
- },
14
- blockExplorers: {
15
- default: {
16
- name: "Basescan",
17
- url: "https://sepolia.basescan.org",
18
- apiUrl: "https://api-sepolia.basescan.org/api"
19
- }
20
- },
21
- contracts: {
22
- ...a.contracts,
23
- disputeGameFactory: {
24
- [e]: {
25
- address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"
26
- }
27
- },
28
- l2OutputOracle: {
29
- [e]: {
30
- address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"
31
- }
32
- },
33
- portal: {
34
- [e]: {
35
- address: "0x49f53e41452c74589e85ca1677426ba426459e85",
36
- blockCreated: 4446677
37
- }
38
- },
39
- l1StandardBridge: {
40
- [e]: {
41
- address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120",
42
- blockCreated: 4446677
43
- }
44
- },
45
- multicall3: {
46
- address: "0xca11bde05977b3631167028862be2a173976ca11",
47
- blockCreated: 1059647
48
- }
49
- },
50
- testnet: !0,
51
- sourceId: e
52
- });
53
- ({
54
- ...r
55
- });
1
+ import { createPublicClient as o } from "./index15.js";
2
+ import { base as e } from "./index16.js";
3
+ import { http as i } from "./index17.js";
4
+ import { baseSepolia as p } from "./index18.js";
5
+ const b = (r, t) => {
6
+ if (r === "base")
7
+ return o({
8
+ chain: e,
9
+ transport: t.transports?.[e.id] ?? i()
10
+ });
11
+ if (r === "base-sepolia")
12
+ return o({
13
+ chain: p,
14
+ transport: t.transports?.[p.id] ?? i()
15
+ });
16
+ throw new Error(`Unsupported network: ${r}`);
17
+ };
56
18
  export {
57
- r as baseSepolia
19
+ b as getPublicClient
58
20
  };
@@ -1,67 +1,41 @@
1
- import { AbiEventSignatureEmptyTopicsError as A, AbiEventSignatureNotFoundError as x, DecodeLogTopicsMismatch as D, AbiDecodingDataSizeTooSmallError as I, DecodeLogDataMismatch as h } from "./index83.js";
2
- import { size as S } from "./index85.js";
3
- import { toEventSelector as T } from "./index131.js";
4
- import { PositionOutOfBoundsError as z } from "./index132.js";
5
- import { decodeAbiParameters as w } from "./index122.js";
6
- import { formatAbiItem as L } from "./index84.js";
7
- const l = "/docs/contract/decodeEventLog";
8
- function U(n) {
9
- const { abi: c, data: i, strict: E, topics: b } = n, m = E ?? !0, [a, ...v] = b;
10
- if (!a)
11
- throw new A({ docsPath: l });
12
- const o = c.find((e) => e.type === "event" && a === T(L(e)));
13
- if (!(o && "name" in o) || o.type !== "event")
14
- throw new x(a, { docsPath: l });
15
- const { name: y, inputs: d } = o, f = d?.some((e) => !("name" in e && e.name)), r = f ? [] : {}, p = d.map((e, t) => [e, t]).filter(([e]) => "indexed" in e && e.indexed);
16
- for (let e = 0; e < p.length; e++) {
17
- const [t, g] = p[e], u = v[e];
18
- if (!u)
19
- throw new D({
20
- abiItem: o,
21
- param: t
22
- });
23
- r[f ? g : t.name || g] = O({
24
- param: t,
25
- value: u
1
+ import { SliceOffsetOutOfBoundsError as t } from "./index114.js";
2
+ import { isHex as p } from "./index154.js";
3
+ import { size as r } from "./index90.js";
4
+ function w(e, f, i, { strict: o } = {}) {
5
+ return p(e, { strict: !1 }) ? u(e, f, i, {
6
+ strict: o
7
+ }) : m(e, f, i, {
8
+ strict: o
9
+ });
10
+ }
11
+ function s(e, f) {
12
+ if (typeof f == "number" && f > 0 && f > r(e) - 1)
13
+ throw new t({
14
+ offset: f,
15
+ position: "start",
16
+ size: r(e)
17
+ });
18
+ }
19
+ function c(e, f, i) {
20
+ if (typeof f == "number" && typeof i == "number" && r(e) !== i - f)
21
+ throw new t({
22
+ offset: i,
23
+ position: "end",
24
+ size: r(e)
26
25
  });
27
- }
28
- const s = d.filter((e) => !("indexed" in e && e.indexed));
29
- if (s.length > 0) {
30
- if (i && i !== "0x")
31
- try {
32
- const e = w(s, i);
33
- if (e)
34
- if (f)
35
- for (let t = 0; t < d.length; t++)
36
- r[t] = r[t] ?? e.shift();
37
- else
38
- for (let t = 0; t < s.length; t++)
39
- r[s[t].name] = e[t];
40
- } catch (e) {
41
- if (m)
42
- throw e instanceof I || e instanceof z ? new h({
43
- abiItem: o,
44
- data: i,
45
- params: s,
46
- size: S(i)
47
- }) : e;
48
- }
49
- else if (m)
50
- throw new h({
51
- abiItem: o,
52
- data: "0x",
53
- params: s,
54
- size: 0
55
- });
56
- }
57
- return {
58
- eventName: y,
59
- args: Object.values(r).length > 0 ? r : void 0
60
- };
61
26
  }
62
- function O({ param: n, value: c }) {
63
- return n.type === "string" || n.type === "bytes" || n.type === "tuple" || n.type.match(/^(.*)\[(\d+)?\]$/) ? c : (w([n], c) || [])[0];
27
+ function m(e, f, i, { strict: o } = {}) {
28
+ s(e, f);
29
+ const n = e.slice(f, i);
30
+ return o && c(n, f, i), n;
31
+ }
32
+ function u(e, f, i, { strict: o } = {}) {
33
+ s(e, f);
34
+ const n = `0x${e.replace("0x", "").slice((f ?? 0) * 2, (i ?? e.length) * 2)}`;
35
+ return o && c(n, f, i), n;
64
36
  }
65
37
  export {
66
- U as decodeEventLog
38
+ w as slice,
39
+ m as sliceBytes,
40
+ u as sliceHex
67
41
  };
@@ -1,5 +1,9 @@
1
- import { toSignatureHash as t } from "./index185.js";
2
- const e = t;
1
+ function f(e, { dir: n = "left" } = {}) {
2
+ let t = typeof e == "string" ? e.replace("0x", "") : e, i = 0;
3
+ for (let l = 0; l < t.length - 1 && t[n === "left" ? l : t.length - l - 1].toString() === "0"; l++)
4
+ i++;
5
+ return t = n === "left" ? t.slice(i) : t.slice(0, t.length - i), typeof e == "string" ? (t.length === 1 && n === "right" && (t = `${t}0`), `0x${t.length % 2 === 1 ? `0${t}` : t}`) : t;
6
+ }
3
7
  export {
4
- e as toEventSelector
8
+ f as trim
5
9
  };
@@ -1,23 +1,30 @@
1
- import { BaseError as o } from "./index86.js";
2
- class i extends o {
3
- constructor({ offset: e }) {
4
- super(`Offset \`${e}\` cannot be negative.`, {
5
- name: "NegativeOffsetError"
6
- });
7
- }
1
+ import { InvalidBytesBooleanError as f } from "./index107.js";
2
+ import { trim as o } from "./index131.js";
3
+ import { assertSize as r, hexToNumber as s, hexToBigInt as u } from "./index151.js";
4
+ import { bytesToHex as t } from "./index118.js";
5
+ function c(n, i = {}) {
6
+ typeof i.size < "u" && r(n, { size: i.size });
7
+ const e = t(n, i);
8
+ return u(e, i);
8
9
  }
9
- class n extends o {
10
- constructor({ length: e, position: r }) {
11
- super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`, { name: "PositionOutOfBoundsError" });
12
- }
10
+ function T(n, i = {}) {
11
+ let e = n;
12
+ if (typeof i.size < "u" && (r(e, { size: i.size }), e = o(e)), e.length > 1 || e[0] > 1)
13
+ throw new f(e);
14
+ return !!e[0];
13
15
  }
14
- class c extends o {
15
- constructor({ count: e, limit: r }) {
16
- super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`, { name: "RecursiveReadLimitExceededError" });
17
- }
16
+ function b(n, i = {}) {
17
+ typeof i.size < "u" && r(n, { size: i.size });
18
+ const e = t(n, i);
19
+ return s(e, i);
20
+ }
21
+ function h(n, i = {}) {
22
+ let e = n;
23
+ return typeof i.size < "u" && (r(e, { size: i.size }), e = o(e, { dir: "right" })), new TextDecoder().decode(e);
18
24
  }
19
25
  export {
20
- i as NegativeOffsetError,
21
- n as PositionOutOfBoundsError,
22
- c as RecursiveReadLimitExceededError
26
+ c as bytesToBigInt,
27
+ T as bytesToBool,
28
+ b as bytesToNumber,
29
+ h as bytesToString
23
30
  };
@@ -1,19 +1,194 @@
1
- import { AbiFunctionSignatureNotFoundError as a } from "./index83.js";
2
- import { slice as r } from "./index125.js";
3
- import { toFunctionSelector as u } from "./index129.js";
4
- import { decodeAbiParameters as m } from "./index122.js";
5
- import { formatAbiItem as d } from "./index84.js";
6
- function g(e) {
7
- const { abi: c, data: o } = e, n = r(o, 0, 4), t = c.find((i) => i.type === "function" && n === u(d(i)));
8
- if (!t)
9
- throw new a(n, {
10
- docsPath: "/docs/contract/decodeFunctionData"
1
+ import { AbiEncodingLengthMismatchError as y, InvalidAbiEncodingTypeError as u, InvalidArrayError as g, AbiEncodingArrayLengthMismatchError as l, AbiEncodingBytesSizeMismatchError as b } from "./index88.js";
2
+ import { InvalidAddressError as w } from "./index113.js";
3
+ import { BaseError as A } from "./index91.js";
4
+ import { IntegerOutOfRangeError as x } from "./index107.js";
5
+ import { isAddress as z } from "./index140.js";
6
+ import { concat as f } from "./index122.js";
7
+ import { padHex as d } from "./index141.js";
8
+ import { size as a } from "./index90.js";
9
+ import { slice as E } from "./index130.js";
10
+ import { numberToHex as m, boolToHex as P, stringToHex as S } from "./index118.js";
11
+ import { integerRegex as I } from "./index142.js";
12
+ function K(e, t) {
13
+ if (e.length !== t.length)
14
+ throw new y({
15
+ expectedLength: e.length,
16
+ givenLength: t.length
11
17
  });
18
+ const o = L({
19
+ params: e,
20
+ values: t
21
+ }), n = h(o);
22
+ return n.length === 0 ? "0x" : n;
23
+ }
24
+ function L({ params: e, values: t }) {
25
+ const o = [];
26
+ for (let n = 0; n < e.length; n++)
27
+ o.push(p({ param: e[n], value: t[n] }));
28
+ return o;
29
+ }
30
+ function p({ param: e, value: t }) {
31
+ const o = W(e.type);
32
+ if (o) {
33
+ const [n, r] = o;
34
+ return M(t, { length: n, param: { ...e, type: r } });
35
+ }
36
+ if (e.type === "tuple")
37
+ return H(t, {
38
+ param: e
39
+ });
40
+ if (e.type === "address")
41
+ return B(t);
42
+ if (e.type === "bool")
43
+ return T(t);
44
+ if (e.type.startsWith("uint") || e.type.startsWith("int")) {
45
+ const n = e.type.startsWith("int"), [, , r = "256"] = I.exec(e.type) ?? [];
46
+ return $(t, {
47
+ signed: n,
48
+ size: Number(r)
49
+ });
50
+ }
51
+ if (e.type.startsWith("bytes"))
52
+ return N(t, { param: e });
53
+ if (e.type === "string")
54
+ return C(t);
55
+ throw new u(e.type, {
56
+ docsPath: "/docs/contract/encodeAbiParameters"
57
+ });
58
+ }
59
+ function h(e) {
60
+ let t = 0;
61
+ for (let i = 0; i < e.length; i++) {
62
+ const { dynamic: c, encoded: s } = e[i];
63
+ c ? t += 32 : t += a(s);
64
+ }
65
+ const o = [], n = [];
66
+ let r = 0;
67
+ for (let i = 0; i < e.length; i++) {
68
+ const { dynamic: c, encoded: s } = e[i];
69
+ c ? (o.push(m(t + r, { size: 32 })), n.push(s), r += a(s)) : o.push(s);
70
+ }
71
+ return f([...o, ...n]);
72
+ }
73
+ function B(e) {
74
+ if (!z(e))
75
+ throw new w({ address: e });
76
+ return { dynamic: !1, encoded: d(e.toLowerCase()) };
77
+ }
78
+ function M(e, { length: t, param: o }) {
79
+ const n = t === null;
80
+ if (!Array.isArray(e))
81
+ throw new g(e);
82
+ if (!n && e.length !== t)
83
+ throw new l({
84
+ expectedLength: t,
85
+ givenLength: e.length,
86
+ type: `${o.type}[${t}]`
87
+ });
88
+ let r = !1;
89
+ const i = [];
90
+ for (let c = 0; c < e.length; c++) {
91
+ const s = p({ param: o, value: e[c] });
92
+ s.dynamic && (r = !0), i.push(s);
93
+ }
94
+ if (n || r) {
95
+ const c = h(i);
96
+ if (n) {
97
+ const s = m(i.length, { size: 32 });
98
+ return {
99
+ dynamic: !0,
100
+ encoded: i.length > 0 ? f([s, c]) : s
101
+ };
102
+ }
103
+ if (r)
104
+ return { dynamic: !0, encoded: c };
105
+ }
106
+ return {
107
+ dynamic: !1,
108
+ encoded: f(i.map(({ encoded: c }) => c))
109
+ };
110
+ }
111
+ function N(e, { param: t }) {
112
+ const [, o] = t.type.split("bytes"), n = a(e);
113
+ if (!o) {
114
+ let r = e;
115
+ return n % 32 !== 0 && (r = d(r, {
116
+ dir: "right",
117
+ size: Math.ceil((e.length - 2) / 2 / 32) * 32
118
+ })), {
119
+ dynamic: !0,
120
+ encoded: f([d(m(n, { size: 32 })), r])
121
+ };
122
+ }
123
+ if (n !== Number.parseInt(o))
124
+ throw new b({
125
+ expectedSize: Number.parseInt(o),
126
+ value: e
127
+ });
128
+ return { dynamic: !1, encoded: d(e, { dir: "right" }) };
129
+ }
130
+ function T(e) {
131
+ if (typeof e != "boolean")
132
+ throw new A(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);
133
+ return { dynamic: !1, encoded: d(P(e)) };
134
+ }
135
+ function $(e, { signed: t, size: o = 256 }) {
136
+ if (typeof o == "number") {
137
+ const n = 2n ** (BigInt(o) - (t ? 1n : 0n)) - 1n, r = t ? -n - 1n : 0n;
138
+ if (e > n || e < r)
139
+ throw new x({
140
+ max: n.toString(),
141
+ min: r.toString(),
142
+ signed: t,
143
+ size: o / 8,
144
+ value: e.toString()
145
+ });
146
+ }
147
+ return {
148
+ dynamic: !1,
149
+ encoded: m(e, {
150
+ size: 32,
151
+ signed: t
152
+ })
153
+ };
154
+ }
155
+ function C(e) {
156
+ const t = S(e), o = Math.ceil(a(t) / 32), n = [];
157
+ for (let r = 0; r < o; r++)
158
+ n.push(d(E(t, r * 32, (r + 1) * 32), {
159
+ dir: "right"
160
+ }));
12
161
  return {
13
- functionName: t.name,
14
- args: "inputs" in t && t.inputs && t.inputs.length > 0 ? m(t.inputs, r(o, 4)) : void 0
162
+ dynamic: !0,
163
+ encoded: f([
164
+ d(m(a(t), { size: 32 })),
165
+ ...n
166
+ ])
15
167
  };
16
168
  }
169
+ function H(e, { param: t }) {
170
+ let o = !1;
171
+ const n = [];
172
+ for (let r = 0; r < t.components.length; r++) {
173
+ const i = t.components[r], c = Array.isArray(e) ? r : i.name, s = p({
174
+ param: i,
175
+ value: e[c]
176
+ });
177
+ n.push(s), s.dynamic && (o = !0);
178
+ }
179
+ return {
180
+ dynamic: o,
181
+ encoded: o ? h(n) : f(n.map(({ encoded: r }) => r))
182
+ };
183
+ }
184
+ function W(e) {
185
+ const t = e.match(/^(.*)\[(\d+)?\]$/);
186
+ return t ? (
187
+ // Return `null` if the array is dynamic.
188
+ [t[2] ? Number(t[2]) : null, t[1]]
189
+ ) : void 0;
190
+ }
17
191
  export {
18
- g as decodeFunctionData
192
+ K as encodeAbiParameters,
193
+ W as getArrayComponents
19
194
  };
@@ -1,26 +1,6 @@
1
- import { AbiFunctionNotFoundError as u, AbiFunctionOutputsNotFoundError as s } from "./index83.js";
2
- import { decodeAbiParameters as a } from "./index122.js";
3
- import { getAbiItem as m } from "./index93.js";
4
- const e = "/docs/contract/decodeFunctionResult";
5
- function l(c) {
6
- const { abi: r, args: d, functionName: o, data: f } = c;
7
- let n = r[0];
8
- if (o) {
9
- const i = m({ abi: r, args: d, name: o });
10
- if (!i)
11
- throw new u(o, { docsPath: e });
12
- n = i;
13
- }
14
- if (n.type !== "function")
15
- throw new u(void 0, { docsPath: e });
16
- if (!n.outputs)
17
- throw new s(n.name, { docsPath: e });
18
- const t = a(n.outputs, f);
19
- if (t && t.length > 1)
20
- return t;
21
- if (t && t.length === 1)
22
- return t[0];
23
- }
1
+ import { slice as t } from "./index130.js";
2
+ import { toSignatureHash as r } from "./index190.js";
3
+ const c = (o) => t(r(o), 0, 4);
24
4
  export {
25
- l as decodeFunctionResult
5
+ c as toFunctionSelector
26
6
  };