tempo.ts 0.0.0 → 0.0.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 (153) hide show
  1. package/README.md +92 -0
  2. package/dist/chains.d.ts +1477 -0
  3. package/dist/chains.d.ts.map +1 -0
  4. package/dist/chains.js +43 -0
  5. package/dist/chains.js.map +1 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/internal/types.d.ts +284 -0
  11. package/dist/internal/types.d.ts.map +1 -0
  12. package/dist/internal/types.js +2 -0
  13. package/dist/internal/types.js.map +1 -0
  14. package/dist/ox/TokenId.d.ts +18 -0
  15. package/dist/ox/TokenId.d.ts.map +1 -0
  16. package/dist/ox/TokenId.js +29 -0
  17. package/dist/ox/TokenId.js.map +1 -0
  18. package/dist/ox/TokenRole.d.ts +11 -0
  19. package/dist/ox/TokenRole.d.ts.map +1 -0
  20. package/dist/ox/TokenRole.js +22 -0
  21. package/dist/ox/TokenRole.js.map +1 -0
  22. package/dist/ox/Transaction.d.ts +161 -0
  23. package/dist/ox/Transaction.d.ts.map +1 -0
  24. package/dist/ox/Transaction.js +117 -0
  25. package/dist/ox/Transaction.js.map +1 -0
  26. package/dist/ox/TransactionEnvelopeFeeToken.d.ts +393 -0
  27. package/dist/ox/TransactionEnvelopeFeeToken.d.ts.map +1 -0
  28. package/dist/ox/TransactionEnvelopeFeeToken.js +452 -0
  29. package/dist/ox/TransactionEnvelopeFeeToken.js.map +1 -0
  30. package/dist/ox/TransactionRequest.d.ts +62 -0
  31. package/dist/ox/TransactionRequest.d.ts.map +1 -0
  32. package/dist/ox/TransactionRequest.js +66 -0
  33. package/dist/ox/TransactionRequest.js.map +1 -0
  34. package/dist/ox/index.d.ts +5 -0
  35. package/dist/ox/index.d.ts.map +1 -0
  36. package/dist/ox/index.js +5 -0
  37. package/dist/ox/index.js.map +1 -0
  38. package/dist/prool/Instance.d.ts +92 -0
  39. package/dist/prool/Instance.d.ts.map +1 -0
  40. package/dist/prool/Instance.js +96 -0
  41. package/dist/prool/Instance.js.map +1 -0
  42. package/dist/prool/index.d.ts +2 -0
  43. package/dist/prool/index.d.ts.map +1 -0
  44. package/dist/prool/index.js +2 -0
  45. package/dist/prool/index.js.map +1 -0
  46. package/dist/viem/abis.d.ts +2058 -0
  47. package/dist/viem/abis.d.ts.map +1 -0
  48. package/dist/viem/abis.js +1599 -0
  49. package/dist/viem/abis.js.map +1 -0
  50. package/dist/viem/actions/amm.d.ts +2091 -0
  51. package/dist/viem/actions/amm.d.ts.map +1 -0
  52. package/dist/viem/actions/amm.js +876 -0
  53. package/dist/viem/actions/amm.js.map +1 -0
  54. package/dist/viem/actions/fee.d.ts +727 -0
  55. package/dist/viem/actions/fee.d.ts.map +1 -0
  56. package/dist/viem/actions/fee.js +230 -0
  57. package/dist/viem/actions/fee.js.map +1 -0
  58. package/dist/viem/actions/index.d.ts +5 -0
  59. package/dist/viem/actions/index.d.ts.map +1 -0
  60. package/dist/viem/actions/index.js +5 -0
  61. package/dist/viem/actions/index.js.map +1 -0
  62. package/dist/viem/actions/policy.d.ts +1900 -0
  63. package/dist/viem/actions/policy.d.ts.map +1 -0
  64. package/dist/viem/actions/policy.js +841 -0
  65. package/dist/viem/actions/policy.js.map +1 -0
  66. package/dist/viem/actions/token.d.ts +13759 -0
  67. package/dist/viem/actions/token.d.ts.map +1 -0
  68. package/dist/viem/actions/token.js +2579 -0
  69. package/dist/viem/actions/token.js.map +1 -0
  70. package/dist/viem/addresses.d.ts +8 -0
  71. package/dist/viem/addresses.d.ts.map +1 -0
  72. package/dist/viem/addresses.js +8 -0
  73. package/dist/viem/addresses.js.map +1 -0
  74. package/dist/viem/chain.d.ts +341 -0
  75. package/dist/viem/chain.d.ts.map +1 -0
  76. package/dist/viem/chain.js +22 -0
  77. package/dist/viem/chain.js.map +1 -0
  78. package/dist/viem/client.d.ts +27 -0
  79. package/dist/viem/client.d.ts.map +1 -0
  80. package/dist/viem/client.js +28 -0
  81. package/dist/viem/client.js.map +1 -0
  82. package/dist/viem/decorator.d.ts +1636 -0
  83. package/dist/viem/decorator.d.ts.map +1 -0
  84. package/dist/viem/decorator.js +95 -0
  85. package/dist/viem/decorator.js.map +1 -0
  86. package/dist/viem/formatters.d.ts +4 -0
  87. package/dist/viem/formatters.d.ts.map +1 -0
  88. package/dist/viem/formatters.js +69 -0
  89. package/dist/viem/formatters.js.map +1 -0
  90. package/dist/viem/index.d.ts +9 -0
  91. package/dist/viem/index.d.ts.map +1 -0
  92. package/dist/viem/index.js +9 -0
  93. package/dist/viem/index.js.map +1 -0
  94. package/dist/viem/transaction.d.ts +54 -0
  95. package/dist/viem/transaction.d.ts.map +1 -0
  96. package/dist/viem/transaction.js +108 -0
  97. package/dist/viem/transaction.js.map +1 -0
  98. package/dist/viem/transport.d.ts +16 -0
  99. package/dist/viem/transport.d.ts.map +1 -0
  100. package/dist/viem/transport.js +33 -0
  101. package/dist/viem/transport.js.map +1 -0
  102. package/dist/viem/types.d.ts +10 -0
  103. package/dist/viem/types.d.ts.map +1 -0
  104. package/dist/viem/types.js +2 -0
  105. package/dist/viem/types.js.map +1 -0
  106. package/dist/viem/utils.d.ts +8 -0
  107. package/dist/viem/utils.d.ts.map +1 -0
  108. package/dist/viem/utils.js +9 -0
  109. package/dist/viem/utils.js.map +1 -0
  110. package/package.json +100 -2
  111. package/src/chains.ts +46 -0
  112. package/src/index.ts +1 -0
  113. package/src/internal/types.ts +414 -0
  114. package/src/ox/TokenId.test.ts +29 -0
  115. package/src/ox/TokenId.ts +35 -0
  116. package/src/ox/TokenRole.test.ts +20 -0
  117. package/src/ox/TokenRole.ts +27 -0
  118. package/src/ox/Transaction.test.ts +257 -0
  119. package/src/ox/Transaction.ts +247 -0
  120. package/src/ox/TransactionEnvelopeFeeToken.test.ts +1215 -0
  121. package/src/ox/TransactionEnvelopeFeeToken.ts +717 -0
  122. package/src/ox/TransactionRequest.ts +100 -0
  123. package/src/ox/index.ts +4 -0
  124. package/src/prool/Instance.test.ts +43 -0
  125. package/src/prool/Instance.ts +190 -0
  126. package/src/prool/index.ts +1 -0
  127. package/src/prool/internal/chain.json +106 -0
  128. package/src/prool/internal/consensus.toml +32 -0
  129. package/src/viem/abis.ts +1606 -0
  130. package/src/viem/actions/amm.test.ts +425 -0
  131. package/src/viem/actions/amm.ts +1308 -0
  132. package/src/viem/actions/fee.test.ts +281 -0
  133. package/src/viem/actions/fee.ts +362 -0
  134. package/src/viem/actions/index.ts +4 -0
  135. package/src/viem/actions/policy.test.ts +514 -0
  136. package/src/viem/actions/policy.ts +1284 -0
  137. package/src/viem/actions/token.test.ts +2172 -0
  138. package/src/viem/actions/token.ts +3830 -0
  139. package/src/viem/addresses.ts +10 -0
  140. package/src/viem/chain.ts +27 -0
  141. package/src/viem/client.bench-d.ts +8 -0
  142. package/src/viem/client.test.ts +152 -0
  143. package/src/viem/client.ts +91 -0
  144. package/src/viem/decorator.bench-d.ts +11 -0
  145. package/src/viem/decorator.test.ts +35 -0
  146. package/src/viem/decorator.ts +1914 -0
  147. package/src/viem/e2e.test.ts +410 -0
  148. package/src/viem/formatters.ts +100 -0
  149. package/src/viem/index.ts +8 -0
  150. package/src/viem/transaction.ts +253 -0
  151. package/src/viem/transport.ts +47 -0
  152. package/src/viem/types.ts +55 -0
  153. package/src/viem/utils.ts +37 -0
@@ -0,0 +1,1599 @@
1
+ // Generated with `bun run gen:abis`. Do not modify manually.
2
+ import * as Abi from 'ox/Abi';
3
+ export const feeAmmAbi = Abi.from([
4
+ { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
5
+ {
6
+ type: 'function',
7
+ name: 'M',
8
+ inputs: [],
9
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
10
+ stateMutability: 'view',
11
+ },
12
+ {
13
+ type: 'function',
14
+ name: 'MIN_LIQUIDITY',
15
+ inputs: [],
16
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
17
+ stateMutability: 'view',
18
+ },
19
+ {
20
+ type: 'function',
21
+ name: 'N',
22
+ inputs: [],
23
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
24
+ stateMutability: 'view',
25
+ },
26
+ {
27
+ type: 'function',
28
+ name: 'SCALE',
29
+ inputs: [],
30
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
31
+ stateMutability: 'view',
32
+ },
33
+ {
34
+ type: 'function',
35
+ name: 'burn',
36
+ inputs: [
37
+ { name: 'userToken', type: 'address', internalType: 'address' },
38
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
39
+ { name: 'liquidity', type: 'uint256', internalType: 'uint256' },
40
+ { name: 'to', type: 'address', internalType: 'address' },
41
+ ],
42
+ outputs: [
43
+ { name: 'amountUserToken', type: 'uint256', internalType: 'uint256' },
44
+ {
45
+ name: 'amountValidatorToken',
46
+ type: 'uint256',
47
+ internalType: 'uint256',
48
+ },
49
+ ],
50
+ stateMutability: 'nonpayable',
51
+ },
52
+ {
53
+ type: 'function',
54
+ name: 'getPool',
55
+ inputs: [
56
+ { name: 'userToken', type: 'address', internalType: 'address' },
57
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
58
+ ],
59
+ outputs: [
60
+ {
61
+ name: '',
62
+ type: 'tuple',
63
+ internalType: 'struct FeeAMM.Pool',
64
+ components: [
65
+ {
66
+ name: 'reserveUserToken',
67
+ type: 'uint128',
68
+ internalType: 'uint128',
69
+ },
70
+ {
71
+ name: 'reserveValidatorToken',
72
+ type: 'uint128',
73
+ internalType: 'uint128',
74
+ },
75
+ ],
76
+ },
77
+ ],
78
+ stateMutability: 'view',
79
+ },
80
+ {
81
+ type: 'function',
82
+ name: 'getPoolId',
83
+ inputs: [
84
+ { name: 'userToken', type: 'address', internalType: 'address' },
85
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
86
+ ],
87
+ outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
88
+ stateMutability: 'pure',
89
+ },
90
+ {
91
+ type: 'function',
92
+ name: 'liquidityBalances',
93
+ inputs: [
94
+ { name: '', type: 'bytes32', internalType: 'bytes32' },
95
+ { name: '', type: 'address', internalType: 'address' },
96
+ ],
97
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
98
+ stateMutability: 'view',
99
+ },
100
+ {
101
+ type: 'function',
102
+ name: 'mint',
103
+ inputs: [
104
+ { name: 'userToken', type: 'address', internalType: 'address' },
105
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
106
+ { name: 'amountUserToken', type: 'uint256', internalType: 'uint256' },
107
+ {
108
+ name: 'amountValidatorToken',
109
+ type: 'uint256',
110
+ internalType: 'uint256',
111
+ },
112
+ { name: 'to', type: 'address', internalType: 'address' },
113
+ ],
114
+ outputs: [{ name: 'liquidity', type: 'uint256', internalType: 'uint256' }],
115
+ stateMutability: 'nonpayable',
116
+ },
117
+ {
118
+ type: 'function',
119
+ name: 'pools',
120
+ inputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
121
+ outputs: [
122
+ { name: 'reserveUserToken', type: 'uint128', internalType: 'uint128' },
123
+ {
124
+ name: 'reserveValidatorToken',
125
+ type: 'uint128',
126
+ internalType: 'uint128',
127
+ },
128
+ ],
129
+ stateMutability: 'view',
130
+ },
131
+ {
132
+ type: 'function',
133
+ name: 'rebalanceSwap',
134
+ inputs: [
135
+ { name: 'userToken', type: 'address', internalType: 'address' },
136
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
137
+ { name: 'amountOut', type: 'uint256', internalType: 'uint256' },
138
+ { name: 'to', type: 'address', internalType: 'address' },
139
+ ],
140
+ outputs: [{ name: 'amountIn', type: 'uint256', internalType: 'uint256' }],
141
+ stateMutability: 'nonpayable',
142
+ },
143
+ {
144
+ type: 'function',
145
+ name: 'totalSupply',
146
+ inputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
147
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
148
+ stateMutability: 'view',
149
+ },
150
+ {
151
+ type: 'event',
152
+ name: 'Burn',
153
+ inputs: [
154
+ {
155
+ name: 'sender',
156
+ type: 'address',
157
+ indexed: true,
158
+ internalType: 'address',
159
+ },
160
+ {
161
+ name: 'userToken',
162
+ type: 'address',
163
+ indexed: true,
164
+ internalType: 'address',
165
+ },
166
+ {
167
+ name: 'validatorToken',
168
+ type: 'address',
169
+ indexed: true,
170
+ internalType: 'address',
171
+ },
172
+ {
173
+ name: 'amountUserToken',
174
+ type: 'uint256',
175
+ indexed: false,
176
+ internalType: 'uint256',
177
+ },
178
+ {
179
+ name: 'amountValidatorToken',
180
+ type: 'uint256',
181
+ indexed: false,
182
+ internalType: 'uint256',
183
+ },
184
+ {
185
+ name: 'liquidity',
186
+ type: 'uint256',
187
+ indexed: false,
188
+ internalType: 'uint256',
189
+ },
190
+ { name: 'to', type: 'address', indexed: false, internalType: 'address' },
191
+ ],
192
+ anonymous: false,
193
+ },
194
+ {
195
+ type: 'event',
196
+ name: 'FeeSwap',
197
+ inputs: [
198
+ {
199
+ name: 'userToken',
200
+ type: 'address',
201
+ indexed: true,
202
+ internalType: 'address',
203
+ },
204
+ {
205
+ name: 'validatorToken',
206
+ type: 'address',
207
+ indexed: true,
208
+ internalType: 'address',
209
+ },
210
+ {
211
+ name: 'amountIn',
212
+ type: 'uint256',
213
+ indexed: false,
214
+ internalType: 'uint256',
215
+ },
216
+ {
217
+ name: 'amountOut',
218
+ type: 'uint256',
219
+ indexed: false,
220
+ internalType: 'uint256',
221
+ },
222
+ ],
223
+ anonymous: false,
224
+ },
225
+ {
226
+ type: 'event',
227
+ name: 'Mint',
228
+ inputs: [
229
+ {
230
+ name: 'sender',
231
+ type: 'address',
232
+ indexed: true,
233
+ internalType: 'address',
234
+ },
235
+ {
236
+ name: 'userToken',
237
+ type: 'address',
238
+ indexed: true,
239
+ internalType: 'address',
240
+ },
241
+ {
242
+ name: 'validatorToken',
243
+ type: 'address',
244
+ indexed: true,
245
+ internalType: 'address',
246
+ },
247
+ {
248
+ name: 'amountUserToken',
249
+ type: 'uint256',
250
+ indexed: false,
251
+ internalType: 'uint256',
252
+ },
253
+ {
254
+ name: 'amountValidatorToken',
255
+ type: 'uint256',
256
+ indexed: false,
257
+ internalType: 'uint256',
258
+ },
259
+ {
260
+ name: 'liquidity',
261
+ type: 'uint256',
262
+ indexed: false,
263
+ internalType: 'uint256',
264
+ },
265
+ ],
266
+ anonymous: false,
267
+ },
268
+ {
269
+ type: 'event',
270
+ name: 'RebalanceSwap',
271
+ inputs: [
272
+ {
273
+ name: 'userToken',
274
+ type: 'address',
275
+ indexed: true,
276
+ internalType: 'address',
277
+ },
278
+ {
279
+ name: 'validatorToken',
280
+ type: 'address',
281
+ indexed: true,
282
+ internalType: 'address',
283
+ },
284
+ {
285
+ name: 'swapper',
286
+ type: 'address',
287
+ indexed: true,
288
+ internalType: 'address',
289
+ },
290
+ {
291
+ name: 'amountIn',
292
+ type: 'uint256',
293
+ indexed: false,
294
+ internalType: 'uint256',
295
+ },
296
+ {
297
+ name: 'amountOut',
298
+ type: 'uint256',
299
+ indexed: false,
300
+ internalType: 'uint256',
301
+ },
302
+ ],
303
+ anonymous: false,
304
+ },
305
+ ]);
306
+ export const tip20RolesAuthAbi = Abi.from([
307
+ {
308
+ type: 'function',
309
+ name: 'grantRole',
310
+ inputs: [
311
+ { name: 'role', type: 'bytes32', internalType: 'bytes32' },
312
+ { name: 'account', type: 'address', internalType: 'address' },
313
+ ],
314
+ outputs: [],
315
+ stateMutability: 'nonpayable',
316
+ },
317
+ {
318
+ type: 'function',
319
+ name: 'renounceRole',
320
+ inputs: [{ name: 'role', type: 'bytes32', internalType: 'bytes32' }],
321
+ outputs: [],
322
+ stateMutability: 'nonpayable',
323
+ },
324
+ {
325
+ type: 'function',
326
+ name: 'revokeRole',
327
+ inputs: [
328
+ { name: 'role', type: 'bytes32', internalType: 'bytes32' },
329
+ { name: 'account', type: 'address', internalType: 'address' },
330
+ ],
331
+ outputs: [],
332
+ stateMutability: 'nonpayable',
333
+ },
334
+ {
335
+ type: 'function',
336
+ name: 'setRoleAdmin',
337
+ inputs: [
338
+ { name: 'role', type: 'bytes32', internalType: 'bytes32' },
339
+ { name: 'adminRole', type: 'bytes32', internalType: 'bytes32' },
340
+ ],
341
+ outputs: [],
342
+ stateMutability: 'nonpayable',
343
+ },
344
+ {
345
+ type: 'event',
346
+ name: 'RoleAdminUpdated',
347
+ inputs: [
348
+ { name: 'role', type: 'bytes32', indexed: true, internalType: 'bytes32' },
349
+ {
350
+ name: 'newAdminRole',
351
+ type: 'bytes32',
352
+ indexed: true,
353
+ internalType: 'bytes32',
354
+ },
355
+ {
356
+ name: 'sender',
357
+ type: 'address',
358
+ indexed: true,
359
+ internalType: 'address',
360
+ },
361
+ ],
362
+ anonymous: false,
363
+ },
364
+ {
365
+ type: 'event',
366
+ name: 'RoleMembershipUpdated',
367
+ inputs: [
368
+ { name: 'role', type: 'bytes32', indexed: true, internalType: 'bytes32' },
369
+ {
370
+ name: 'account',
371
+ type: 'address',
372
+ indexed: true,
373
+ internalType: 'address',
374
+ },
375
+ {
376
+ name: 'sender',
377
+ type: 'address',
378
+ indexed: true,
379
+ internalType: 'address',
380
+ },
381
+ { name: 'hasRole', type: 'bool', indexed: false, internalType: 'bool' },
382
+ ],
383
+ anonymous: false,
384
+ },
385
+ { type: 'error', name: 'Unauthorized', inputs: [] },
386
+ ]);
387
+ export const feeManagerAbi = Abi.from([
388
+ { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
389
+ {
390
+ type: 'function',
391
+ name: 'M',
392
+ inputs: [],
393
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
394
+ stateMutability: 'view',
395
+ },
396
+ {
397
+ type: 'function',
398
+ name: 'MIN_LIQUIDITY',
399
+ inputs: [],
400
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
401
+ stateMutability: 'view',
402
+ },
403
+ {
404
+ type: 'function',
405
+ name: 'N',
406
+ inputs: [],
407
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
408
+ stateMutability: 'view',
409
+ },
410
+ {
411
+ type: 'function',
412
+ name: 'SCALE',
413
+ inputs: [],
414
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
415
+ stateMutability: 'view',
416
+ },
417
+ {
418
+ type: 'function',
419
+ name: 'burn',
420
+ inputs: [
421
+ { name: 'userToken', type: 'address', internalType: 'address' },
422
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
423
+ { name: 'liquidity', type: 'uint256', internalType: 'uint256' },
424
+ { name: 'to', type: 'address', internalType: 'address' },
425
+ ],
426
+ outputs: [
427
+ { name: 'amountUserToken', type: 'uint256', internalType: 'uint256' },
428
+ {
429
+ name: 'amountValidatorToken',
430
+ type: 'uint256',
431
+ internalType: 'uint256',
432
+ },
433
+ ],
434
+ stateMutability: 'nonpayable',
435
+ },
436
+ {
437
+ type: 'function',
438
+ name: 'collectFeePostTx',
439
+ inputs: [
440
+ { name: 'user', type: 'address', internalType: 'address' },
441
+ { name: 'maxAmount', type: 'uint256', internalType: 'uint256' },
442
+ { name: 'actualUsed', type: 'uint256', internalType: 'uint256' },
443
+ { name: 'userToken', type: 'address', internalType: 'address' },
444
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
445
+ ],
446
+ outputs: [],
447
+ stateMutability: 'nonpayable',
448
+ },
449
+ {
450
+ type: 'function',
451
+ name: 'collectFeePreTx',
452
+ inputs: [
453
+ { name: 'user', type: 'address', internalType: 'address' },
454
+ { name: 'txToAddress', type: 'address', internalType: 'address' },
455
+ { name: 'maxAmount', type: 'uint256', internalType: 'uint256' },
456
+ ],
457
+ outputs: [{ name: 'userToken', type: 'address', internalType: 'address' }],
458
+ stateMutability: 'nonpayable',
459
+ },
460
+ {
461
+ type: 'function',
462
+ name: 'executeBlock',
463
+ inputs: [],
464
+ outputs: [],
465
+ stateMutability: 'nonpayable',
466
+ },
467
+ {
468
+ type: 'function',
469
+ name: 'getPool',
470
+ inputs: [
471
+ { name: 'userToken', type: 'address', internalType: 'address' },
472
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
473
+ ],
474
+ outputs: [
475
+ {
476
+ name: '',
477
+ type: 'tuple',
478
+ internalType: 'struct FeeAMM.Pool',
479
+ components: [
480
+ {
481
+ name: 'reserveUserToken',
482
+ type: 'uint128',
483
+ internalType: 'uint128',
484
+ },
485
+ {
486
+ name: 'reserveValidatorToken',
487
+ type: 'uint128',
488
+ internalType: 'uint128',
489
+ },
490
+ ],
491
+ },
492
+ ],
493
+ stateMutability: 'view',
494
+ },
495
+ {
496
+ type: 'function',
497
+ name: 'getPoolId',
498
+ inputs: [
499
+ { name: 'userToken', type: 'address', internalType: 'address' },
500
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
501
+ ],
502
+ outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
503
+ stateMutability: 'pure',
504
+ },
505
+ {
506
+ type: 'function',
507
+ name: 'liquidityBalances',
508
+ inputs: [
509
+ { name: '', type: 'bytes32', internalType: 'bytes32' },
510
+ { name: '', type: 'address', internalType: 'address' },
511
+ ],
512
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
513
+ stateMutability: 'view',
514
+ },
515
+ {
516
+ type: 'function',
517
+ name: 'mint',
518
+ inputs: [
519
+ { name: 'userToken', type: 'address', internalType: 'address' },
520
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
521
+ { name: 'amountUserToken', type: 'uint256', internalType: 'uint256' },
522
+ {
523
+ name: 'amountValidatorToken',
524
+ type: 'uint256',
525
+ internalType: 'uint256',
526
+ },
527
+ { name: 'to', type: 'address', internalType: 'address' },
528
+ ],
529
+ outputs: [{ name: 'liquidity', type: 'uint256', internalType: 'uint256' }],
530
+ stateMutability: 'nonpayable',
531
+ },
532
+ {
533
+ type: 'function',
534
+ name: 'pools',
535
+ inputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
536
+ outputs: [
537
+ { name: 'reserveUserToken', type: 'uint128', internalType: 'uint128' },
538
+ {
539
+ name: 'reserveValidatorToken',
540
+ type: 'uint128',
541
+ internalType: 'uint128',
542
+ },
543
+ ],
544
+ stateMutability: 'view',
545
+ },
546
+ {
547
+ type: 'function',
548
+ name: 'rebalanceSwap',
549
+ inputs: [
550
+ { name: 'userToken', type: 'address', internalType: 'address' },
551
+ { name: 'validatorToken', type: 'address', internalType: 'address' },
552
+ { name: 'amountOut', type: 'uint256', internalType: 'uint256' },
553
+ { name: 'to', type: 'address', internalType: 'address' },
554
+ ],
555
+ outputs: [{ name: 'amountIn', type: 'uint256', internalType: 'uint256' }],
556
+ stateMutability: 'nonpayable',
557
+ },
558
+ {
559
+ type: 'function',
560
+ name: 'setUserToken',
561
+ inputs: [{ name: 'token', type: 'address', internalType: 'address' }],
562
+ outputs: [],
563
+ stateMutability: 'nonpayable',
564
+ },
565
+ {
566
+ type: 'function',
567
+ name: 'setValidatorToken',
568
+ inputs: [{ name: 'token', type: 'address', internalType: 'address' }],
569
+ outputs: [],
570
+ stateMutability: 'nonpayable',
571
+ },
572
+ {
573
+ type: 'function',
574
+ name: 'totalSupply',
575
+ inputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
576
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
577
+ stateMutability: 'view',
578
+ },
579
+ {
580
+ type: 'function',
581
+ name: 'userTokens',
582
+ inputs: [{ name: '', type: 'address', internalType: 'address' }],
583
+ outputs: [{ name: '', type: 'address', internalType: 'address' }],
584
+ stateMutability: 'view',
585
+ },
586
+ {
587
+ type: 'function',
588
+ name: 'validatorTokens',
589
+ inputs: [{ name: '', type: 'address', internalType: 'address' }],
590
+ outputs: [{ name: '', type: 'address', internalType: 'address' }],
591
+ stateMutability: 'view',
592
+ },
593
+ {
594
+ type: 'event',
595
+ name: 'Burn',
596
+ inputs: [
597
+ {
598
+ name: 'sender',
599
+ type: 'address',
600
+ indexed: true,
601
+ internalType: 'address',
602
+ },
603
+ {
604
+ name: 'userToken',
605
+ type: 'address',
606
+ indexed: true,
607
+ internalType: 'address',
608
+ },
609
+ {
610
+ name: 'validatorToken',
611
+ type: 'address',
612
+ indexed: true,
613
+ internalType: 'address',
614
+ },
615
+ {
616
+ name: 'amountUserToken',
617
+ type: 'uint256',
618
+ indexed: false,
619
+ internalType: 'uint256',
620
+ },
621
+ {
622
+ name: 'amountValidatorToken',
623
+ type: 'uint256',
624
+ indexed: false,
625
+ internalType: 'uint256',
626
+ },
627
+ {
628
+ name: 'liquidity',
629
+ type: 'uint256',
630
+ indexed: false,
631
+ internalType: 'uint256',
632
+ },
633
+ { name: 'to', type: 'address', indexed: false, internalType: 'address' },
634
+ ],
635
+ anonymous: false,
636
+ },
637
+ {
638
+ type: 'event',
639
+ name: 'FeeSwap',
640
+ inputs: [
641
+ {
642
+ name: 'userToken',
643
+ type: 'address',
644
+ indexed: true,
645
+ internalType: 'address',
646
+ },
647
+ {
648
+ name: 'validatorToken',
649
+ type: 'address',
650
+ indexed: true,
651
+ internalType: 'address',
652
+ },
653
+ {
654
+ name: 'amountIn',
655
+ type: 'uint256',
656
+ indexed: false,
657
+ internalType: 'uint256',
658
+ },
659
+ {
660
+ name: 'amountOut',
661
+ type: 'uint256',
662
+ indexed: false,
663
+ internalType: 'uint256',
664
+ },
665
+ ],
666
+ anonymous: false,
667
+ },
668
+ {
669
+ type: 'event',
670
+ name: 'Mint',
671
+ inputs: [
672
+ {
673
+ name: 'sender',
674
+ type: 'address',
675
+ indexed: true,
676
+ internalType: 'address',
677
+ },
678
+ {
679
+ name: 'userToken',
680
+ type: 'address',
681
+ indexed: true,
682
+ internalType: 'address',
683
+ },
684
+ {
685
+ name: 'validatorToken',
686
+ type: 'address',
687
+ indexed: true,
688
+ internalType: 'address',
689
+ },
690
+ {
691
+ name: 'amountUserToken',
692
+ type: 'uint256',
693
+ indexed: false,
694
+ internalType: 'uint256',
695
+ },
696
+ {
697
+ name: 'amountValidatorToken',
698
+ type: 'uint256',
699
+ indexed: false,
700
+ internalType: 'uint256',
701
+ },
702
+ {
703
+ name: 'liquidity',
704
+ type: 'uint256',
705
+ indexed: false,
706
+ internalType: 'uint256',
707
+ },
708
+ ],
709
+ anonymous: false,
710
+ },
711
+ {
712
+ type: 'event',
713
+ name: 'RebalanceSwap',
714
+ inputs: [
715
+ {
716
+ name: 'userToken',
717
+ type: 'address',
718
+ indexed: true,
719
+ internalType: 'address',
720
+ },
721
+ {
722
+ name: 'validatorToken',
723
+ type: 'address',
724
+ indexed: true,
725
+ internalType: 'address',
726
+ },
727
+ {
728
+ name: 'swapper',
729
+ type: 'address',
730
+ indexed: true,
731
+ internalType: 'address',
732
+ },
733
+ {
734
+ name: 'amountIn',
735
+ type: 'uint256',
736
+ indexed: false,
737
+ internalType: 'uint256',
738
+ },
739
+ {
740
+ name: 'amountOut',
741
+ type: 'uint256',
742
+ indexed: false,
743
+ internalType: 'uint256',
744
+ },
745
+ ],
746
+ anonymous: false,
747
+ },
748
+ {
749
+ type: 'event',
750
+ name: 'UserTokenSet',
751
+ inputs: [
752
+ { name: 'user', type: 'address', indexed: true, internalType: 'address' },
753
+ {
754
+ name: 'token',
755
+ type: 'address',
756
+ indexed: true,
757
+ internalType: 'address',
758
+ },
759
+ ],
760
+ anonymous: false,
761
+ },
762
+ {
763
+ type: 'event',
764
+ name: 'ValidatorTokenSet',
765
+ inputs: [
766
+ {
767
+ name: 'validator',
768
+ type: 'address',
769
+ indexed: true,
770
+ internalType: 'address',
771
+ },
772
+ {
773
+ name: 'token',
774
+ type: 'address',
775
+ indexed: true,
776
+ internalType: 'address',
777
+ },
778
+ ],
779
+ anonymous: false,
780
+ },
781
+ ]);
782
+ export const tip20Abi = Abi.from([
783
+ {
784
+ type: 'constructor',
785
+ inputs: [
786
+ { name: '_name', type: 'string', internalType: 'string' },
787
+ { name: '_symbol', type: 'string', internalType: 'string' },
788
+ { name: '_currency', type: 'string', internalType: 'string' },
789
+ { name: 'admin', type: 'address', internalType: 'address' },
790
+ ],
791
+ stateMutability: 'nonpayable',
792
+ },
793
+ {
794
+ type: 'function',
795
+ name: 'BURN_BLOCKED_ROLE',
796
+ inputs: [],
797
+ outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
798
+ stateMutability: 'view',
799
+ },
800
+ {
801
+ type: 'function',
802
+ name: 'DOMAIN_SEPARATOR',
803
+ inputs: [],
804
+ outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
805
+ stateMutability: 'view',
806
+ },
807
+ {
808
+ type: 'function',
809
+ name: 'ISSUER_ROLE',
810
+ inputs: [],
811
+ outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
812
+ stateMutability: 'view',
813
+ },
814
+ {
815
+ type: 'function',
816
+ name: 'PAUSE_ROLE',
817
+ inputs: [],
818
+ outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
819
+ stateMutability: 'view',
820
+ },
821
+ {
822
+ type: 'function',
823
+ name: 'UNPAUSE_ROLE',
824
+ inputs: [],
825
+ outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
826
+ stateMutability: 'view',
827
+ },
828
+ {
829
+ type: 'function',
830
+ name: 'allowance',
831
+ inputs: [
832
+ { name: '', type: 'address', internalType: 'address' },
833
+ { name: '', type: 'address', internalType: 'address' },
834
+ ],
835
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
836
+ stateMutability: 'view',
837
+ },
838
+ {
839
+ type: 'function',
840
+ name: 'approve',
841
+ inputs: [
842
+ { name: 'spender', type: 'address', internalType: 'address' },
843
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
844
+ ],
845
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
846
+ stateMutability: 'nonpayable',
847
+ },
848
+ {
849
+ type: 'function',
850
+ name: 'balanceOf',
851
+ inputs: [{ name: '', type: 'address', internalType: 'address' }],
852
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
853
+ stateMutability: 'view',
854
+ },
855
+ {
856
+ type: 'function',
857
+ name: 'burn',
858
+ inputs: [{ name: 'amount', type: 'uint256', internalType: 'uint256' }],
859
+ outputs: [],
860
+ stateMutability: 'nonpayable',
861
+ },
862
+ {
863
+ type: 'function',
864
+ name: 'burnBlocked',
865
+ inputs: [
866
+ { name: 'from', type: 'address', internalType: 'address' },
867
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
868
+ ],
869
+ outputs: [],
870
+ stateMutability: 'nonpayable',
871
+ },
872
+ {
873
+ type: 'function',
874
+ name: 'burnWithMemo',
875
+ inputs: [
876
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
877
+ { name: 'memo', type: 'bytes32', internalType: 'bytes32' },
878
+ ],
879
+ outputs: [],
880
+ stateMutability: 'nonpayable',
881
+ },
882
+ {
883
+ type: 'function',
884
+ name: 'changeTransferPolicyId',
885
+ inputs: [{ name: 'newPolicyId', type: 'uint64', internalType: 'uint64' }],
886
+ outputs: [],
887
+ stateMutability: 'nonpayable',
888
+ },
889
+ {
890
+ type: 'function',
891
+ name: 'currency',
892
+ inputs: [],
893
+ outputs: [{ name: '', type: 'string', internalType: 'string' }],
894
+ stateMutability: 'view',
895
+ },
896
+ {
897
+ type: 'function',
898
+ name: 'decimals',
899
+ inputs: [],
900
+ outputs: [{ name: '', type: 'uint8', internalType: 'uint8' }],
901
+ stateMutability: 'view',
902
+ },
903
+ {
904
+ type: 'function',
905
+ name: 'grantRole',
906
+ inputs: [
907
+ { name: 'role', type: 'bytes32', internalType: 'bytes32' },
908
+ { name: 'account', type: 'address', internalType: 'address' },
909
+ ],
910
+ outputs: [],
911
+ stateMutability: 'nonpayable',
912
+ },
913
+ {
914
+ type: 'function',
915
+ name: 'mint',
916
+ inputs: [
917
+ { name: 'to', type: 'address', internalType: 'address' },
918
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
919
+ ],
920
+ outputs: [],
921
+ stateMutability: 'nonpayable',
922
+ },
923
+ {
924
+ type: 'function',
925
+ name: 'mintWithMemo',
926
+ inputs: [
927
+ { name: 'to', type: 'address', internalType: 'address' },
928
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
929
+ { name: 'memo', type: 'bytes32', internalType: 'bytes32' },
930
+ ],
931
+ outputs: [],
932
+ stateMutability: 'nonpayable',
933
+ },
934
+ {
935
+ type: 'function',
936
+ name: 'name',
937
+ inputs: [],
938
+ outputs: [{ name: '', type: 'string', internalType: 'string' }],
939
+ stateMutability: 'view',
940
+ },
941
+ {
942
+ type: 'function',
943
+ name: 'nonces',
944
+ inputs: [{ name: '', type: 'address', internalType: 'address' }],
945
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
946
+ stateMutability: 'view',
947
+ },
948
+ {
949
+ type: 'function',
950
+ name: 'pause',
951
+ inputs: [],
952
+ outputs: [],
953
+ stateMutability: 'nonpayable',
954
+ },
955
+ {
956
+ type: 'function',
957
+ name: 'paused',
958
+ inputs: [],
959
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
960
+ stateMutability: 'view',
961
+ },
962
+ {
963
+ type: 'function',
964
+ name: 'permit',
965
+ inputs: [
966
+ { name: 'owner', type: 'address', internalType: 'address' },
967
+ { name: 'spender', type: 'address', internalType: 'address' },
968
+ { name: 'value', type: 'uint256', internalType: 'uint256' },
969
+ { name: 'deadline', type: 'uint256', internalType: 'uint256' },
970
+ { name: 'v', type: 'uint8', internalType: 'uint8' },
971
+ { name: 'r', type: 'bytes32', internalType: 'bytes32' },
972
+ { name: 's', type: 'bytes32', internalType: 'bytes32' },
973
+ ],
974
+ outputs: [],
975
+ stateMutability: 'nonpayable',
976
+ },
977
+ {
978
+ type: 'function',
979
+ name: 'renounceRole',
980
+ inputs: [{ name: 'role', type: 'bytes32', internalType: 'bytes32' }],
981
+ outputs: [],
982
+ stateMutability: 'nonpayable',
983
+ },
984
+ {
985
+ type: 'function',
986
+ name: 'revokeRole',
987
+ inputs: [
988
+ { name: 'role', type: 'bytes32', internalType: 'bytes32' },
989
+ { name: 'account', type: 'address', internalType: 'address' },
990
+ ],
991
+ outputs: [],
992
+ stateMutability: 'nonpayable',
993
+ },
994
+ {
995
+ type: 'function',
996
+ name: 'setRoleAdmin',
997
+ inputs: [
998
+ { name: 'role', type: 'bytes32', internalType: 'bytes32' },
999
+ { name: 'adminRole', type: 'bytes32', internalType: 'bytes32' },
1000
+ ],
1001
+ outputs: [],
1002
+ stateMutability: 'nonpayable',
1003
+ },
1004
+ {
1005
+ type: 'function',
1006
+ name: 'setSupplyCap',
1007
+ inputs: [
1008
+ { name: 'newSupplyCap', type: 'uint256', internalType: 'uint256' },
1009
+ ],
1010
+ outputs: [],
1011
+ stateMutability: 'nonpayable',
1012
+ },
1013
+ {
1014
+ type: 'function',
1015
+ name: 'supplyCap',
1016
+ inputs: [],
1017
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
1018
+ stateMutability: 'view',
1019
+ },
1020
+ {
1021
+ type: 'function',
1022
+ name: 'symbol',
1023
+ inputs: [],
1024
+ outputs: [{ name: '', type: 'string', internalType: 'string' }],
1025
+ stateMutability: 'view',
1026
+ },
1027
+ {
1028
+ type: 'function',
1029
+ name: 'systemTransferFrom',
1030
+ inputs: [
1031
+ { name: 'from', type: 'address', internalType: 'address' },
1032
+ { name: 'to', type: 'address', internalType: 'address' },
1033
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
1034
+ ],
1035
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
1036
+ stateMutability: 'nonpayable',
1037
+ },
1038
+ {
1039
+ type: 'function',
1040
+ name: 'totalSupply',
1041
+ inputs: [],
1042
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
1043
+ stateMutability: 'view',
1044
+ },
1045
+ {
1046
+ type: 'function',
1047
+ name: 'transfer',
1048
+ inputs: [
1049
+ { name: 'to', type: 'address', internalType: 'address' },
1050
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
1051
+ ],
1052
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
1053
+ stateMutability: 'nonpayable',
1054
+ },
1055
+ {
1056
+ type: 'function',
1057
+ name: 'transferFeePostTx',
1058
+ inputs: [
1059
+ { name: 'to', type: 'address', internalType: 'address' },
1060
+ { name: 'refund', type: 'uint256', internalType: 'uint256' },
1061
+ { name: 'actualUsed', type: 'uint256', internalType: 'uint256' },
1062
+ ],
1063
+ outputs: [],
1064
+ stateMutability: 'nonpayable',
1065
+ },
1066
+ {
1067
+ type: 'function',
1068
+ name: 'transferFeePreTx',
1069
+ inputs: [
1070
+ { name: 'from', type: 'address', internalType: 'address' },
1071
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
1072
+ ],
1073
+ outputs: [],
1074
+ stateMutability: 'nonpayable',
1075
+ },
1076
+ {
1077
+ type: 'function',
1078
+ name: 'transferFrom',
1079
+ inputs: [
1080
+ { name: 'from', type: 'address', internalType: 'address' },
1081
+ { name: 'to', type: 'address', internalType: 'address' },
1082
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
1083
+ ],
1084
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
1085
+ stateMutability: 'nonpayable',
1086
+ },
1087
+ {
1088
+ type: 'function',
1089
+ name: 'transferFromWithMemo',
1090
+ inputs: [
1091
+ { name: 'from', type: 'address', internalType: 'address' },
1092
+ { name: 'to', type: 'address', internalType: 'address' },
1093
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
1094
+ { name: 'memo', type: 'bytes32', internalType: 'bytes32' },
1095
+ ],
1096
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
1097
+ stateMutability: 'nonpayable',
1098
+ },
1099
+ {
1100
+ type: 'function',
1101
+ name: 'transferPolicyId',
1102
+ inputs: [],
1103
+ outputs: [{ name: '', type: 'uint64', internalType: 'uint64' }],
1104
+ stateMutability: 'view',
1105
+ },
1106
+ {
1107
+ type: 'function',
1108
+ name: 'transferWithMemo',
1109
+ inputs: [
1110
+ { name: 'to', type: 'address', internalType: 'address' },
1111
+ { name: 'amount', type: 'uint256', internalType: 'uint256' },
1112
+ { name: 'memo', type: 'bytes32', internalType: 'bytes32' },
1113
+ ],
1114
+ outputs: [],
1115
+ stateMutability: 'nonpayable',
1116
+ },
1117
+ {
1118
+ type: 'function',
1119
+ name: 'unpause',
1120
+ inputs: [],
1121
+ outputs: [],
1122
+ stateMutability: 'nonpayable',
1123
+ },
1124
+ {
1125
+ type: 'event',
1126
+ name: 'Approval',
1127
+ inputs: [
1128
+ {
1129
+ name: 'owner',
1130
+ type: 'address',
1131
+ indexed: true,
1132
+ internalType: 'address',
1133
+ },
1134
+ {
1135
+ name: 'spender',
1136
+ type: 'address',
1137
+ indexed: true,
1138
+ internalType: 'address',
1139
+ },
1140
+ {
1141
+ name: 'amount',
1142
+ type: 'uint256',
1143
+ indexed: false,
1144
+ internalType: 'uint256',
1145
+ },
1146
+ ],
1147
+ anonymous: false,
1148
+ },
1149
+ {
1150
+ type: 'event',
1151
+ name: 'Burn',
1152
+ inputs: [
1153
+ { name: 'from', type: 'address', indexed: true, internalType: 'address' },
1154
+ {
1155
+ name: 'amount',
1156
+ type: 'uint256',
1157
+ indexed: false,
1158
+ internalType: 'uint256',
1159
+ },
1160
+ ],
1161
+ anonymous: false,
1162
+ },
1163
+ {
1164
+ type: 'event',
1165
+ name: 'BurnBlocked',
1166
+ inputs: [
1167
+ { name: 'from', type: 'address', indexed: true, internalType: 'address' },
1168
+ {
1169
+ name: 'amount',
1170
+ type: 'uint256',
1171
+ indexed: false,
1172
+ internalType: 'uint256',
1173
+ },
1174
+ ],
1175
+ anonymous: false,
1176
+ },
1177
+ {
1178
+ type: 'event',
1179
+ name: 'Mint',
1180
+ inputs: [
1181
+ { name: 'to', type: 'address', indexed: true, internalType: 'address' },
1182
+ {
1183
+ name: 'amount',
1184
+ type: 'uint256',
1185
+ indexed: false,
1186
+ internalType: 'uint256',
1187
+ },
1188
+ ],
1189
+ anonymous: false,
1190
+ },
1191
+ {
1192
+ type: 'event',
1193
+ name: 'PauseStateUpdate',
1194
+ inputs: [
1195
+ {
1196
+ name: 'updater',
1197
+ type: 'address',
1198
+ indexed: true,
1199
+ internalType: 'address',
1200
+ },
1201
+ { name: 'isPaused', type: 'bool', indexed: false, internalType: 'bool' },
1202
+ ],
1203
+ anonymous: false,
1204
+ },
1205
+ {
1206
+ type: 'event',
1207
+ name: 'RoleAdminUpdated',
1208
+ inputs: [
1209
+ { name: 'role', type: 'bytes32', indexed: true, internalType: 'bytes32' },
1210
+ {
1211
+ name: 'newAdminRole',
1212
+ type: 'bytes32',
1213
+ indexed: true,
1214
+ internalType: 'bytes32',
1215
+ },
1216
+ {
1217
+ name: 'sender',
1218
+ type: 'address',
1219
+ indexed: true,
1220
+ internalType: 'address',
1221
+ },
1222
+ ],
1223
+ anonymous: false,
1224
+ },
1225
+ {
1226
+ type: 'event',
1227
+ name: 'RoleMembershipUpdated',
1228
+ inputs: [
1229
+ { name: 'role', type: 'bytes32', indexed: true, internalType: 'bytes32' },
1230
+ {
1231
+ name: 'account',
1232
+ type: 'address',
1233
+ indexed: true,
1234
+ internalType: 'address',
1235
+ },
1236
+ {
1237
+ name: 'sender',
1238
+ type: 'address',
1239
+ indexed: true,
1240
+ internalType: 'address',
1241
+ },
1242
+ { name: 'hasRole', type: 'bool', indexed: false, internalType: 'bool' },
1243
+ ],
1244
+ anonymous: false,
1245
+ },
1246
+ {
1247
+ type: 'event',
1248
+ name: 'SupplyCapUpdate',
1249
+ inputs: [
1250
+ {
1251
+ name: 'updater',
1252
+ type: 'address',
1253
+ indexed: true,
1254
+ internalType: 'address',
1255
+ },
1256
+ {
1257
+ name: 'newSupplyCap',
1258
+ type: 'uint256',
1259
+ indexed: true,
1260
+ internalType: 'uint256',
1261
+ },
1262
+ ],
1263
+ anonymous: false,
1264
+ },
1265
+ {
1266
+ type: 'event',
1267
+ name: 'Transfer',
1268
+ inputs: [
1269
+ { name: 'from', type: 'address', indexed: true, internalType: 'address' },
1270
+ { name: 'to', type: 'address', indexed: true, internalType: 'address' },
1271
+ {
1272
+ name: 'amount',
1273
+ type: 'uint256',
1274
+ indexed: false,
1275
+ internalType: 'uint256',
1276
+ },
1277
+ ],
1278
+ anonymous: false,
1279
+ },
1280
+ {
1281
+ type: 'event',
1282
+ name: 'TransferPolicyUpdate',
1283
+ inputs: [
1284
+ {
1285
+ name: 'updater',
1286
+ type: 'address',
1287
+ indexed: true,
1288
+ internalType: 'address',
1289
+ },
1290
+ {
1291
+ name: 'newPolicyId',
1292
+ type: 'uint64',
1293
+ indexed: true,
1294
+ internalType: 'uint64',
1295
+ },
1296
+ ],
1297
+ anonymous: false,
1298
+ },
1299
+ {
1300
+ type: 'event',
1301
+ name: 'TransferWithMemo',
1302
+ inputs: [
1303
+ { name: 'from', type: 'address', indexed: true, internalType: 'address' },
1304
+ { name: 'to', type: 'address', indexed: true, internalType: 'address' },
1305
+ {
1306
+ name: 'amount',
1307
+ type: 'uint256',
1308
+ indexed: false,
1309
+ internalType: 'uint256',
1310
+ },
1311
+ { name: 'memo', type: 'bytes32', indexed: true, internalType: 'bytes32' },
1312
+ ],
1313
+ anonymous: false,
1314
+ },
1315
+ { type: 'error', name: 'ContractPaused', inputs: [] },
1316
+ { type: 'error', name: 'Expired', inputs: [] },
1317
+ { type: 'error', name: 'InsufficientAllowance', inputs: [] },
1318
+ { type: 'error', name: 'InsufficientBalance', inputs: [] },
1319
+ { type: 'error', name: 'InvalidCurrency', inputs: [] },
1320
+ { type: 'error', name: 'InvalidRecipient', inputs: [] },
1321
+ { type: 'error', name: 'InvalidSignature', inputs: [] },
1322
+ { type: 'error', name: 'PolicyForbids', inputs: [] },
1323
+ { type: 'error', name: 'SupplyCapExceeded', inputs: [] },
1324
+ { type: 'error', name: 'Unauthorized', inputs: [] },
1325
+ ]);
1326
+ export const tip20FactoryAbi = Abi.from([
1327
+ {
1328
+ type: 'function',
1329
+ name: 'createToken',
1330
+ inputs: [
1331
+ { name: 'name', type: 'string', internalType: 'string' },
1332
+ { name: 'symbol', type: 'string', internalType: 'string' },
1333
+ { name: 'currency', type: 'string', internalType: 'string' },
1334
+ { name: 'admin', type: 'address', internalType: 'address' },
1335
+ ],
1336
+ outputs: [{ name: '', type: 'address', internalType: 'address' }],
1337
+ stateMutability: 'nonpayable',
1338
+ },
1339
+ {
1340
+ type: 'function',
1341
+ name: 'tokenIdCounter',
1342
+ inputs: [],
1343
+ outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],
1344
+ stateMutability: 'view',
1345
+ },
1346
+ {
1347
+ type: 'event',
1348
+ name: 'TokenCreated',
1349
+ inputs: [
1350
+ {
1351
+ name: 'token',
1352
+ type: 'address',
1353
+ indexed: true,
1354
+ internalType: 'address',
1355
+ },
1356
+ {
1357
+ name: 'tokenId',
1358
+ type: 'uint256',
1359
+ indexed: true,
1360
+ internalType: 'uint256',
1361
+ },
1362
+ { name: 'name', type: 'string', indexed: false, internalType: 'string' },
1363
+ {
1364
+ name: 'symbol',
1365
+ type: 'string',
1366
+ indexed: false,
1367
+ internalType: 'string',
1368
+ },
1369
+ {
1370
+ name: 'currency',
1371
+ type: 'string',
1372
+ indexed: false,
1373
+ internalType: 'string',
1374
+ },
1375
+ {
1376
+ name: 'admin',
1377
+ type: 'address',
1378
+ indexed: false,
1379
+ internalType: 'address',
1380
+ },
1381
+ ],
1382
+ anonymous: false,
1383
+ },
1384
+ ]);
1385
+ export const tip4217RegistryAbi = Abi.from([
1386
+ {
1387
+ type: 'function',
1388
+ name: 'getCurrencyDecimals',
1389
+ inputs: [{ name: 'currency', type: 'string', internalType: 'string' }],
1390
+ outputs: [{ name: '', type: 'uint8', internalType: 'uint8' }],
1391
+ stateMutability: 'view',
1392
+ },
1393
+ ]);
1394
+ export const tip403RegistryAbi = Abi.from([
1395
+ {
1396
+ type: 'function',
1397
+ name: 'createPolicy',
1398
+ inputs: [
1399
+ { name: 'admin', type: 'address', internalType: 'address' },
1400
+ {
1401
+ name: 'policyType',
1402
+ type: 'uint8',
1403
+ internalType: 'enum TIP403Registry.PolicyType',
1404
+ },
1405
+ { name: 'accounts', type: 'address[]', internalType: 'address[]' },
1406
+ ],
1407
+ outputs: [{ name: 'newPolicyId', type: 'uint64', internalType: 'uint64' }],
1408
+ stateMutability: 'nonpayable',
1409
+ },
1410
+ {
1411
+ type: 'function',
1412
+ name: 'createPolicy',
1413
+ inputs: [
1414
+ { name: 'admin', type: 'address', internalType: 'address' },
1415
+ {
1416
+ name: 'policyType',
1417
+ type: 'uint8',
1418
+ internalType: 'enum TIP403Registry.PolicyType',
1419
+ },
1420
+ ],
1421
+ outputs: [{ name: 'newPolicyId', type: 'uint64', internalType: 'uint64' }],
1422
+ stateMutability: 'nonpayable',
1423
+ },
1424
+ {
1425
+ type: 'function',
1426
+ name: 'isAuthorized',
1427
+ inputs: [
1428
+ { name: 'policyId', type: 'uint64', internalType: 'uint64' },
1429
+ { name: 'user', type: 'address', internalType: 'address' },
1430
+ ],
1431
+ outputs: [{ name: '', type: 'bool', internalType: 'bool' }],
1432
+ stateMutability: 'view',
1433
+ },
1434
+ {
1435
+ type: 'function',
1436
+ name: 'modifyPolicyBlacklist',
1437
+ inputs: [
1438
+ { name: 'policyId', type: 'uint64', internalType: 'uint64' },
1439
+ { name: 'account', type: 'address', internalType: 'address' },
1440
+ { name: 'restricted', type: 'bool', internalType: 'bool' },
1441
+ ],
1442
+ outputs: [],
1443
+ stateMutability: 'nonpayable',
1444
+ },
1445
+ {
1446
+ type: 'function',
1447
+ name: 'modifyPolicyWhitelist',
1448
+ inputs: [
1449
+ { name: 'policyId', type: 'uint64', internalType: 'uint64' },
1450
+ { name: 'account', type: 'address', internalType: 'address' },
1451
+ { name: 'allowed', type: 'bool', internalType: 'bool' },
1452
+ ],
1453
+ outputs: [],
1454
+ stateMutability: 'nonpayable',
1455
+ },
1456
+ {
1457
+ type: 'function',
1458
+ name: 'policyData',
1459
+ inputs: [{ name: '', type: 'uint64', internalType: 'uint64' }],
1460
+ outputs: [
1461
+ {
1462
+ name: 'policyType',
1463
+ type: 'uint8',
1464
+ internalType: 'enum TIP403Registry.PolicyType',
1465
+ },
1466
+ { name: 'admin', type: 'address', internalType: 'address' },
1467
+ ],
1468
+ stateMutability: 'view',
1469
+ },
1470
+ {
1471
+ type: 'function',
1472
+ name: 'policyIdCounter',
1473
+ inputs: [],
1474
+ outputs: [{ name: '', type: 'uint64', internalType: 'uint64' }],
1475
+ stateMutability: 'view',
1476
+ },
1477
+ {
1478
+ type: 'function',
1479
+ name: 'setPolicyAdmin',
1480
+ inputs: [
1481
+ { name: 'policyId', type: 'uint64', internalType: 'uint64' },
1482
+ { name: 'admin', type: 'address', internalType: 'address' },
1483
+ ],
1484
+ outputs: [],
1485
+ stateMutability: 'nonpayable',
1486
+ },
1487
+ {
1488
+ type: 'event',
1489
+ name: 'BlacklistUpdated',
1490
+ inputs: [
1491
+ {
1492
+ name: 'policyId',
1493
+ type: 'uint64',
1494
+ indexed: true,
1495
+ internalType: 'uint64',
1496
+ },
1497
+ {
1498
+ name: 'updater',
1499
+ type: 'address',
1500
+ indexed: true,
1501
+ internalType: 'address',
1502
+ },
1503
+ {
1504
+ name: 'account',
1505
+ type: 'address',
1506
+ indexed: true,
1507
+ internalType: 'address',
1508
+ },
1509
+ {
1510
+ name: 'restricted',
1511
+ type: 'bool',
1512
+ indexed: false,
1513
+ internalType: 'bool',
1514
+ },
1515
+ ],
1516
+ anonymous: false,
1517
+ },
1518
+ {
1519
+ type: 'event',
1520
+ name: 'PolicyAdminUpdated',
1521
+ inputs: [
1522
+ {
1523
+ name: 'policyId',
1524
+ type: 'uint64',
1525
+ indexed: true,
1526
+ internalType: 'uint64',
1527
+ },
1528
+ {
1529
+ name: 'updater',
1530
+ type: 'address',
1531
+ indexed: true,
1532
+ internalType: 'address',
1533
+ },
1534
+ {
1535
+ name: 'admin',
1536
+ type: 'address',
1537
+ indexed: true,
1538
+ internalType: 'address',
1539
+ },
1540
+ ],
1541
+ anonymous: false,
1542
+ },
1543
+ {
1544
+ type: 'event',
1545
+ name: 'PolicyCreated',
1546
+ inputs: [
1547
+ {
1548
+ name: 'policyId',
1549
+ type: 'uint64',
1550
+ indexed: true,
1551
+ internalType: 'uint64',
1552
+ },
1553
+ {
1554
+ name: 'updater',
1555
+ type: 'address',
1556
+ indexed: true,
1557
+ internalType: 'address',
1558
+ },
1559
+ {
1560
+ name: 'policyType',
1561
+ type: 'uint8',
1562
+ indexed: false,
1563
+ internalType: 'enum TIP403Registry.PolicyType',
1564
+ },
1565
+ ],
1566
+ anonymous: false,
1567
+ },
1568
+ {
1569
+ type: 'event',
1570
+ name: 'WhitelistUpdated',
1571
+ inputs: [
1572
+ {
1573
+ name: 'policyId',
1574
+ type: 'uint64',
1575
+ indexed: true,
1576
+ internalType: 'uint64',
1577
+ },
1578
+ {
1579
+ name: 'updater',
1580
+ type: 'address',
1581
+ indexed: true,
1582
+ internalType: 'address',
1583
+ },
1584
+ {
1585
+ name: 'account',
1586
+ type: 'address',
1587
+ indexed: true,
1588
+ internalType: 'address',
1589
+ },
1590
+ { name: 'allowed', type: 'bool', indexed: false, internalType: 'bool' },
1591
+ ],
1592
+ anonymous: false,
1593
+ },
1594
+ { type: 'error', name: 'ArrayLengthMismatch', inputs: [] },
1595
+ { type: 'error', name: 'IncompatiblePolicyType', inputs: [] },
1596
+ { type: 'error', name: 'PolicyDoesNotExist', inputs: [] },
1597
+ { type: 'error', name: 'Unauthorized', inputs: [] },
1598
+ ]);
1599
+ //# sourceMappingURL=abis.js.map