tempo.ts 0.1.5 → 0.2.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 (297) hide show
  1. package/README.md +33 -2
  2. package/dist/chains.d.ts +509 -115
  3. package/dist/chains.d.ts.map +1 -1
  4. package/dist/chains.js +20 -9
  5. package/dist/chains.js.map +1 -1
  6. package/dist/ox/Order.d.ts +92 -0
  7. package/dist/ox/Order.d.ts.map +1 -0
  8. package/dist/ox/Order.js +88 -0
  9. package/dist/ox/Order.js.map +1 -0
  10. package/dist/ox/OrdersFilters.d.ts +72 -0
  11. package/dist/ox/OrdersFilters.d.ts.map +1 -0
  12. package/dist/ox/OrdersFilters.js +100 -0
  13. package/dist/ox/OrdersFilters.js.map +1 -0
  14. package/dist/ox/Pagination.d.ts +128 -0
  15. package/dist/ox/Pagination.d.ts.map +1 -0
  16. package/dist/ox/Pagination.js +78 -0
  17. package/dist/ox/Pagination.js.map +1 -0
  18. package/dist/ox/PoolId.d.ts +18 -0
  19. package/dist/ox/PoolId.d.ts.map +1 -0
  20. package/dist/ox/PoolId.js +13 -0
  21. package/dist/ox/PoolId.js.map +1 -0
  22. package/dist/ox/RpcSchema.d.ts +32 -0
  23. package/dist/ox/RpcSchema.d.ts.map +1 -0
  24. package/dist/ox/RpcSchema.js +2 -0
  25. package/dist/ox/RpcSchema.js.map +1 -0
  26. package/dist/ox/SignatureEnvelope.d.ts +1 -1
  27. package/dist/ox/SignatureEnvelope.d.ts.map +1 -1
  28. package/dist/ox/SignatureEnvelope.js.map +1 -1
  29. package/dist/{viem → ox}/Tick.d.ts +4 -0
  30. package/dist/ox/Tick.d.ts.map +1 -0
  31. package/dist/ox/Tick.js.map +1 -0
  32. package/dist/ox/Transaction.d.ts.map +1 -1
  33. package/dist/ox/Transaction.js +2 -1
  34. package/dist/ox/Transaction.js.map +1 -1
  35. package/dist/ox/TransactionEnvelopeAA.d.ts +6 -6
  36. package/dist/ox/TransactionEnvelopeAA.d.ts.map +1 -1
  37. package/dist/ox/TransactionEnvelopeAA.js +4 -2
  38. package/dist/ox/TransactionEnvelopeAA.js.map +1 -1
  39. package/dist/ox/TransactionRequest.d.ts +4 -0
  40. package/dist/ox/TransactionRequest.d.ts.map +1 -1
  41. package/dist/ox/TransactionRequest.js.map +1 -1
  42. package/dist/ox/index.d.ts +6 -0
  43. package/dist/ox/index.d.ts.map +1 -1
  44. package/dist/ox/index.js +6 -0
  45. package/dist/ox/index.js.map +1 -1
  46. package/dist/prool/Instance.d.ts.map +1 -1
  47. package/dist/prool/Instance.js +20 -4
  48. package/dist/prool/Instance.js.map +1 -1
  49. package/dist/viem/Abis.d.ts +1469 -1082
  50. package/dist/viem/Abis.d.ts.map +1 -1
  51. package/dist/viem/Abis.js +932 -671
  52. package/dist/viem/Abis.js.map +1 -1
  53. package/dist/viem/Account.d.ts +150 -0
  54. package/dist/viem/Account.d.ts.map +1 -0
  55. package/dist/viem/Account.js +221 -0
  56. package/dist/viem/Account.js.map +1 -0
  57. package/dist/viem/Actions/amm.d.ts +144 -161
  58. package/dist/viem/Actions/amm.d.ts.map +1 -1
  59. package/dist/viem/Actions/amm.js +109 -163
  60. package/dist/viem/Actions/amm.js.map +1 -1
  61. package/dist/viem/Actions/dex.d.ts +920 -664
  62. package/dist/viem/Actions/dex.d.ts.map +1 -1
  63. package/dist/viem/Actions/dex.js +129 -30
  64. package/dist/viem/Actions/dex.js.map +1 -1
  65. package/dist/viem/Actions/faucet.d.ts +34 -0
  66. package/dist/viem/Actions/faucet.d.ts.map +1 -0
  67. package/dist/viem/Actions/faucet.js +33 -0
  68. package/dist/viem/Actions/faucet.js.map +1 -0
  69. package/dist/viem/Actions/fee.d.ts +16 -30
  70. package/dist/viem/Actions/fee.d.ts.map +1 -1
  71. package/dist/viem/Actions/fee.js +13 -13
  72. package/dist/viem/Actions/fee.js.map +1 -1
  73. package/dist/viem/Actions/index.d.ts +2 -0
  74. package/dist/viem/Actions/index.d.ts.map +1 -1
  75. package/dist/viem/Actions/index.js +2 -0
  76. package/dist/viem/Actions/index.js.map +1 -1
  77. package/dist/viem/Actions/policy.d.ts +46 -46
  78. package/dist/viem/Actions/policy.js +46 -46
  79. package/dist/viem/Actions/reward.d.ts +3236 -0
  80. package/dist/viem/Actions/reward.d.ts.map +1 -0
  81. package/dist/viem/Actions/reward.js +725 -0
  82. package/dist/viem/Actions/reward.js.map +1 -0
  83. package/dist/viem/Actions/token.d.ts +4399 -2750
  84. package/dist/viem/Actions/token.d.ts.map +1 -1
  85. package/dist/viem/Actions/token.js +361 -482
  86. package/dist/viem/Actions/token.js.map +1 -1
  87. package/dist/viem/Addresses.d.ts +1 -2
  88. package/dist/viem/Addresses.d.ts.map +1 -1
  89. package/dist/viem/Addresses.js +1 -2
  90. package/dist/viem/Addresses.js.map +1 -1
  91. package/dist/viem/Chain.d.ts +38 -12
  92. package/dist/viem/Chain.d.ts.map +1 -1
  93. package/dist/viem/Chain.js +27 -18
  94. package/dist/viem/Chain.js.map +1 -1
  95. package/dist/viem/Decorator.d.ts +1009 -428
  96. package/dist/viem/Decorator.d.ts.map +1 -1
  97. package/dist/viem/Decorator.js +17 -5
  98. package/dist/viem/Decorator.js.map +1 -1
  99. package/dist/viem/Formatters.d.ts +8 -1
  100. package/dist/viem/Formatters.d.ts.map +1 -1
  101. package/dist/viem/Formatters.js +17 -0
  102. package/dist/viem/Formatters.js.map +1 -1
  103. package/dist/viem/P256.d.ts +2 -0
  104. package/dist/viem/P256.d.ts.map +1 -0
  105. package/dist/viem/P256.js +2 -0
  106. package/dist/viem/P256.js.map +1 -0
  107. package/dist/viem/Secp256k1.d.ts +2 -0
  108. package/dist/viem/Secp256k1.d.ts.map +1 -0
  109. package/dist/viem/Secp256k1.js +2 -0
  110. package/dist/viem/Secp256k1.js.map +1 -0
  111. package/dist/viem/TokenIds.d.ts +1 -2
  112. package/dist/viem/TokenIds.d.ts.map +1 -1
  113. package/dist/viem/TokenIds.js +1 -2
  114. package/dist/viem/TokenIds.js.map +1 -1
  115. package/dist/viem/Transaction.d.ts +1 -1
  116. package/dist/viem/Transaction.d.ts.map +1 -1
  117. package/dist/viem/Transaction.js +46 -5
  118. package/dist/viem/Transaction.js.map +1 -1
  119. package/dist/viem/WebAuthnP256.d.ts +79 -0
  120. package/dist/viem/WebAuthnP256.d.ts.map +1 -0
  121. package/dist/viem/WebAuthnP256.js +95 -0
  122. package/dist/viem/WebAuthnP256.js.map +1 -0
  123. package/dist/viem/WebCryptoP256.d.ts +2 -0
  124. package/dist/viem/WebCryptoP256.d.ts.map +1 -0
  125. package/dist/viem/WebCryptoP256.js +2 -0
  126. package/dist/viem/WebCryptoP256.js.map +1 -0
  127. package/dist/viem/index.d.ts +6 -3
  128. package/dist/viem/index.d.ts.map +1 -1
  129. package/dist/viem/index.js +6 -3
  130. package/dist/viem/index.js.map +1 -1
  131. package/dist/viem/internal/account.d.ts +24 -0
  132. package/dist/viem/internal/account.d.ts.map +1 -0
  133. package/dist/viem/internal/account.js +68 -0
  134. package/dist/viem/internal/account.js.map +1 -0
  135. package/dist/viem/internal/types.d.ts +10 -0
  136. package/dist/viem/internal/types.d.ts.map +1 -1
  137. package/dist/wagmi/Actions/amm.d.ts +428 -0
  138. package/dist/wagmi/Actions/amm.d.ts.map +1 -0
  139. package/dist/wagmi/Actions/amm.js +472 -0
  140. package/dist/wagmi/Actions/amm.js.map +1 -0
  141. package/dist/wagmi/Actions/dex.d.ts +908 -0
  142. package/dist/wagmi/Actions/dex.d.ts.map +1 -0
  143. package/dist/wagmi/Actions/dex.js +1023 -0
  144. package/dist/wagmi/Actions/dex.js.map +1 -0
  145. package/dist/wagmi/Actions/faucet.d.ts +35 -0
  146. package/dist/wagmi/Actions/faucet.d.ts.map +1 -0
  147. package/dist/wagmi/Actions/faucet.js +33 -0
  148. package/dist/wagmi/Actions/faucet.js.map +1 -0
  149. package/dist/wagmi/Actions/fee.d.ts +111 -0
  150. package/dist/wagmi/Actions/fee.d.ts.map +1 -0
  151. package/dist/wagmi/Actions/fee.js +126 -0
  152. package/dist/wagmi/Actions/fee.js.map +1 -0
  153. package/dist/wagmi/Actions/index.d.ts +7 -0
  154. package/dist/wagmi/Actions/index.d.ts.map +1 -0
  155. package/dist/wagmi/Actions/index.js +7 -0
  156. package/dist/wagmi/Actions/index.js.map +1 -0
  157. package/dist/wagmi/Actions/reward.d.ts +348 -0
  158. package/dist/wagmi/Actions/reward.d.ts.map +1 -0
  159. package/dist/wagmi/Actions/reward.js +388 -0
  160. package/dist/wagmi/Actions/reward.js.map +1 -0
  161. package/dist/wagmi/Actions/token.d.ts +1546 -0
  162. package/dist/wagmi/Actions/token.d.ts.map +1 -0
  163. package/dist/wagmi/Actions/token.js +1712 -0
  164. package/dist/wagmi/Actions/token.js.map +1 -0
  165. package/dist/wagmi/Connector.d.ts +81 -0
  166. package/dist/wagmi/Connector.d.ts.map +1 -0
  167. package/dist/wagmi/Connector.js +261 -0
  168. package/dist/wagmi/Connector.js.map +1 -0
  169. package/dist/wagmi/Hooks/amm.d.ts +421 -0
  170. package/dist/wagmi/Hooks/amm.d.ts.map +1 -0
  171. package/dist/wagmi/Hooks/amm.js +504 -0
  172. package/dist/wagmi/Hooks/amm.js.map +1 -0
  173. package/dist/wagmi/Hooks/dex.d.ts +816 -0
  174. package/dist/wagmi/Hooks/dex.d.ts.map +1 -0
  175. package/dist/wagmi/Hooks/dex.js +973 -0
  176. package/dist/wagmi/Hooks/dex.js.map +1 -0
  177. package/dist/wagmi/Hooks/faucet.d.ts +39 -0
  178. package/dist/wagmi/Hooks/faucet.d.ts.map +1 -0
  179. package/dist/wagmi/Hooks/faucet.js +40 -0
  180. package/dist/wagmi/Hooks/faucet.js.map +1 -0
  181. package/dist/wagmi/Hooks/fee.d.ts +97 -0
  182. package/dist/wagmi/Hooks/fee.d.ts.map +1 -0
  183. package/dist/wagmi/Hooks/fee.js +109 -0
  184. package/dist/wagmi/Hooks/fee.js.map +1 -0
  185. package/dist/wagmi/Hooks/index.d.ts +7 -0
  186. package/dist/wagmi/Hooks/index.d.ts.map +1 -0
  187. package/dist/wagmi/Hooks/index.js +7 -0
  188. package/dist/wagmi/Hooks/index.js.map +1 -0
  189. package/dist/wagmi/Hooks/reward.d.ts +307 -0
  190. package/dist/wagmi/Hooks/reward.d.ts.map +1 -0
  191. package/dist/wagmi/Hooks/reward.js +349 -0
  192. package/dist/wagmi/Hooks/reward.js.map +1 -0
  193. package/dist/wagmi/Hooks/token.d.ts +1388 -0
  194. package/dist/wagmi/Hooks/token.d.ts.map +1 -0
  195. package/dist/wagmi/Hooks/token.js +1657 -0
  196. package/dist/wagmi/Hooks/token.js.map +1 -0
  197. package/dist/wagmi/index.d.ts +4 -0
  198. package/dist/wagmi/index.d.ts.map +1 -0
  199. package/dist/wagmi/index.js +4 -0
  200. package/dist/wagmi/index.js.map +1 -0
  201. package/package.json +54 -10
  202. package/src/chains.ts +21 -9
  203. package/src/ox/Order.test.ts +78 -0
  204. package/src/ox/Order.ts +125 -0
  205. package/src/ox/OrdersFilters.test.ts +182 -0
  206. package/src/ox/OrdersFilters.ts +125 -0
  207. package/src/ox/Pagination.test.ts +162 -0
  208. package/src/ox/Pagination.ts +164 -0
  209. package/src/ox/PoolId.test.ts +33 -0
  210. package/src/ox/PoolId.ts +27 -0
  211. package/src/ox/RpcSchema.ts +35 -0
  212. package/src/ox/SignatureEnvelope.ts +3 -1
  213. package/src/{viem → ox}/Tick.test.ts +1 -1
  214. package/src/{viem → ox}/Tick.ts +5 -0
  215. package/src/ox/Transaction.test.ts +1 -1
  216. package/src/ox/Transaction.ts +2 -1
  217. package/src/ox/TransactionEnvelopeAA.test.ts +239 -96
  218. package/src/ox/TransactionEnvelopeAA.ts +9 -7
  219. package/src/ox/TransactionRequest.ts +4 -0
  220. package/src/ox/index.ts +6 -0
  221. package/src/prool/Instance.ts +51 -37
  222. package/src/prool/internal/chain.json +104 -52
  223. package/src/tsconfig.json +9 -0
  224. package/src/viem/Abis.ts +972 -710
  225. package/src/viem/Account.ts +279 -0
  226. package/src/viem/Actions/__snapshots__/dex.test.ts.snap +850 -0
  227. package/src/viem/Actions/amm.test.ts +173 -169
  228. package/src/viem/Actions/amm.ts +131 -203
  229. package/src/viem/Actions/dex.test.ts +563 -484
  230. package/src/viem/Actions/dex.ts +203 -30
  231. package/src/viem/Actions/faucet.ts +50 -0
  232. package/src/viem/Actions/fee.test.ts +23 -34
  233. package/src/viem/Actions/fee.ts +20 -13
  234. package/src/viem/Actions/index.ts +2 -0
  235. package/src/viem/Actions/policy.test.ts +19 -33
  236. package/src/viem/Actions/policy.ts +46 -46
  237. package/src/viem/Actions/reward.test.ts +457 -0
  238. package/src/viem/Actions/reward.ts +999 -0
  239. package/src/viem/Actions/token.test.ts +453 -287
  240. package/src/viem/Actions/token.ts +605 -693
  241. package/src/viem/Addresses.ts +1 -2
  242. package/src/viem/Chain.bench-d.ts +12 -0
  243. package/src/viem/Chain.ts +70 -20
  244. package/src/viem/Decorator.bench-d.ts +1 -1
  245. package/src/viem/Decorator.test.ts +3 -1
  246. package/src/viem/Decorator.ts +1049 -442
  247. package/src/viem/Formatters.ts +31 -5
  248. package/src/viem/P256.ts +1 -0
  249. package/src/viem/Secp256k1.ts +1 -0
  250. package/src/viem/TokenIds.ts +1 -2
  251. package/src/viem/Transaction.ts +53 -7
  252. package/src/viem/WebAuthnP256.ts +140 -0
  253. package/src/viem/WebCryptoP256.ts +1 -0
  254. package/src/viem/e2e.test.ts +1126 -297
  255. package/src/viem/index.ts +6 -3
  256. package/src/viem/internal/account.ts +107 -0
  257. package/src/viem/internal/types.ts +9 -0
  258. package/src/wagmi/Actions/__snapshots__/dex.test.ts.snap +310 -0
  259. package/src/wagmi/Actions/amm.test.ts +198 -0
  260. package/src/wagmi/Actions/amm.ts +691 -0
  261. package/src/wagmi/Actions/dex.test.ts +1507 -0
  262. package/src/wagmi/Actions/dex.ts +1640 -0
  263. package/src/wagmi/Actions/faucet.ts +46 -0
  264. package/src/wagmi/Actions/fee.test.ts +63 -0
  265. package/src/wagmi/Actions/fee.ts +208 -0
  266. package/src/wagmi/Actions/index.ts +6 -0
  267. package/src/wagmi/Actions/reward.test.ts +210 -0
  268. package/src/wagmi/Actions/reward.ts +632 -0
  269. package/src/wagmi/Actions/token.test.ts +1308 -0
  270. package/src/wagmi/Actions/token.ts +2613 -0
  271. package/src/wagmi/Connector.test.ts +53 -0
  272. package/src/wagmi/Connector.ts +390 -0
  273. package/src/wagmi/Hooks/__snapshots__/dex.test.ts.snap +457 -0
  274. package/src/wagmi/Hooks/amm.test.ts +424 -0
  275. package/src/wagmi/Hooks/amm.ts +806 -0
  276. package/src/wagmi/Hooks/dex.test.ts +1017 -0
  277. package/src/wagmi/Hooks/dex.ts +1685 -0
  278. package/src/wagmi/Hooks/faucet.ts +76 -0
  279. package/src/wagmi/Hooks/fee.test.ts +166 -0
  280. package/src/wagmi/Hooks/fee.ts +206 -0
  281. package/src/wagmi/Hooks/index.ts +6 -0
  282. package/src/wagmi/Hooks/reward.test.ts +219 -0
  283. package/src/wagmi/Hooks/reward.ts +672 -0
  284. package/src/wagmi/Hooks/token.test.ts +1670 -0
  285. package/src/wagmi/Hooks/token.ts +2906 -0
  286. package/src/wagmi/index.ts +3 -0
  287. package/src/wagmi/internal/types.ts +16 -0
  288. package/dist/viem/Client.d.ts +0 -27
  289. package/dist/viem/Client.d.ts.map +0 -1
  290. package/dist/viem/Client.js +0 -28
  291. package/dist/viem/Client.js.map +0 -1
  292. package/dist/viem/Tick.d.ts.map +0 -1
  293. package/dist/viem/Tick.js.map +0 -1
  294. package/src/viem/Client.bench-d.ts +0 -8
  295. package/src/viem/Client.test.ts +0 -178
  296. package/src/viem/Client.ts +0 -91
  297. /package/dist/{viem → ox}/Tick.js +0 -0
package/src/viem/Abis.ts CHANGED
@@ -1,1111 +1,1128 @@
1
1
  // Generated with `pnpm gen:abis`. Do not modify manually.
2
2
 
3
- export const tip20 = [
3
+ export const nonce = [
4
4
  {
5
- name: 'name',
5
+ name: 'getNonce',
6
6
  type: 'function',
7
7
  stateMutability: 'view',
8
- inputs: [],
9
- outputs: [{ type: 'string' }],
8
+ inputs: [
9
+ { type: 'address', name: 'account' },
10
+ { type: 'uint256', name: 'nonceKey' },
11
+ ],
12
+ outputs: [{ type: 'uint64', name: 'nonce' }],
10
13
  },
11
14
  {
12
- name: 'symbol',
15
+ name: 'getActiveNonceKeyCount',
13
16
  type: 'function',
14
17
  stateMutability: 'view',
15
- inputs: [],
16
- outputs: [{ type: 'string' }],
18
+ inputs: [{ type: 'address', name: 'account' }],
19
+ outputs: [{ type: 'uint256', name: 'count' }],
17
20
  },
18
21
  {
19
- name: 'decimals',
22
+ name: 'NonceIncremented',
23
+ type: 'event',
24
+ inputs: [
25
+ { type: 'address', name: 'account', indexed: true },
26
+ { type: 'uint256', name: 'nonceKey', indexed: true },
27
+ { type: 'uint64', name: 'newNonce' },
28
+ ],
29
+ },
30
+ {
31
+ name: 'ActiveKeyCountChanged',
32
+ type: 'event',
33
+ inputs: [
34
+ { type: 'address', name: 'account', indexed: true },
35
+ { type: 'uint256', name: 'newCount' },
36
+ ],
37
+ },
38
+ { name: 'ProtocolNonceNotSupported', type: 'error', inputs: [] },
39
+ { name: 'InvalidNonceKey', type: 'error', inputs: [] },
40
+ { name: 'NonceOverflow', type: 'error', inputs: [] },
41
+ ] as const
42
+
43
+ export const stablecoinExchange = [
44
+ {
45
+ name: 'createPair',
20
46
  type: 'function',
21
- stateMutability: 'view',
22
- inputs: [],
23
- outputs: [{ type: 'uint8' }],
47
+ stateMutability: 'nonpayable',
48
+ inputs: [{ type: 'address', name: 'base' }],
49
+ outputs: [{ type: 'bytes32', name: 'key' }],
24
50
  },
25
51
  {
26
- name: 'totalSupply',
52
+ name: 'place',
27
53
  type: 'function',
28
- stateMutability: 'view',
29
- inputs: [],
30
- outputs: [{ type: 'uint256' }],
54
+ stateMutability: 'nonpayable',
55
+ inputs: [
56
+ { type: 'address', name: 'token' },
57
+ { type: 'uint128', name: 'amount' },
58
+ { type: 'bool', name: 'isBid' },
59
+ { type: 'int16', name: 'tick' },
60
+ ],
61
+ outputs: [{ type: 'uint128', name: 'orderId' }],
31
62
  },
32
63
  {
33
- name: 'quoteToken',
64
+ name: 'placeFlip',
34
65
  type: 'function',
35
- stateMutability: 'view',
36
- inputs: [],
37
- outputs: [{ type: 'address' }],
66
+ stateMutability: 'nonpayable',
67
+ inputs: [
68
+ { type: 'address', name: 'token' },
69
+ { type: 'uint128', name: 'amount' },
70
+ { type: 'bool', name: 'isBid' },
71
+ { type: 'int16', name: 'tick' },
72
+ { type: 'int16', name: 'flipTick' },
73
+ ],
74
+ outputs: [{ type: 'uint128', name: 'orderId' }],
38
75
  },
39
76
  {
40
- name: 'nextQuoteToken',
77
+ name: 'cancel',
41
78
  type: 'function',
42
- stateMutability: 'view',
43
- inputs: [],
44
- outputs: [{ type: 'address' }],
79
+ stateMutability: 'nonpayable',
80
+ inputs: [{ type: 'uint128', name: 'orderId' }],
81
+ outputs: [],
45
82
  },
46
83
  {
47
- name: 'balanceOf',
84
+ name: 'executeBlock',
48
85
  type: 'function',
49
- stateMutability: 'view',
50
- inputs: [{ type: 'address', name: 'account' }],
51
- outputs: [{ type: 'uint256' }],
86
+ stateMutability: 'nonpayable',
87
+ inputs: [],
88
+ outputs: [],
52
89
  },
53
90
  {
54
- name: 'transfer',
91
+ name: 'swapExactAmountIn',
55
92
  type: 'function',
56
93
  stateMutability: 'nonpayable',
57
94
  inputs: [
58
- { type: 'address', name: 'to' },
59
- { type: 'uint256', name: 'amount' },
95
+ { type: 'address', name: 'tokenIn' },
96
+ { type: 'address', name: 'tokenOut' },
97
+ { type: 'uint128', name: 'amountIn' },
98
+ { type: 'uint128', name: 'minAmountOut' },
60
99
  ],
61
- outputs: [{ type: 'bool' }],
100
+ outputs: [{ type: 'uint128', name: 'amountOut' }],
62
101
  },
63
102
  {
64
- name: 'approve',
103
+ name: 'swapExactAmountOut',
65
104
  type: 'function',
66
105
  stateMutability: 'nonpayable',
67
106
  inputs: [
68
- { type: 'address', name: 'spender' },
69
- { type: 'uint256', name: 'amount' },
107
+ { type: 'address', name: 'tokenIn' },
108
+ { type: 'address', name: 'tokenOut' },
109
+ { type: 'uint128', name: 'amountOut' },
110
+ { type: 'uint128', name: 'maxAmountIn' },
70
111
  ],
71
- outputs: [{ type: 'bool' }],
112
+ outputs: [{ type: 'uint128', name: 'amountIn' }],
72
113
  },
73
114
  {
74
- name: 'allowance',
115
+ name: 'quoteSwapExactAmountIn',
75
116
  type: 'function',
76
117
  stateMutability: 'view',
77
118
  inputs: [
78
- { type: 'address', name: 'owner' },
79
- { type: 'address', name: 'spender' },
119
+ { type: 'address', name: 'tokenIn' },
120
+ { type: 'address', name: 'tokenOut' },
121
+ { type: 'uint128', name: 'amountIn' },
80
122
  ],
81
- outputs: [{ type: 'uint256' }],
123
+ outputs: [{ type: 'uint128', name: 'amountOut' }],
82
124
  },
83
125
  {
84
- name: 'transferFrom',
126
+ name: 'quoteSwapExactAmountOut',
85
127
  type: 'function',
86
- stateMutability: 'nonpayable',
128
+ stateMutability: 'view',
87
129
  inputs: [
88
- { type: 'address', name: 'from' },
89
- { type: 'address', name: 'to' },
90
- { type: 'uint256', name: 'amount' },
130
+ { type: 'address', name: 'tokenIn' },
131
+ { type: 'address', name: 'tokenOut' },
132
+ { type: 'uint128', name: 'amountOut' },
91
133
  ],
92
- outputs: [{ type: 'bool' }],
134
+ outputs: [{ type: 'uint128', name: 'amountIn' }],
93
135
  },
94
136
  {
95
- name: 'mint',
137
+ name: 'balanceOf',
96
138
  type: 'function',
97
- stateMutability: 'nonpayable',
139
+ stateMutability: 'view',
98
140
  inputs: [
99
- { type: 'address', name: 'to' },
100
- { type: 'uint256', name: 'amount' },
141
+ { type: 'address', name: 'user' },
142
+ { type: 'address', name: 'token' },
101
143
  ],
102
- outputs: [],
144
+ outputs: [{ type: 'uint128' }],
103
145
  },
104
146
  {
105
- name: 'burn',
147
+ name: 'withdraw',
106
148
  type: 'function',
107
149
  stateMutability: 'nonpayable',
108
- inputs: [{ type: 'uint256', name: 'amount' }],
150
+ inputs: [
151
+ { type: 'address', name: 'token' },
152
+ { type: 'uint128', name: 'amount' },
153
+ ],
109
154
  outputs: [],
110
155
  },
111
156
  {
112
- name: 'currency',
157
+ name: 'getOrder',
113
158
  type: 'function',
114
159
  stateMutability: 'view',
115
- inputs: [],
116
- outputs: [{ type: 'string' }],
160
+ inputs: [{ type: 'uint128', name: 'orderId' }],
161
+ outputs: [
162
+ {
163
+ type: 'tuple',
164
+ components: [
165
+ { type: 'uint128', name: 'orderId' },
166
+ { type: 'address', name: 'maker' },
167
+ { type: 'bytes32', name: 'bookKey' },
168
+ { type: 'bool', name: 'isBid' },
169
+ { type: 'int16', name: 'tick' },
170
+ { type: 'uint128', name: 'amount' },
171
+ { type: 'uint128', name: 'remaining' },
172
+ { type: 'uint128', name: 'prev' },
173
+ { type: 'uint128', name: 'next' },
174
+ { type: 'bool', name: 'isFlip' },
175
+ { type: 'int16', name: 'flipTick' },
176
+ ],
177
+ },
178
+ ],
117
179
  },
118
180
  {
119
- name: 'supplyCap',
181
+ name: 'getPriceLevel',
120
182
  type: 'function',
121
183
  stateMutability: 'view',
122
- inputs: [],
123
- outputs: [{ type: 'uint256' }],
184
+ inputs: [
185
+ { type: 'address', name: 'base' },
186
+ { type: 'int16', name: 'tick' },
187
+ { type: 'bool', name: 'isBid' },
188
+ ],
189
+ outputs: [
190
+ {
191
+ type: 'tuple',
192
+ components: [
193
+ { type: 'uint128', name: 'head' },
194
+ { type: 'uint128', name: 'tail' },
195
+ { type: 'uint128', name: 'totalLiquidity' },
196
+ ],
197
+ },
198
+ ],
124
199
  },
125
200
  {
126
- name: 'paused',
201
+ name: 'pairKey',
127
202
  type: 'function',
128
203
  stateMutability: 'view',
129
- inputs: [],
130
- outputs: [{ type: 'bool' }],
204
+ inputs: [
205
+ { type: 'address', name: 'tokenA' },
206
+ { type: 'address', name: 'tokenB' },
207
+ ],
208
+ outputs: [{ type: 'bytes32' }],
131
209
  },
132
210
  {
133
- name: 'transferPolicyId',
211
+ name: 'activeOrderId',
134
212
  type: 'function',
135
213
  stateMutability: 'view',
136
214
  inputs: [],
137
- outputs: [{ type: 'uint64' }],
215
+ outputs: [{ type: 'uint128' }],
138
216
  },
139
217
  {
140
- name: 'nonces',
218
+ name: 'pendingOrderId',
141
219
  type: 'function',
142
220
  stateMutability: 'view',
143
- inputs: [{ type: 'address', name: 'owner' }],
144
- outputs: [{ type: 'uint256' }],
221
+ inputs: [],
222
+ outputs: [{ type: 'uint128' }],
145
223
  },
146
224
  {
147
- name: 'salts',
225
+ name: 'books',
148
226
  type: 'function',
149
227
  stateMutability: 'view',
150
- inputs: [
151
- { type: 'address', name: 'owner' },
152
- { type: 'bytes4', name: 'salt' },
228
+ inputs: [{ type: 'bytes32', name: 'pairKey' }],
229
+ outputs: [
230
+ {
231
+ type: 'tuple',
232
+ components: [
233
+ { type: 'address', name: 'base' },
234
+ { type: 'address', name: 'quote' },
235
+ { type: 'int16', name: 'bestBidTick' },
236
+ { type: 'int16', name: 'bestAskTick' },
237
+ ],
238
+ },
153
239
  ],
154
- outputs: [{ type: 'bool' }],
155
240
  },
156
241
  {
157
- name: 'burnBlocked',
158
- type: 'function',
159
- stateMutability: 'nonpayable',
242
+ name: 'PairCreated',
243
+ type: 'event',
160
244
  inputs: [
161
- { type: 'address', name: 'from' },
162
- { type: 'uint256', name: 'amount' },
245
+ { type: 'bytes32', name: 'key', indexed: true },
246
+ { type: 'address', name: 'base', indexed: true },
247
+ { type: 'address', name: 'quote', indexed: true },
163
248
  ],
164
- outputs: [],
165
249
  },
166
250
  {
167
- name: 'mintWithMemo',
168
- type: 'function',
169
- stateMutability: 'nonpayable',
251
+ name: 'OrderPlaced',
252
+ type: 'event',
170
253
  inputs: [
171
- { type: 'address', name: 'to' },
172
- { type: 'uint256', name: 'amount' },
173
- { type: 'bytes32', name: 'memo' },
254
+ { type: 'uint128', name: 'orderId', indexed: true },
255
+ { type: 'address', name: 'maker', indexed: true },
256
+ { type: 'address', name: 'token', indexed: true },
257
+ { type: 'uint128', name: 'amount' },
258
+ { type: 'bool', name: 'isBid' },
259
+ { type: 'int16', name: 'tick' },
174
260
  ],
175
- outputs: [],
176
261
  },
177
262
  {
178
- name: 'burnWithMemo',
179
- type: 'function',
180
- stateMutability: 'nonpayable',
263
+ name: 'FlipOrderPlaced',
264
+ type: 'event',
181
265
  inputs: [
182
- { type: 'uint256', name: 'amount' },
183
- { type: 'bytes32', name: 'memo' },
266
+ { type: 'uint128', name: 'orderId', indexed: true },
267
+ { type: 'address', name: 'maker', indexed: true },
268
+ { type: 'address', name: 'token', indexed: true },
269
+ { type: 'uint128', name: 'amount' },
270
+ { type: 'bool', name: 'isBid' },
271
+ { type: 'int16', name: 'tick' },
272
+ { type: 'int16', name: 'flipTick' },
184
273
  ],
185
- outputs: [],
186
274
  },
187
275
  {
188
- name: 'transferWithMemo',
189
- type: 'function',
190
- stateMutability: 'nonpayable',
276
+ name: 'OrderFilled',
277
+ type: 'event',
191
278
  inputs: [
192
- { type: 'address', name: 'to' },
193
- { type: 'uint256', name: 'amount' },
194
- { type: 'bytes32', name: 'memo' },
195
- ],
196
- outputs: [],
279
+ { type: 'uint128', name: 'orderId', indexed: true },
280
+ { type: 'address', name: 'maker', indexed: true },
281
+ { type: 'uint128', name: 'amountFilled' },
282
+ { type: 'bool', name: 'partialFill' },
283
+ ],
197
284
  },
198
285
  {
199
- name: 'transferFromWithMemo',
200
- type: 'function',
201
- stateMutability: 'nonpayable',
202
- inputs: [
203
- { type: 'address', name: 'from' },
204
- { type: 'address', name: 'to' },
205
- { type: 'uint256', name: 'amount' },
206
- { type: 'bytes32', name: 'memo' },
207
- ],
208
- outputs: [{ type: 'bool' }],
286
+ name: 'OrderCancelled',
287
+ type: 'event',
288
+ inputs: [{ type: 'uint128', name: 'orderId', indexed: true }],
209
289
  },
290
+ { name: 'Unauthorized', type: 'error', inputs: [] },
291
+ { name: 'PairDoesNotExist', type: 'error', inputs: [] },
292
+ { name: 'PairAlreadyExists', type: 'error', inputs: [] },
293
+ { name: 'OrderDoesNotExist', type: 'error', inputs: [] },
294
+ { name: 'IdenticalTokens', type: 'error', inputs: [] },
210
295
  {
211
- name: 'changeTransferPolicyId',
212
- type: 'function',
213
- stateMutability: 'nonpayable',
214
- inputs: [{ type: 'uint64', name: 'newPolicyId' }],
215
- outputs: [],
296
+ name: 'TickOutOfBounds',
297
+ type: 'error',
298
+ inputs: [{ type: 'int16', name: 'tick' }],
216
299
  },
300
+ { name: 'InvalidTick', type: 'error', inputs: [] },
301
+ { name: 'InvalidFlipTick', type: 'error', inputs: [] },
302
+ { name: 'InsufficientBalance', type: 'error', inputs: [] },
303
+ { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
304
+ { name: 'InsufficientOutput', type: 'error', inputs: [] },
305
+ { name: 'MaxInputExceeded', type: 'error', inputs: [] },
217
306
  {
218
- name: 'setSupplyCap',
219
- type: 'function',
220
- stateMutability: 'nonpayable',
221
- inputs: [{ type: 'uint256', name: 'newSupplyCap' }],
222
- outputs: [],
307
+ name: 'BelowMinimumOrderSize',
308
+ type: 'error',
309
+ inputs: [{ type: 'uint128', name: 'amount' }],
223
310
  },
311
+ ] as const
312
+
313
+ export const tip20 = [
224
314
  {
225
- name: 'pause',
315
+ name: 'name',
226
316
  type: 'function',
227
- stateMutability: 'nonpayable',
317
+ stateMutability: 'view',
228
318
  inputs: [],
229
- outputs: [],
319
+ outputs: [{ type: 'string' }],
230
320
  },
231
321
  {
232
- name: 'unpause',
322
+ name: 'symbol',
233
323
  type: 'function',
234
- stateMutability: 'nonpayable',
324
+ stateMutability: 'view',
235
325
  inputs: [],
236
- outputs: [],
326
+ outputs: [{ type: 'string' }],
237
327
  },
238
328
  {
239
- name: 'updateQuoteToken',
329
+ name: 'decimals',
240
330
  type: 'function',
241
- stateMutability: 'nonpayable',
242
- inputs: [{ type: 'address', name: 'newQuoteToken' }],
243
- outputs: [],
331
+ stateMutability: 'view',
332
+ inputs: [],
333
+ outputs: [{ type: 'uint8' }],
244
334
  },
245
335
  {
246
- name: 'finalizeQuoteTokenUpdate',
336
+ name: 'totalSupply',
247
337
  type: 'function',
248
- stateMutability: 'nonpayable',
338
+ stateMutability: 'view',
249
339
  inputs: [],
250
- outputs: [],
340
+ outputs: [{ type: 'uint256' }],
251
341
  },
252
342
  {
253
- name: 'permit',
343
+ name: 'quoteToken',
254
344
  type: 'function',
255
- stateMutability: 'nonpayable',
256
- inputs: [
257
- { type: 'address', name: 'owner' },
258
- { type: 'address', name: 'spender' },
259
- { type: 'uint256', name: 'value' },
260
- { type: 'uint256', name: 'deadline' },
261
- { type: 'uint8', name: 'v' },
262
- { type: 'bytes32', name: 'r' },
263
- { type: 'bytes32', name: 's' },
264
- ],
265
- outputs: [],
345
+ stateMutability: 'view',
346
+ inputs: [],
347
+ outputs: [{ type: 'address' }],
266
348
  },
267
349
  {
268
- name: 'DOMAIN_SEPARATOR',
350
+ name: 'nextQuoteToken',
269
351
  type: 'function',
270
352
  stateMutability: 'view',
271
353
  inputs: [],
272
- outputs: [{ type: 'bytes32' }],
354
+ outputs: [{ type: 'address' }],
273
355
  },
274
356
  {
275
- name: 'Transfer',
276
- type: 'event',
277
- inputs: [
278
- { type: 'address', name: 'from', indexed: true },
279
- { type: 'address', name: 'to', indexed: true },
280
- { type: 'uint256', name: 'amount' },
281
- ],
357
+ name: 'balanceOf',
358
+ type: 'function',
359
+ stateMutability: 'view',
360
+ inputs: [{ type: 'address', name: 'account' }],
361
+ outputs: [{ type: 'uint256' }],
282
362
  },
283
363
  {
284
- name: 'Approval',
285
- type: 'event',
364
+ name: 'transfer',
365
+ type: 'function',
366
+ stateMutability: 'nonpayable',
286
367
  inputs: [
287
- { type: 'address', name: 'owner', indexed: true },
288
- { type: 'address', name: 'spender', indexed: true },
368
+ { type: 'address', name: 'to' },
289
369
  { type: 'uint256', name: 'amount' },
290
370
  ],
371
+ outputs: [{ type: 'bool' }],
291
372
  },
292
373
  {
293
- name: 'Mint',
294
- type: 'event',
374
+ name: 'approve',
375
+ type: 'function',
376
+ stateMutability: 'nonpayable',
295
377
  inputs: [
296
- { type: 'address', name: 'to', indexed: true },
378
+ { type: 'address', name: 'spender' },
297
379
  { type: 'uint256', name: 'amount' },
298
380
  ],
381
+ outputs: [{ type: 'bool' }],
299
382
  },
300
383
  {
301
- name: 'Burn',
302
- type: 'event',
384
+ name: 'allowance',
385
+ type: 'function',
386
+ stateMutability: 'view',
303
387
  inputs: [
304
- { type: 'address', name: 'from', indexed: true },
305
- { type: 'uint256', name: 'amount' },
388
+ { type: 'address', name: 'owner' },
389
+ { type: 'address', name: 'spender' },
306
390
  ],
391
+ outputs: [{ type: 'uint256' }],
307
392
  },
308
393
  {
309
- name: 'BurnBlocked',
310
- type: 'event',
394
+ name: 'transferFrom',
395
+ type: 'function',
396
+ stateMutability: 'nonpayable',
311
397
  inputs: [
312
- { type: 'address', name: 'from', indexed: true },
398
+ { type: 'address', name: 'from' },
399
+ { type: 'address', name: 'to' },
313
400
  { type: 'uint256', name: 'amount' },
314
401
  ],
402
+ outputs: [{ type: 'bool' }],
315
403
  },
316
404
  {
317
- name: 'TransferWithMemo',
318
- type: 'event',
405
+ name: 'mint',
406
+ type: 'function',
407
+ stateMutability: 'nonpayable',
319
408
  inputs: [
320
- { type: 'address', name: 'from', indexed: true },
321
- { type: 'address', name: 'to', indexed: true },
409
+ { type: 'address', name: 'to' },
322
410
  { type: 'uint256', name: 'amount' },
323
- { type: 'bytes32', name: 'memo' },
324
411
  ],
412
+ outputs: [],
325
413
  },
326
414
  {
327
- name: 'TransferPolicyUpdate',
328
- type: 'event',
329
- inputs: [
330
- { type: 'address', name: 'updater', indexed: true },
331
- { type: 'uint64', name: 'newPolicyId', indexed: true },
332
- ],
415
+ name: 'burn',
416
+ type: 'function',
417
+ stateMutability: 'nonpayable',
418
+ inputs: [{ type: 'uint256', name: 'amount' }],
419
+ outputs: [],
333
420
  },
334
421
  {
335
- name: 'SupplyCapUpdate',
336
- type: 'event',
337
- inputs: [
338
- { type: 'address', name: 'updater', indexed: true },
339
- { type: 'uint256', name: 'newSupplyCap', indexed: true },
340
- ],
422
+ name: 'currency',
423
+ type: 'function',
424
+ stateMutability: 'view',
425
+ inputs: [],
426
+ outputs: [{ type: 'string' }],
341
427
  },
342
428
  {
343
- name: 'PauseStateUpdate',
344
- type: 'event',
345
- inputs: [
346
- { type: 'address', name: 'updater', indexed: true },
347
- { type: 'bool', name: 'isPaused' },
348
- ],
429
+ name: 'supplyCap',
430
+ type: 'function',
431
+ stateMutability: 'view',
432
+ inputs: [],
433
+ outputs: [{ type: 'uint256' }],
349
434
  },
350
435
  {
351
- name: 'UpdateQuoteToken',
352
- type: 'event',
353
- inputs: [
354
- { type: 'address', name: 'updater', indexed: true },
355
- { type: 'address', name: 'newQuoteToken', indexed: true },
356
- ],
436
+ name: 'paused',
437
+ type: 'function',
438
+ stateMutability: 'view',
439
+ inputs: [],
440
+ outputs: [{ type: 'bool' }],
357
441
  },
358
442
  {
359
- name: 'QuoteTokenUpdateFinalized',
360
- type: 'event',
361
- inputs: [
362
- { type: 'address', name: 'updater', indexed: true },
363
- { type: 'address', name: 'newQuoteToken', indexed: true },
364
- ],
443
+ name: 'transferPolicyId',
444
+ type: 'function',
445
+ stateMutability: 'view',
446
+ inputs: [],
447
+ outputs: [{ type: 'uint64' }],
365
448
  },
366
- { name: 'InsufficientBalance', type: 'error', inputs: [] },
367
- { name: 'InsufficientAllowance', type: 'error', inputs: [] },
368
- { name: 'SupplyCapExceeded', type: 'error', inputs: [] },
369
- { name: 'InvalidSignature', type: 'error', inputs: [] },
370
- { name: 'InvalidPayload', type: 'error', inputs: [] },
371
- { name: 'InvalidNonce', type: 'error', inputs: [] },
372
- { name: 'StringTooLong', type: 'error', inputs: [] },
373
- { name: 'PolicyForbids', type: 'error', inputs: [] },
374
- { name: 'InvalidRecipient', type: 'error', inputs: [] },
375
- { name: 'Expired', type: 'error', inputs: [] },
376
- { name: 'SaltAlreadyUsed', type: 'error', inputs: [] },
377
- { name: 'ContractPaused', type: 'error', inputs: [] },
378
- { name: 'InvalidCurrency', type: 'error', inputs: [] },
379
- { name: 'InvalidQuoteToken', type: 'error', inputs: [] },
380
- { name: 'TransfersDisabled', type: 'error', inputs: [] },
381
449
  {
382
- name: 'grantRole',
450
+ name: 'burnBlocked',
383
451
  type: 'function',
384
452
  stateMutability: 'nonpayable',
385
453
  inputs: [
386
- { type: 'bytes32', name: 'role' },
387
- { type: 'address', name: 'account' },
454
+ { type: 'address', name: 'from' },
455
+ { type: 'uint256', name: 'amount' },
388
456
  ],
389
457
  outputs: [],
390
458
  },
391
459
  {
392
- name: 'revokeRole',
460
+ name: 'mintWithMemo',
393
461
  type: 'function',
394
462
  stateMutability: 'nonpayable',
395
463
  inputs: [
396
- { type: 'bytes32', name: 'role' },
397
- { type: 'address', name: 'account' },
464
+ { type: 'address', name: 'to' },
465
+ { type: 'uint256', name: 'amount' },
466
+ { type: 'bytes32', name: 'memo' },
398
467
  ],
399
468
  outputs: [],
400
469
  },
401
470
  {
402
- name: 'renounceRole',
471
+ name: 'burnWithMemo',
403
472
  type: 'function',
404
473
  stateMutability: 'nonpayable',
405
- inputs: [{ type: 'bytes32', name: 'role' }],
474
+ inputs: [
475
+ { type: 'uint256', name: 'amount' },
476
+ { type: 'bytes32', name: 'memo' },
477
+ ],
406
478
  outputs: [],
407
479
  },
408
480
  {
409
- name: 'setRoleAdmin',
481
+ name: 'transferWithMemo',
410
482
  type: 'function',
411
483
  stateMutability: 'nonpayable',
412
484
  inputs: [
413
- { type: 'bytes32', name: 'role' },
414
- { type: 'bytes32', name: 'adminRole' },
485
+ { type: 'address', name: 'to' },
486
+ { type: 'uint256', name: 'amount' },
487
+ { type: 'bytes32', name: 'memo' },
415
488
  ],
416
489
  outputs: [],
417
490
  },
418
491
  {
419
- name: 'hasRole',
492
+ name: 'transferFromWithMemo',
420
493
  type: 'function',
421
- stateMutability: 'view',
494
+ stateMutability: 'nonpayable',
422
495
  inputs: [
423
- { type: 'address', name: 'account' },
424
- { type: 'bytes32', name: 'role' },
496
+ { type: 'address', name: 'from' },
497
+ { type: 'address', name: 'to' },
498
+ { type: 'uint256', name: 'amount' },
499
+ { type: 'bytes32', name: 'memo' },
425
500
  ],
426
501
  outputs: [{ type: 'bool' }],
427
502
  },
428
503
  {
429
- name: 'getRoleAdmin',
504
+ name: 'changeTransferPolicyId',
430
505
  type: 'function',
431
- stateMutability: 'view',
432
- inputs: [{ type: 'bytes32', name: 'role' }],
433
- outputs: [{ type: 'bytes32' }],
506
+ stateMutability: 'nonpayable',
507
+ inputs: [{ type: 'uint64', name: 'newPolicyId' }],
508
+ outputs: [],
434
509
  },
435
510
  {
436
- name: 'RoleMembershipUpdated',
437
- type: 'event',
438
- inputs: [
439
- { type: 'bytes32', name: 'role', indexed: true },
440
- { type: 'address', name: 'account', indexed: true },
441
- { type: 'address', name: 'sender', indexed: true },
442
- { type: 'bool', name: 'hasRole' },
443
- ],
511
+ name: 'setSupplyCap',
512
+ type: 'function',
513
+ stateMutability: 'nonpayable',
514
+ inputs: [{ type: 'uint256', name: 'newSupplyCap' }],
515
+ outputs: [],
444
516
  },
445
517
  {
446
- name: 'RoleAdminUpdated',
447
- type: 'event',
448
- inputs: [
449
- { type: 'bytes32', name: 'role', indexed: true },
450
- { type: 'bytes32', name: 'newAdminRole', indexed: true },
451
- { type: 'address', name: 'sender', indexed: true },
452
- ],
518
+ name: 'pause',
519
+ type: 'function',
520
+ stateMutability: 'nonpayable',
521
+ inputs: [],
522
+ outputs: [],
453
523
  },
454
- { name: 'Unauthorized', type: 'error', inputs: [] },
455
- ] as const
456
-
457
- export const tip20Factory = [
458
524
  {
459
- name: 'createToken',
525
+ name: 'unpause',
460
526
  type: 'function',
461
527
  stateMutability: 'nonpayable',
462
- inputs: [
463
- { type: 'string', name: 'name' },
464
- { type: 'string', name: 'symbol' },
465
- { type: 'string', name: 'currency' },
466
- { type: 'address', name: 'quoteToken' },
467
- { type: 'address', name: 'admin' },
468
- ],
469
- outputs: [{ type: 'uint256' }],
528
+ inputs: [],
529
+ outputs: [],
470
530
  },
471
531
  {
472
- name: 'tokenIdCounter',
532
+ name: 'setNextQuoteToken',
473
533
  type: 'function',
474
- stateMutability: 'view',
475
- inputs: [],
476
- outputs: [{ type: 'uint256' }],
534
+ stateMutability: 'nonpayable',
535
+ inputs: [{ type: 'address', name: 'newQuoteToken' }],
536
+ outputs: [],
477
537
  },
478
538
  {
479
- name: 'TokenCreated',
480
- type: 'event',
481
- inputs: [
482
- { type: 'address', name: 'token', indexed: true },
483
- { type: 'uint256', name: 'tokenId', indexed: true },
484
- { type: 'string', name: 'name' },
485
- { type: 'string', name: 'symbol' },
486
- { type: 'string', name: 'currency' },
487
- { type: 'address', name: 'admin' },
488
- ],
539
+ name: 'completeQuoteTokenUpdate',
540
+ type: 'function',
541
+ stateMutability: 'nonpayable',
542
+ inputs: [],
543
+ outputs: [],
489
544
  },
490
- ] as const
491
-
492
- export const tip403Registry = [
493
545
  {
494
- name: 'policyIdCounter',
546
+ name: 'PAUSE_ROLE',
495
547
  type: 'function',
496
548
  stateMutability: 'view',
497
549
  inputs: [],
498
- outputs: [{ type: 'uint64' }],
550
+ outputs: [{ type: 'bytes32' }],
499
551
  },
500
552
  {
501
- name: 'policyData',
553
+ name: 'UNPAUSE_ROLE',
502
554
  type: 'function',
503
555
  stateMutability: 'view',
504
- inputs: [{ type: 'uint64', name: 'policyId' }],
505
- outputs: [
506
- { type: 'uint8', name: 'policyType' },
507
- { type: 'address', name: 'admin' },
508
- ],
556
+ inputs: [],
557
+ outputs: [{ type: 'bytes32' }],
509
558
  },
510
559
  {
511
- name: 'isAuthorized',
560
+ name: 'ISSUER_ROLE',
512
561
  type: 'function',
513
562
  stateMutability: 'view',
514
- inputs: [
515
- { type: 'uint64', name: 'policyId' },
516
- { type: 'address', name: 'user' },
517
- ],
518
- outputs: [{ type: 'bool' }],
563
+ inputs: [],
564
+ outputs: [{ type: 'bytes32' }],
519
565
  },
520
566
  {
521
- name: 'createPolicy',
567
+ name: 'BURN_BLOCKED_ROLE',
522
568
  type: 'function',
523
- stateMutability: 'nonpayable',
524
- inputs: [
525
- { type: 'address', name: 'admin' },
526
- { type: 'uint8', name: 'policyType' },
527
- ],
528
- outputs: [{ type: 'uint64' }],
569
+ stateMutability: 'view',
570
+ inputs: [],
571
+ outputs: [{ type: 'bytes32' }],
529
572
  },
530
573
  {
531
- name: 'createPolicyWithAccounts',
574
+ name: 'startReward',
532
575
  type: 'function',
533
576
  stateMutability: 'nonpayable',
534
577
  inputs: [
535
- { type: 'address', name: 'admin' },
536
- { type: 'uint8', name: 'policyType' },
537
- { type: 'address[]', name: 'accounts' },
578
+ { type: 'uint256', name: 'amount' },
579
+ { type: 'uint32', name: 'secs' },
538
580
  ],
539
581
  outputs: [{ type: 'uint64' }],
540
582
  },
541
583
  {
542
- name: 'setPolicyAdmin',
584
+ name: 'setRewardRecipient',
543
585
  type: 'function',
544
586
  stateMutability: 'nonpayable',
545
- inputs: [
546
- { type: 'uint64', name: 'policyId' },
547
- { type: 'address', name: 'admin' },
548
- ],
587
+ inputs: [{ type: 'address', name: 'recipient' }],
549
588
  outputs: [],
550
589
  },
551
590
  {
552
- name: 'modifyPolicyWhitelist',
591
+ name: 'cancelReward',
553
592
  type: 'function',
554
593
  stateMutability: 'nonpayable',
555
- inputs: [
556
- { type: 'uint64', name: 'policyId' },
557
- { type: 'address', name: 'account' },
558
- { type: 'bool', name: 'allowed' },
559
- ],
560
- outputs: [],
594
+ inputs: [{ type: 'uint64', name: 'id' }],
595
+ outputs: [{ type: 'uint256' }],
561
596
  },
562
597
  {
563
- name: 'modifyPolicyBlacklist',
598
+ name: 'claimRewards',
564
599
  type: 'function',
565
600
  stateMutability: 'nonpayable',
566
- inputs: [
567
- { type: 'uint64', name: 'policyId' },
568
- { type: 'address', name: 'account' },
569
- { type: 'bool', name: 'restricted' },
570
- ],
571
- outputs: [],
572
- },
573
- {
574
- name: 'PolicyAdminUpdated',
575
- type: 'event',
576
- inputs: [
577
- { type: 'uint64', name: 'policyId', indexed: true },
578
- { type: 'address', name: 'updater', indexed: true },
579
- { type: 'address', name: 'admin', indexed: true },
580
- ],
581
- },
582
- {
583
- name: 'PolicyCreated',
584
- type: 'event',
585
- inputs: [
586
- { type: 'uint64', name: 'policyId', indexed: true },
587
- { type: 'address', name: 'updater', indexed: true },
588
- { type: 'uint8', name: 'policyType' },
589
- ],
590
- },
591
- {
592
- name: 'WhitelistUpdated',
593
- type: 'event',
594
- inputs: [
595
- { type: 'uint64', name: 'policyId', indexed: true },
596
- { type: 'address', name: 'updater', indexed: true },
597
- { type: 'address', name: 'account', indexed: true },
598
- { type: 'bool', name: 'allowed' },
599
- ],
600
- },
601
- {
602
- name: 'BlacklistUpdated',
603
- type: 'event',
604
- inputs: [
605
- { type: 'uint64', name: 'policyId', indexed: true },
606
- { type: 'address', name: 'updater', indexed: true },
607
- { type: 'address', name: 'account', indexed: true },
608
- { type: 'bool', name: 'restricted' },
609
- ],
601
+ inputs: [],
602
+ outputs: [{ type: 'uint256' }],
610
603
  },
611
- { name: 'Unauthorized', type: 'error', inputs: [] },
612
- { name: 'IncompatiblePolicyType', type: 'error', inputs: [] },
613
- { name: 'SelfOwnedPolicyMustBeWhitelist', type: 'error', inputs: [] },
614
- ] as const
615
-
616
- export const tip4217Registry = [
617
604
  {
618
- name: 'getCurrencyDecimals',
605
+ name: 'finalizeStreams',
619
606
  type: 'function',
620
- stateMutability: 'view',
621
- inputs: [{ type: 'string', name: 'currency' }],
622
- outputs: [{ type: 'uint8' }],
607
+ stateMutability: 'nonpayable',
608
+ inputs: [{ type: 'uint64', name: 'timestamp' }],
609
+ outputs: [],
623
610
  },
624
- ] as const
625
-
626
- export const nonce = [
627
611
  {
628
- name: 'getNonce',
612
+ name: 'getStream',
629
613
  type: 'function',
630
614
  stateMutability: 'view',
631
- inputs: [
632
- { type: 'address', name: 'account' },
633
- { type: 'uint64', name: 'nonceKey' },
615
+ inputs: [{ type: 'uint64', name: 'id' }],
616
+ outputs: [
617
+ {
618
+ type: 'tuple',
619
+ components: [
620
+ { type: 'address', name: 'funder' },
621
+ { type: 'uint64', name: 'startTime' },
622
+ { type: 'uint64', name: 'endTime' },
623
+ { type: 'uint256', name: 'ratePerSecondScaled' },
624
+ { type: 'uint256', name: 'amountTotal' },
625
+ ],
626
+ },
634
627
  ],
635
- outputs: [{ type: 'uint64' }],
636
628
  },
637
629
  {
638
- name: 'getActiveNonceKeyCount',
630
+ name: 'totalRewardPerSecond',
639
631
  type: 'function',
640
632
  stateMutability: 'view',
641
- inputs: [{ type: 'address', name: 'account' }],
633
+ inputs: [],
642
634
  outputs: [{ type: 'uint256' }],
643
635
  },
644
- ] as const
645
-
646
- export const tipAccountRegistrar = [
647
- {
648
- name: 'delegateToDefault',
649
- type: 'function',
650
- stateMutability: 'nonpayable',
651
- inputs: [
652
- { type: 'bytes32', name: 'hash' },
653
- { type: 'bytes', name: 'signature' },
654
- ],
655
- outputs: [{ type: 'address', name: 'authority' }],
656
- },
657
636
  {
658
- name: 'getDelegationMessage',
637
+ name: 'optedInSupply',
659
638
  type: 'function',
660
- stateMutability: 'pure',
639
+ stateMutability: 'view',
661
640
  inputs: [],
662
- outputs: [{ type: 'string' }],
641
+ outputs: [{ type: 'uint128' }],
663
642
  },
664
- { name: 'InvalidSignature', type: 'error', inputs: [] },
665
- { name: 'CodeNotEmpty', type: 'error', inputs: [] },
666
- { name: 'NonceNotZero', type: 'error', inputs: [] },
667
- ] as const
668
-
669
- export const feeAmm = [
670
643
  {
671
- name: 'getPoolId',
644
+ name: 'nextStreamId',
672
645
  type: 'function',
673
- stateMutability: 'pure',
674
- inputs: [
675
- { type: 'address', name: 'userToken' },
676
- { type: 'address', name: 'validatorToken' },
677
- ],
678
- outputs: [{ type: 'bytes32' }],
646
+ stateMutability: 'view',
647
+ inputs: [],
648
+ outputs: [{ type: 'uint64' }],
679
649
  },
680
650
  {
681
- name: 'getPool',
651
+ name: 'userRewardInfo',
682
652
  type: 'function',
683
653
  stateMutability: 'view',
684
- inputs: [
685
- { type: 'address', name: 'userToken' },
686
- { type: 'address', name: 'validatorToken' },
687
- ],
654
+ inputs: [{ type: 'address', name: 'account' }],
688
655
  outputs: [
689
656
  {
690
657
  type: 'tuple',
691
658
  components: [
692
- { type: 'uint128', name: 'reserveUserToken' },
693
- { type: 'uint128', name: 'reserveValidatorToken' },
659
+ { type: 'address', name: 'delegatedRecipient' },
660
+ { type: 'uint256', name: 'rewardPerToken' },
661
+ { type: 'uint256', name: 'rewardBalance' },
694
662
  ],
695
663
  },
696
664
  ],
697
665
  },
698
666
  {
699
- name: 'pools',
700
- type: 'function',
701
- stateMutability: 'view',
702
- inputs: [{ type: 'bytes32', name: 'poolId' }],
703
- outputs: [
704
- {
705
- type: 'tuple',
706
- components: [
707
- { type: 'uint128', name: 'reserveUserToken' },
708
- { type: 'uint128', name: 'reserveValidatorToken' },
709
- ],
710
- },
667
+ name: 'Transfer',
668
+ type: 'event',
669
+ inputs: [
670
+ { type: 'address', name: 'from', indexed: true },
671
+ { type: 'address', name: 'to', indexed: true },
672
+ { type: 'uint256', name: 'amount' },
711
673
  ],
712
674
  },
713
675
  {
714
- name: 'mint',
715
- type: 'function',
716
- stateMutability: 'nonpayable',
676
+ name: 'Approval',
677
+ type: 'event',
717
678
  inputs: [
718
- { type: 'address', name: 'userToken' },
719
- { type: 'address', name: 'validatorToken' },
720
- { type: 'uint256', name: 'amountUserToken' },
721
- { type: 'uint256', name: 'amountValidatorToken' },
722
- { type: 'address', name: 'to' },
679
+ { type: 'address', name: 'owner', indexed: true },
680
+ { type: 'address', name: 'spender', indexed: true },
681
+ { type: 'uint256', name: 'amount' },
723
682
  ],
724
- outputs: [{ type: 'uint256', name: 'liquidity' }],
725
683
  },
726
684
  {
727
- name: 'burn',
728
- type: 'function',
729
- stateMutability: 'nonpayable',
730
- inputs: [
731
- { type: 'address', name: 'userToken' },
732
- { type: 'address', name: 'validatorToken' },
733
- { type: 'uint256', name: 'liquidity' },
734
- { type: 'address', name: 'to' },
685
+ name: 'Mint',
686
+ type: 'event',
687
+ inputs: [
688
+ { type: 'address', name: 'to', indexed: true },
689
+ { type: 'uint256', name: 'amount' },
735
690
  ],
736
- outputs: [
737
- { type: 'uint256', name: 'amountUserToken' },
738
- { type: 'uint256', name: 'amountValidatorToken' },
691
+ },
692
+ {
693
+ name: 'Burn',
694
+ type: 'event',
695
+ inputs: [
696
+ { type: 'address', name: 'from', indexed: true },
697
+ { type: 'uint256', name: 'amount' },
739
698
  ],
740
699
  },
741
700
  {
742
- name: 'totalSupply',
743
- type: 'function',
744
- stateMutability: 'view',
745
- inputs: [{ type: 'bytes32', name: 'poolId' }],
746
- outputs: [{ type: 'uint256' }],
701
+ name: 'BurnBlocked',
702
+ type: 'event',
703
+ inputs: [
704
+ { type: 'address', name: 'from', indexed: true },
705
+ { type: 'uint256', name: 'amount' },
706
+ ],
747
707
  },
748
708
  {
749
- name: 'liquidityBalances',
750
- type: 'function',
751
- stateMutability: 'view',
709
+ name: 'TransferWithMemo',
710
+ type: 'event',
752
711
  inputs: [
753
- { type: 'bytes32', name: 'poolId' },
754
- { type: 'address', name: 'user' },
712
+ { type: 'address', name: 'from', indexed: true },
713
+ { type: 'address', name: 'to', indexed: true },
714
+ { type: 'uint256', name: 'amount' },
715
+ { type: 'bytes32', name: 'memo', indexed: true },
755
716
  ],
756
- outputs: [{ type: 'uint256' }],
757
717
  },
758
718
  {
759
- name: 'rebalanceSwap',
760
- type: 'function',
761
- stateMutability: 'nonpayable',
719
+ name: 'TransferPolicyUpdate',
720
+ type: 'event',
762
721
  inputs: [
763
- { type: 'address', name: 'userToken' },
764
- { type: 'address', name: 'validatorToken' },
765
- { type: 'uint256', name: 'amountOut' },
766
- { type: 'address', name: 'to' },
722
+ { type: 'address', name: 'updater', indexed: true },
723
+ { type: 'uint64', name: 'newPolicyId', indexed: true },
767
724
  ],
768
- outputs: [{ type: 'uint256', name: 'amountIn' }],
769
725
  },
770
726
  {
771
- name: 'calculateLiquidity',
772
- type: 'function',
773
- stateMutability: 'pure',
727
+ name: 'SupplyCapUpdate',
728
+ type: 'event',
774
729
  inputs: [
775
- { type: 'uint256', name: 'x' },
776
- { type: 'uint256', name: 'y' },
730
+ { type: 'address', name: 'updater', indexed: true },
731
+ { type: 'uint256', name: 'newSupplyCap', indexed: true },
777
732
  ],
778
- outputs: [{ type: 'uint256' }],
779
733
  },
780
734
  {
781
- name: 'Mint',
735
+ name: 'PauseStateUpdate',
782
736
  type: 'event',
783
737
  inputs: [
784
- { type: 'address', name: 'sender', indexed: true },
785
- { type: 'address', name: 'userToken', indexed: true },
786
- { type: 'address', name: 'validatorToken', indexed: true },
787
- { type: 'uint256', name: 'amountUserToken' },
788
- { type: 'uint256', name: 'amountValidatorToken' },
789
- { type: 'uint256', name: 'liquidity' },
738
+ { type: 'address', name: 'updater', indexed: true },
739
+ { type: 'bool', name: 'isPaused' },
790
740
  ],
791
741
  },
792
742
  {
793
- name: 'Burn',
743
+ name: 'NextQuoteTokenSet',
794
744
  type: 'event',
795
745
  inputs: [
796
- { type: 'address', name: 'sender', indexed: true },
797
- { type: 'address', name: 'userToken', indexed: true },
798
- { type: 'address', name: 'validatorToken', indexed: true },
799
- { type: 'uint256', name: 'amountUserToken' },
800
- { type: 'uint256', name: 'amountValidatorToken' },
801
- { type: 'uint256', name: 'liquidity' },
802
- { type: 'address', name: 'to' },
746
+ { type: 'address', name: 'updater', indexed: true },
747
+ { type: 'address', name: 'nextQuoteToken', indexed: true },
803
748
  ],
804
749
  },
805
750
  {
806
- name: 'RebalanceSwap',
751
+ name: 'QuoteTokenUpdate',
807
752
  type: 'event',
808
753
  inputs: [
809
- { type: 'address', name: 'userToken', indexed: true },
810
- { type: 'address', name: 'validatorToken', indexed: true },
811
- { type: 'address', name: 'swapper', indexed: true },
812
- { type: 'uint256', name: 'amountIn' },
813
- { type: 'uint256', name: 'amountOut' },
754
+ { type: 'address', name: 'updater', indexed: true },
755
+ { type: 'address', name: 'newQuoteToken', indexed: true },
814
756
  ],
815
757
  },
816
758
  {
817
- name: 'FeeSwap',
759
+ name: 'RewardScheduled',
818
760
  type: 'event',
819
761
  inputs: [
820
- { type: 'address', name: 'userToken', indexed: true },
821
- { type: 'address', name: 'validatorToken', indexed: true },
822
- { type: 'uint256', name: 'amountIn' },
823
- { type: 'uint256', name: 'amountOut' },
762
+ { type: 'address', name: 'funder', indexed: true },
763
+ { type: 'uint64', name: 'id', indexed: true },
764
+ { type: 'uint256', name: 'amount' },
765
+ { type: 'uint32', name: 'durationSeconds' },
824
766
  ],
825
767
  },
826
- { name: 'IdenticalAddresses', type: 'error', inputs: [] },
827
- { name: 'ZeroAddress', type: 'error', inputs: [] },
828
- { name: 'PoolExists', type: 'error', inputs: [] },
829
- { name: 'PoolDoesNotExist', type: 'error', inputs: [] },
830
- { name: 'InvalidToken', type: 'error', inputs: [] },
831
- { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
832
- { name: 'OnlyProtocol', type: 'error', inputs: [] },
833
- { name: 'InsufficientPoolBalance', type: 'error', inputs: [] },
834
- { name: 'InsufficientReserves', type: 'error', inputs: [] },
835
- { name: 'InsufficientLiquidityBalance', type: 'error', inputs: [] },
836
- { name: 'MustDepositLowerBalanceToken', type: 'error', inputs: [] },
837
- { name: 'InvalidAmount', type: 'error', inputs: [] },
838
- { name: 'InvalidRebalanceState', type: 'error', inputs: [] },
839
- { name: 'InvalidRebalanceDirection', type: 'error', inputs: [] },
840
- { name: 'InvalidNewReserves', type: 'error', inputs: [] },
841
- { name: 'CannotSupportPendingSwaps', type: 'error', inputs: [] },
842
- { name: 'DivisionByZero', type: 'error', inputs: [] },
843
- { name: 'InvalidSwapCalculation', type: 'error', inputs: [] },
844
- { name: 'InsufficientLiquidityForPending', type: 'error', inputs: [] },
845
- { name: 'TokenTransferFailed', type: 'error', inputs: [] },
846
- { name: 'InternalError', type: 'error', inputs: [] },
847
- ] as const
848
-
849
- export const feeManager = [
850
768
  {
851
- name: 'BASIS_POINTS',
852
- type: 'function',
853
- stateMutability: 'pure',
854
- inputs: [],
855
- outputs: [{ type: 'uint256' }],
769
+ name: 'RewardCanceled',
770
+ type: 'event',
771
+ inputs: [
772
+ { type: 'address', name: 'funder', indexed: true },
773
+ { type: 'uint64', name: 'id', indexed: true },
774
+ { type: 'uint256', name: 'refund' },
775
+ ],
856
776
  },
857
777
  {
858
- name: 'FEE_BPS',
859
- type: 'function',
860
- stateMutability: 'pure',
861
- inputs: [],
862
- outputs: [{ type: 'uint256' }],
778
+ name: 'RewardRecipientSet',
779
+ type: 'event',
780
+ inputs: [
781
+ { type: 'address', name: 'holder', indexed: true },
782
+ { type: 'address', name: 'recipient', indexed: true },
783
+ ],
863
784
  },
864
785
  {
865
- name: 'userTokens',
786
+ name: 'InsufficientBalance',
787
+ type: 'error',
788
+ inputs: [
789
+ { type: 'uint256', name: 'available' },
790
+ { type: 'uint256', name: 'required' },
791
+ { type: 'address', name: 'token' },
792
+ ],
793
+ },
794
+ { name: 'InsufficientAllowance', type: 'error', inputs: [] },
795
+ { name: 'SupplyCapExceeded', type: 'error', inputs: [] },
796
+ { name: 'InvalidSupplyCap', type: 'error', inputs: [] },
797
+ { name: 'InvalidPayload', type: 'error', inputs: [] },
798
+ { name: 'StringTooLong', type: 'error', inputs: [] },
799
+ { name: 'PolicyForbids', type: 'error', inputs: [] },
800
+ { name: 'InvalidRecipient', type: 'error', inputs: [] },
801
+ { name: 'ContractPaused', type: 'error', inputs: [] },
802
+ { name: 'InvalidCurrency', type: 'error', inputs: [] },
803
+ { name: 'InvalidQuoteToken', type: 'error', inputs: [] },
804
+ { name: 'TransfersDisabled', type: 'error', inputs: [] },
805
+ { name: 'InvalidAmount', type: 'error', inputs: [] },
806
+ { name: 'NotStreamFunder', type: 'error', inputs: [] },
807
+ { name: 'StreamInactive', type: 'error', inputs: [] },
808
+ { name: 'NoOptedInSupply', type: 'error', inputs: [] },
809
+ { name: 'Unauthorized', type: 'error', inputs: [] },
810
+ {
811
+ name: 'hasRole',
866
812
  type: 'function',
867
813
  stateMutability: 'view',
868
- inputs: [{ type: 'address', name: 'user' }],
869
- outputs: [{ type: 'address' }],
814
+ inputs: [
815
+ { type: 'address', name: 'account' },
816
+ { type: 'bytes32', name: 'role' },
817
+ ],
818
+ outputs: [{ type: 'bool' }],
870
819
  },
871
820
  {
872
- name: 'validatorTokens',
821
+ name: 'getRoleAdmin',
873
822
  type: 'function',
874
823
  stateMutability: 'view',
875
- inputs: [{ type: 'address', name: 'validator' }],
876
- outputs: [{ type: 'address' }],
824
+ inputs: [{ type: 'bytes32', name: 'role' }],
825
+ outputs: [{ type: 'bytes32' }],
877
826
  },
878
827
  {
879
- name: 'setUserToken',
828
+ name: 'grantRole',
880
829
  type: 'function',
881
830
  stateMutability: 'nonpayable',
882
- inputs: [{ type: 'address', name: 'token' }],
831
+ inputs: [
832
+ { type: 'bytes32', name: 'role' },
833
+ { type: 'address', name: 'account' },
834
+ ],
883
835
  outputs: [],
884
836
  },
885
837
  {
886
- name: 'setValidatorToken',
838
+ name: 'revokeRole',
887
839
  type: 'function',
888
840
  stateMutability: 'nonpayable',
889
- inputs: [{ type: 'address', name: 'token' }],
841
+ inputs: [
842
+ { type: 'bytes32', name: 'role' },
843
+ { type: 'address', name: 'account' },
844
+ ],
890
845
  outputs: [],
891
846
  },
892
847
  {
893
- name: 'getFeeTokenBalance',
848
+ name: 'renounceRole',
894
849
  type: 'function',
895
- stateMutability: 'view',
896
- inputs: [
897
- { type: 'address', name: 'sender' },
898
- { type: 'address', name: 'validator' },
899
- ],
900
- outputs: [{ type: 'address' }, { type: 'uint256' }],
850
+ stateMutability: 'nonpayable',
851
+ inputs: [{ type: 'bytes32', name: 'role' }],
852
+ outputs: [],
901
853
  },
902
854
  {
903
- name: 'executeBlock',
855
+ name: 'setRoleAdmin',
904
856
  type: 'function',
905
857
  stateMutability: 'nonpayable',
906
- inputs: [],
858
+ inputs: [
859
+ { type: 'bytes32', name: 'role' },
860
+ { type: 'bytes32', name: 'adminRole' },
861
+ ],
907
862
  outputs: [],
908
863
  },
909
864
  {
910
- name: 'UserTokenSet',
865
+ name: 'RoleMembershipUpdated',
911
866
  type: 'event',
912
867
  inputs: [
913
- { type: 'address', name: 'user', indexed: true },
914
- { type: 'address', name: 'token', indexed: true },
868
+ { type: 'bytes32', name: 'role', indexed: true },
869
+ { type: 'address', name: 'account', indexed: true },
870
+ { type: 'address', name: 'sender', indexed: true },
871
+ { type: 'bool', name: 'hasRole' },
915
872
  ],
916
873
  },
917
874
  {
918
- name: 'ValidatorTokenSet',
875
+ name: 'RoleAdminUpdated',
919
876
  type: 'event',
920
877
  inputs: [
921
- { type: 'address', name: 'validator', indexed: true },
922
- { type: 'address', name: 'token', indexed: true },
878
+ { type: 'bytes32', name: 'role', indexed: true },
879
+ { type: 'bytes32', name: 'newAdminRole', indexed: true },
880
+ { type: 'address', name: 'sender', indexed: true },
923
881
  ],
924
882
  },
925
- { name: 'OnlyValidator', type: 'error', inputs: [] },
926
- { name: 'OnlySystemContract', type: 'error', inputs: [] },
927
- { name: 'InvalidToken', type: 'error', inputs: [] },
928
- { name: 'PoolDoesNotExist', type: 'error', inputs: [] },
929
- { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
930
- { name: 'InsufficientFeeTokenBalance', type: 'error', inputs: [] },
931
- { name: 'InternalError', type: 'error', inputs: [] },
932
- { name: 'CannotChangeWithinBlock', type: 'error', inputs: [] },
933
- { name: 'TokenPolicyForbids', type: 'error', inputs: [] },
883
+ { name: 'Unauthorized', type: 'error', inputs: [] },
934
884
  ] as const
935
885
 
936
- export const stablecoinExchange = [
886
+ export const tip20Factory = [
937
887
  {
938
- name: 'balanceOf',
888
+ name: 'createToken',
939
889
  type: 'function',
940
- stateMutability: 'view',
890
+ stateMutability: 'nonpayable',
941
891
  inputs: [
942
- { type: 'address', name: 'user' },
943
- { type: 'address', name: 'token' },
892
+ { type: 'string', name: 'name' },
893
+ { type: 'string', name: 'symbol' },
894
+ { type: 'string', name: 'currency' },
895
+ { type: 'address', name: 'quoteToken' },
896
+ { type: 'address', name: 'admin' },
944
897
  ],
945
- outputs: [{ type: 'uint128' }],
898
+ outputs: [{ type: 'address' }],
946
899
  },
947
900
  {
948
- name: 'quoteSwapExactAmountOut',
901
+ name: 'tokenIdCounter',
949
902
  type: 'function',
950
903
  stateMutability: 'view',
951
- inputs: [
952
- { type: 'address', name: 'tokenIn' },
953
- { type: 'address', name: 'tokenOut' },
954
- { type: 'uint128', name: 'amountOut' },
955
- ],
956
- outputs: [{ type: 'uint128', name: 'amountIn' }],
904
+ inputs: [],
905
+ outputs: [{ type: 'uint256' }],
957
906
  },
958
907
  {
959
- name: 'quoteSwapExactAmountIn',
908
+ name: 'isTIP20',
960
909
  type: 'function',
961
910
  stateMutability: 'view',
911
+ inputs: [{ type: 'address', name: 'token' }],
912
+ outputs: [{ type: 'bool' }],
913
+ },
914
+ {
915
+ name: 'TokenCreated',
916
+ type: 'event',
962
917
  inputs: [
963
- { type: 'address', name: 'tokenIn' },
964
- { type: 'address', name: 'tokenOut' },
965
- { type: 'uint128', name: 'amountIn' },
918
+ { type: 'address', name: 'token', indexed: true },
919
+ { type: 'uint256', name: 'tokenId', indexed: true },
920
+ { type: 'string', name: 'name' },
921
+ { type: 'string', name: 'symbol' },
922
+ { type: 'string', name: 'currency' },
923
+ { type: 'address', name: 'quoteToken' },
924
+ { type: 'address', name: 'admin' },
966
925
  ],
967
- outputs: [{ type: 'uint128', name: 'amountOut' }],
968
926
  },
927
+ ] as const
928
+
929
+ export const tip20RewardsRegistry = [
969
930
  {
970
- name: 'pairKey',
931
+ name: 'finalizeStreams',
971
932
  type: 'function',
972
- stateMutability: 'pure',
973
- inputs: [
974
- { type: 'address', name: 'tokenA' },
975
- { type: 'address', name: 'tokenB' },
976
- ],
977
- outputs: [{ type: 'bytes32', name: 'key' }],
933
+ stateMutability: 'nonpayable',
934
+ inputs: [],
935
+ outputs: [],
978
936
  },
937
+ { name: 'Unauthorized', type: 'error', inputs: [] },
938
+ { name: 'StreamsAlreadyFinalized', type: 'error', inputs: [] },
939
+ ] as const
940
+
941
+ export const tip403Registry = [
979
942
  {
980
- name: 'getPriceLevel',
943
+ name: 'policyIdCounter',
981
944
  type: 'function',
982
945
  stateMutability: 'view',
983
- inputs: [
984
- { type: 'address', name: 'base' },
985
- { type: 'int16', name: 'tick' },
986
- { type: 'bool', name: 'isBid' },
987
- ],
988
- outputs: [
989
- {
990
- type: 'tuple',
991
- name: 'level',
992
- components: [
993
- { type: 'uint128', name: 'head' },
994
- { type: 'uint128', name: 'tail' },
995
- { type: 'uint128', name: 'totalLiquidity' },
996
- ],
997
- },
998
- ],
946
+ inputs: [],
947
+ outputs: [{ type: 'uint64' }],
999
948
  },
1000
949
  {
1001
- name: 'activeOrderId',
950
+ name: 'policyData',
1002
951
  type: 'function',
1003
952
  stateMutability: 'view',
1004
- inputs: [],
1005
- outputs: [{ type: 'uint128' }],
953
+ inputs: [{ type: 'uint64', name: 'policyId' }],
954
+ outputs: [
955
+ { type: 'uint8', name: 'policyType' },
956
+ { type: 'address', name: 'admin' },
957
+ ],
1006
958
  },
1007
959
  {
1008
- name: 'pendingOrderId',
960
+ name: 'isAuthorized',
1009
961
  type: 'function',
1010
962
  stateMutability: 'view',
1011
- inputs: [],
1012
- outputs: [{ type: 'uint128' }],
963
+ inputs: [
964
+ { type: 'uint64', name: 'policyId' },
965
+ { type: 'address', name: 'user' },
966
+ ],
967
+ outputs: [{ type: 'bool' }],
1013
968
  },
1014
969
  {
1015
- name: 'getOrder',
970
+ name: 'createPolicy',
1016
971
  type: 'function',
1017
- stateMutability: 'view',
1018
- inputs: [{ type: 'uint128', name: 'orderId' }],
1019
- outputs: [
1020
- {
1021
- type: 'tuple',
1022
- components: [
1023
- { type: 'address', name: 'maker' },
1024
- { type: 'bytes32', name: 'bookKey' },
1025
- { type: 'bool', name: 'isBid' },
1026
- { type: 'int16', name: 'tick' },
1027
- { type: 'uint128', name: 'amount' },
1028
- { type: 'uint128', name: 'remaining' },
1029
- { type: 'uint128', name: 'prev' },
1030
- { type: 'uint128', name: 'next' },
1031
- { type: 'bool', name: 'isFlip' },
1032
- { type: 'int16', name: 'flipTick' },
1033
- ],
1034
- },
972
+ stateMutability: 'nonpayable',
973
+ inputs: [
974
+ { type: 'address', name: 'admin' },
975
+ { type: 'uint8', name: 'policyType' },
1035
976
  ],
977
+ outputs: [{ type: 'uint64' }],
1036
978
  },
1037
979
  {
1038
- name: 'createPair',
980
+ name: 'createPolicyWithAccounts',
1039
981
  type: 'function',
1040
982
  stateMutability: 'nonpayable',
1041
- inputs: [{ type: 'address', name: 'base' }],
1042
- outputs: [{ type: 'bytes32', name: 'key' }],
983
+ inputs: [
984
+ { type: 'address', name: 'admin' },
985
+ { type: 'uint8', name: 'policyType' },
986
+ { type: 'address[]', name: 'accounts' },
987
+ ],
988
+ outputs: [{ type: 'uint64' }],
1043
989
  },
1044
990
  {
1045
- name: 'swapExactAmountIn',
991
+ name: 'setPolicyAdmin',
1046
992
  type: 'function',
1047
993
  stateMutability: 'nonpayable',
1048
994
  inputs: [
1049
- { type: 'address', name: 'tokenIn' },
1050
- { type: 'address', name: 'tokenOut' },
1051
- { type: 'uint128', name: 'amountIn' },
1052
- { type: 'uint128', name: 'minAmountOut' },
995
+ { type: 'uint64', name: 'policyId' },
996
+ { type: 'address', name: 'admin' },
1053
997
  ],
1054
- outputs: [{ type: 'uint128', name: 'amountOut' }],
998
+ outputs: [],
1055
999
  },
1056
1000
  {
1057
- name: 'swapExactAmountOut',
1001
+ name: 'modifyPolicyWhitelist',
1058
1002
  type: 'function',
1059
1003
  stateMutability: 'nonpayable',
1060
1004
  inputs: [
1061
- { type: 'address', name: 'tokenIn' },
1062
- { type: 'address', name: 'tokenOut' },
1063
- { type: 'uint128', name: 'amountOut' },
1064
- { type: 'uint128', name: 'maxAmountIn' },
1005
+ { type: 'uint64', name: 'policyId' },
1006
+ { type: 'address', name: 'account' },
1007
+ { type: 'bool', name: 'allowed' },
1065
1008
  ],
1066
- outputs: [{ type: 'uint128', name: 'amountIn' }],
1009
+ outputs: [],
1067
1010
  },
1068
1011
  {
1069
- name: 'place',
1012
+ name: 'modifyPolicyBlacklist',
1070
1013
  type: 'function',
1071
1014
  stateMutability: 'nonpayable',
1072
1015
  inputs: [
1073
- { type: 'address', name: 'token' },
1074
- { type: 'uint128', name: 'amount' },
1075
- { type: 'bool', name: 'isBid' },
1076
- { type: 'int16', name: 'tick' },
1016
+ { type: 'uint64', name: 'policyId' },
1017
+ { type: 'address', name: 'account' },
1018
+ { type: 'bool', name: 'restricted' },
1077
1019
  ],
1078
- outputs: [{ type: 'uint128', name: 'orderId' }],
1020
+ outputs: [],
1079
1021
  },
1080
1022
  {
1081
- name: 'placeFlip',
1023
+ name: 'PolicyAdminUpdated',
1024
+ type: 'event',
1025
+ inputs: [
1026
+ { type: 'uint64', name: 'policyId', indexed: true },
1027
+ { type: 'address', name: 'updater', indexed: true },
1028
+ { type: 'address', name: 'admin', indexed: true },
1029
+ ],
1030
+ },
1031
+ {
1032
+ name: 'PolicyCreated',
1033
+ type: 'event',
1034
+ inputs: [
1035
+ { type: 'uint64', name: 'policyId', indexed: true },
1036
+ { type: 'address', name: 'updater', indexed: true },
1037
+ { type: 'uint8', name: 'policyType' },
1038
+ ],
1039
+ },
1040
+ {
1041
+ name: 'WhitelistUpdated',
1042
+ type: 'event',
1043
+ inputs: [
1044
+ { type: 'uint64', name: 'policyId', indexed: true },
1045
+ { type: 'address', name: 'updater', indexed: true },
1046
+ { type: 'address', name: 'account', indexed: true },
1047
+ { type: 'bool', name: 'allowed' },
1048
+ ],
1049
+ },
1050
+ {
1051
+ name: 'BlacklistUpdated',
1052
+ type: 'event',
1053
+ inputs: [
1054
+ { type: 'uint64', name: 'policyId', indexed: true },
1055
+ { type: 'address', name: 'updater', indexed: true },
1056
+ { type: 'address', name: 'account', indexed: true },
1057
+ { type: 'bool', name: 'restricted' },
1058
+ ],
1059
+ },
1060
+ { name: 'Unauthorized', type: 'error', inputs: [] },
1061
+ { name: 'IncompatiblePolicyType', type: 'error', inputs: [] },
1062
+ { name: 'SelfOwnedPolicyMustBeWhitelist', type: 'error', inputs: [] },
1063
+ ] as const
1064
+
1065
+ export const tipAccountRegistrar = [
1066
+ {
1067
+ name: 'delegateToDefault',
1082
1068
  type: 'function',
1083
1069
  stateMutability: 'nonpayable',
1084
1070
  inputs: [
1085
- { type: 'address', name: 'token' },
1086
- { type: 'uint128', name: 'amount' },
1087
- { type: 'bool', name: 'isBid' },
1088
- { type: 'int16', name: 'tick' },
1089
- { type: 'int16', name: 'flipTick' },
1071
+ { type: 'bytes32', name: 'hash' },
1072
+ { type: 'bytes', name: 'signature' },
1090
1073
  ],
1091
- outputs: [{ type: 'uint128', name: 'orderId' }],
1074
+ outputs: [{ type: 'address', name: 'authority' }],
1092
1075
  },
1093
1076
  {
1094
- name: 'cancel',
1077
+ name: 'getDelegationMessage',
1078
+ type: 'function',
1079
+ stateMutability: 'pure',
1080
+ inputs: [],
1081
+ outputs: [{ type: 'string' }],
1082
+ },
1083
+ { name: 'InvalidSignature', type: 'error', inputs: [] },
1084
+ { name: 'CodeNotEmpty', type: 'error', inputs: [] },
1085
+ { name: 'NonceNotZero', type: 'error', inputs: [] },
1086
+ ] as const
1087
+
1088
+ export const feeManager = [
1089
+ {
1090
+ name: 'userTokens',
1091
+ type: 'function',
1092
+ stateMutability: 'view',
1093
+ inputs: [{ type: 'address', name: 'user' }],
1094
+ outputs: [{ type: 'address' }],
1095
+ },
1096
+ {
1097
+ name: 'validatorTokens',
1098
+ type: 'function',
1099
+ stateMutability: 'view',
1100
+ inputs: [{ type: 'address', name: 'validator' }],
1101
+ outputs: [{ type: 'address' }],
1102
+ },
1103
+ {
1104
+ name: 'setUserToken',
1095
1105
  type: 'function',
1096
1106
  stateMutability: 'nonpayable',
1097
- inputs: [{ type: 'uint128', name: 'orderId' }],
1107
+ inputs: [{ type: 'address', name: 'token' }],
1098
1108
  outputs: [],
1099
1109
  },
1100
1110
  {
1101
- name: 'withdraw',
1111
+ name: 'setValidatorToken',
1102
1112
  type: 'function',
1103
1113
  stateMutability: 'nonpayable',
1114
+ inputs: [{ type: 'address', name: 'token' }],
1115
+ outputs: [],
1116
+ },
1117
+ {
1118
+ name: 'getFeeTokenBalance',
1119
+ type: 'function',
1120
+ stateMutability: 'view',
1104
1121
  inputs: [
1105
- { type: 'address', name: 'token' },
1106
- { type: 'uint128', name: 'amount' },
1122
+ { type: 'address', name: 'sender' },
1123
+ { type: 'address', name: 'validator' },
1107
1124
  ],
1108
- outputs: [],
1125
+ outputs: [{ type: 'address' }, { type: 'uint256' }],
1109
1126
  },
1110
1127
  {
1111
1128
  name: 'executeBlock',
@@ -1115,68 +1132,313 @@ export const stablecoinExchange = [
1115
1132
  outputs: [],
1116
1133
  },
1117
1134
  {
1118
- name: 'PairCreated',
1135
+ name: 'UserTokenSet',
1119
1136
  type: 'event',
1120
1137
  inputs: [
1121
- { type: 'bytes32', name: 'key', indexed: true },
1122
- { type: 'address', name: 'base', indexed: true },
1123
- { type: 'address', name: 'quote', indexed: true },
1138
+ { type: 'address', name: 'user', indexed: true },
1139
+ { type: 'address', name: 'token', indexed: true },
1124
1140
  ],
1125
1141
  },
1126
1142
  {
1127
- name: 'OrderPlaced',
1143
+ name: 'ValidatorTokenSet',
1128
1144
  type: 'event',
1129
1145
  inputs: [
1130
- { type: 'uint128', name: 'orderId', indexed: true },
1131
- { type: 'address', name: 'maker', indexed: true },
1146
+ { type: 'address', name: 'validator', indexed: true },
1132
1147
  { type: 'address', name: 'token', indexed: true },
1133
- { type: 'uint128', name: 'amount' },
1134
- { type: 'bool', name: 'isBid' },
1135
- { type: 'int16', name: 'tick' },
1136
1148
  ],
1137
1149
  },
1138
- {
1139
- name: 'FlipOrderPlaced',
1140
- type: 'event',
1141
- inputs: [
1142
- { type: 'uint128', name: 'orderId', indexed: true },
1143
- { type: 'address', name: 'maker', indexed: true },
1144
- { type: 'address', name: 'token', indexed: true },
1145
- { type: 'uint128', name: 'amount' },
1146
- { type: 'bool', name: 'isBid' },
1147
- { type: 'int16', name: 'tick' },
1148
- { type: 'int16', name: 'flipTick' },
1150
+ { name: 'OnlyValidator', type: 'error', inputs: [] },
1151
+ { name: 'OnlySystemContract', type: 'error', inputs: [] },
1152
+ { name: 'InvalidToken', type: 'error', inputs: [] },
1153
+ { name: 'PoolDoesNotExist', type: 'error', inputs: [] },
1154
+ { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
1155
+ { name: 'InsufficientFeeTokenBalance', type: 'error', inputs: [] },
1156
+ { name: 'InternalError', type: 'error', inputs: [] },
1157
+ { name: 'CannotChangeWithinBlock', type: 'error', inputs: [] },
1158
+ { name: 'TokenPolicyForbids', type: 'error', inputs: [] },
1159
+ ] as const
1160
+
1161
+ export const feeAmm = [
1162
+ {
1163
+ name: 'getPoolId',
1164
+ type: 'function',
1165
+ stateMutability: 'pure',
1166
+ inputs: [
1167
+ { type: 'address', name: 'userToken' },
1168
+ { type: 'address', name: 'validatorToken' },
1149
1169
  ],
1170
+ outputs: [{ type: 'bytes32' }],
1150
1171
  },
1151
1172
  {
1152
- name: 'OrderCancelled',
1173
+ name: 'getPool',
1174
+ type: 'function',
1175
+ stateMutability: 'view',
1176
+ inputs: [
1177
+ { type: 'address', name: 'userToken' },
1178
+ { type: 'address', name: 'validatorToken' },
1179
+ ],
1180
+ outputs: [
1181
+ {
1182
+ type: 'tuple',
1183
+ components: [
1184
+ { type: 'uint128', name: 'reserveUserToken' },
1185
+ { type: 'uint128', name: 'reserveValidatorToken' },
1186
+ ],
1187
+ },
1188
+ ],
1189
+ },
1190
+ {
1191
+ name: 'pools',
1192
+ type: 'function',
1193
+ stateMutability: 'view',
1194
+ inputs: [{ type: 'bytes32', name: 'poolId' }],
1195
+ outputs: [
1196
+ {
1197
+ type: 'tuple',
1198
+ components: [
1199
+ { type: 'uint128', name: 'reserveUserToken' },
1200
+ { type: 'uint128', name: 'reserveValidatorToken' },
1201
+ ],
1202
+ },
1203
+ ],
1204
+ },
1205
+ {
1206
+ name: 'mint',
1207
+ type: 'function',
1208
+ stateMutability: 'nonpayable',
1209
+ inputs: [
1210
+ { type: 'address', name: 'userToken' },
1211
+ { type: 'address', name: 'validatorToken' },
1212
+ { type: 'uint256', name: 'amountUserToken' },
1213
+ { type: 'uint256', name: 'amountValidatorToken' },
1214
+ { type: 'address', name: 'to' },
1215
+ ],
1216
+ outputs: [{ type: 'uint256', name: 'liquidity' }],
1217
+ },
1218
+ {
1219
+ name: 'mintWithValidatorToken',
1220
+ type: 'function',
1221
+ stateMutability: 'nonpayable',
1222
+ inputs: [
1223
+ { type: 'address', name: 'userToken' },
1224
+ { type: 'address', name: 'validatorToken' },
1225
+ { type: 'uint256', name: 'amountValidatorToken' },
1226
+ { type: 'address', name: 'to' },
1227
+ ],
1228
+ outputs: [{ type: 'uint256', name: 'liquidity' }],
1229
+ },
1230
+ {
1231
+ name: 'burn',
1232
+ type: 'function',
1233
+ stateMutability: 'nonpayable',
1234
+ inputs: [
1235
+ { type: 'address', name: 'userToken' },
1236
+ { type: 'address', name: 'validatorToken' },
1237
+ { type: 'uint256', name: 'liquidity' },
1238
+ { type: 'address', name: 'to' },
1239
+ ],
1240
+ outputs: [
1241
+ { type: 'uint256', name: 'amountUserToken' },
1242
+ { type: 'uint256', name: 'amountValidatorToken' },
1243
+ ],
1244
+ },
1245
+ {
1246
+ name: 'totalSupply',
1247
+ type: 'function',
1248
+ stateMutability: 'view',
1249
+ inputs: [{ type: 'bytes32', name: 'poolId' }],
1250
+ outputs: [{ type: 'uint256' }],
1251
+ },
1252
+ {
1253
+ name: 'liquidityBalances',
1254
+ type: 'function',
1255
+ stateMutability: 'view',
1256
+ inputs: [
1257
+ { type: 'bytes32', name: 'poolId' },
1258
+ { type: 'address', name: 'user' },
1259
+ ],
1260
+ outputs: [{ type: 'uint256' }],
1261
+ },
1262
+ {
1263
+ name: 'rebalanceSwap',
1264
+ type: 'function',
1265
+ stateMutability: 'nonpayable',
1266
+ inputs: [
1267
+ { type: 'address', name: 'userToken' },
1268
+ { type: 'address', name: 'validatorToken' },
1269
+ { type: 'uint256', name: 'amountOut' },
1270
+ { type: 'address', name: 'to' },
1271
+ ],
1272
+ outputs: [{ type: 'uint256', name: 'amountIn' }],
1273
+ },
1274
+ {
1275
+ name: 'calculateLiquidity',
1276
+ type: 'function',
1277
+ stateMutability: 'pure',
1278
+ inputs: [
1279
+ { type: 'uint256', name: 'x' },
1280
+ { type: 'uint256', name: 'y' },
1281
+ ],
1282
+ outputs: [{ type: 'uint256' }],
1283
+ },
1284
+ {
1285
+ name: 'Mint',
1153
1286
  type: 'event',
1154
- inputs: [{ type: 'uint128', name: 'orderId', indexed: true }],
1287
+ inputs: [
1288
+ { type: 'address', name: 'sender', indexed: true },
1289
+ { type: 'address', name: 'userToken', indexed: true },
1290
+ { type: 'address', name: 'validatorToken', indexed: true },
1291
+ { type: 'uint256', name: 'amountUserToken' },
1292
+ { type: 'uint256', name: 'amountValidatorToken' },
1293
+ { type: 'uint256', name: 'liquidity' },
1294
+ ],
1155
1295
  },
1156
1296
  {
1157
- name: 'OrderFilled',
1297
+ name: 'Burn',
1158
1298
  type: 'event',
1159
1299
  inputs: [
1160
- { type: 'uint128', name: 'orderId', indexed: true },
1161
- { type: 'address', name: 'maker', indexed: true },
1162
- { type: 'uint128', name: 'amountFilled' },
1163
- { type: 'bool', name: 'partialFill' },
1300
+ { type: 'address', name: 'sender', indexed: true },
1301
+ { type: 'address', name: 'userToken', indexed: true },
1302
+ { type: 'address', name: 'validatorToken', indexed: true },
1303
+ { type: 'uint256', name: 'amountUserToken' },
1304
+ { type: 'uint256', name: 'amountValidatorToken' },
1305
+ { type: 'uint256', name: 'liquidity' },
1306
+ { type: 'address', name: 'to' },
1164
1307
  ],
1165
1308
  },
1166
- { name: 'OrderDoesNotExist', type: 'error', inputs: [] },
1309
+ {
1310
+ name: 'RebalanceSwap',
1311
+ type: 'event',
1312
+ inputs: [
1313
+ { type: 'address', name: 'userToken', indexed: true },
1314
+ { type: 'address', name: 'validatorToken', indexed: true },
1315
+ { type: 'address', name: 'swapper', indexed: true },
1316
+ { type: 'uint256', name: 'amountIn' },
1317
+ { type: 'uint256', name: 'amountOut' },
1318
+ ],
1319
+ },
1320
+ {
1321
+ name: 'FeeSwap',
1322
+ type: 'event',
1323
+ inputs: [
1324
+ { type: 'address', name: 'userToken', indexed: true },
1325
+ { type: 'address', name: 'validatorToken', indexed: true },
1326
+ { type: 'uint256', name: 'amountIn' },
1327
+ { type: 'uint256', name: 'amountOut' },
1328
+ ],
1329
+ },
1330
+ { name: 'IdenticalAddresses', type: 'error', inputs: [] },
1331
+ { name: 'ZeroAddress', type: 'error', inputs: [] },
1332
+ { name: 'PoolExists', type: 'error', inputs: [] },
1333
+ { name: 'PoolDoesNotExist', type: 'error', inputs: [] },
1334
+ { name: 'InvalidToken', type: 'error', inputs: [] },
1335
+ { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
1336
+ { name: 'OnlyProtocol', type: 'error', inputs: [] },
1337
+ { name: 'InsufficientPoolBalance', type: 'error', inputs: [] },
1338
+ { name: 'InsufficientReserves', type: 'error', inputs: [] },
1339
+ { name: 'InsufficientLiquidityBalance', type: 'error', inputs: [] },
1340
+ { name: 'MustDepositLowerBalanceToken', type: 'error', inputs: [] },
1341
+ { name: 'InvalidAmount', type: 'error', inputs: [] },
1342
+ { name: 'InvalidRebalanceState', type: 'error', inputs: [] },
1343
+ { name: 'InvalidRebalanceDirection', type: 'error', inputs: [] },
1344
+ { name: 'InvalidNewReserves', type: 'error', inputs: [] },
1345
+ { name: 'CannotSupportPendingSwaps', type: 'error', inputs: [] },
1346
+ { name: 'DivisionByZero', type: 'error', inputs: [] },
1347
+ { name: 'InvalidSwapCalculation', type: 'error', inputs: [] },
1348
+ { name: 'InsufficientLiquidityForPending', type: 'error', inputs: [] },
1349
+ { name: 'TokenTransferFailed', type: 'error', inputs: [] },
1350
+ { name: 'InternalError', type: 'error', inputs: [] },
1351
+ ] as const
1352
+
1353
+ export const validatorConfig = [
1354
+ {
1355
+ name: 'getValidators',
1356
+ type: 'function',
1357
+ stateMutability: 'view',
1358
+ inputs: [],
1359
+ outputs: [
1360
+ {
1361
+ type: 'tuple[]',
1362
+ name: 'validators',
1363
+ components: [
1364
+ { type: 'bytes32', name: 'publicKey' },
1365
+ { type: 'bool', name: 'active' },
1366
+ { type: 'uint64', name: 'index' },
1367
+ { type: 'address', name: 'validatorAddress' },
1368
+ { type: 'string', name: 'inboundAddress' },
1369
+ { type: 'string', name: 'outboundAddress' },
1370
+ ],
1371
+ },
1372
+ ],
1373
+ },
1374
+ {
1375
+ name: 'addValidator',
1376
+ type: 'function',
1377
+ stateMutability: 'nonpayable',
1378
+ inputs: [
1379
+ { type: 'address', name: 'newValidatorAddress' },
1380
+ { type: 'bytes32', name: 'publicKey' },
1381
+ { type: 'bool', name: 'active' },
1382
+ { type: 'string', name: 'inboundAddress' },
1383
+ { type: 'string', name: 'outboundAddress' },
1384
+ ],
1385
+ outputs: [],
1386
+ },
1387
+ {
1388
+ name: 'updateValidator',
1389
+ type: 'function',
1390
+ stateMutability: 'nonpayable',
1391
+ inputs: [
1392
+ { type: 'address', name: 'newValidatorAddress' },
1393
+ { type: 'bytes32', name: 'publicKey' },
1394
+ { type: 'string', name: 'inboundAddress' },
1395
+ { type: 'string', name: 'outboundAddress' },
1396
+ ],
1397
+ outputs: [],
1398
+ },
1399
+ {
1400
+ name: 'changeValidatorStatus',
1401
+ type: 'function',
1402
+ stateMutability: 'nonpayable',
1403
+ inputs: [
1404
+ { type: 'address', name: 'validator' },
1405
+ { type: 'bool', name: 'active' },
1406
+ ],
1407
+ outputs: [],
1408
+ },
1409
+ {
1410
+ name: 'owner',
1411
+ type: 'function',
1412
+ stateMutability: 'view',
1413
+ inputs: [],
1414
+ outputs: [{ type: 'address' }],
1415
+ },
1416
+ {
1417
+ name: 'changeOwner',
1418
+ type: 'function',
1419
+ stateMutability: 'nonpayable',
1420
+ inputs: [{ type: 'address', name: 'newOwner' }],
1421
+ outputs: [],
1422
+ },
1167
1423
  { name: 'Unauthorized', type: 'error', inputs: [] },
1168
- { name: 'FillFailed', type: 'error', inputs: [] },
1169
- { name: 'InvalidTick', type: 'error', inputs: [] },
1170
- { name: 'InsufficientBalance', type: 'error', inputs: [] },
1171
- { name: 'InvalidFlipTick', type: 'error', inputs: [] },
1424
+ { name: 'ValidatorAlreadyExists', type: 'error', inputs: [] },
1425
+ { name: 'ValidatorNotFound', type: 'error', inputs: [] },
1172
1426
  {
1173
- name: 'TickOutOfBounds',
1427
+ name: 'NotHostPort',
1174
1428
  type: 'error',
1175
- inputs: [{ type: 'int16', name: 'tick' }],
1429
+ inputs: [
1430
+ { type: 'string', name: 'field' },
1431
+ { type: 'string', name: 'input' },
1432
+ { type: 'string', name: 'backtrace' },
1433
+ ],
1434
+ },
1435
+ {
1436
+ name: 'NotIpPort',
1437
+ type: 'error',
1438
+ inputs: [
1439
+ { type: 'string', name: 'field' },
1440
+ { type: 'string', name: 'input' },
1441
+ { type: 'string', name: 'backtrace' },
1442
+ ],
1176
1443
  },
1177
- { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
1178
- { name: 'MaxInputExceeded', type: 'error', inputs: [] },
1179
- { name: 'InsufficientOutput', type: 'error', inputs: [] },
1180
- { name: 'PairDoesNotExist', type: 'error', inputs: [] },
1181
- { name: 'PairAlreadyExists', type: 'error', inputs: [] },
1182
1444
  ] as const