tempo.ts 0.0.6 → 0.1.0

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 (195) hide show
  1. package/dist/chains.d.ts +244 -541
  2. package/dist/chains.d.ts.map +1 -1
  3. package/dist/chains.js +10 -23
  4. package/dist/chains.js.map +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/ox/SignatureEnvelope.d.ts +245 -0
  7. package/dist/ox/SignatureEnvelope.d.ts.map +1 -0
  8. package/dist/ox/SignatureEnvelope.js +437 -0
  9. package/dist/ox/SignatureEnvelope.js.map +1 -0
  10. package/dist/ox/Transaction.d.ts +61 -24
  11. package/dist/ox/Transaction.d.ts.map +1 -1
  12. package/dist/ox/Transaction.js +63 -18
  13. package/dist/ox/Transaction.js.map +1 -1
  14. package/dist/ox/TransactionEnvelopeAA.d.ts +461 -0
  15. package/dist/ox/TransactionEnvelopeAA.d.ts.map +1 -0
  16. package/dist/ox/TransactionEnvelopeAA.js +528 -0
  17. package/dist/ox/TransactionEnvelopeAA.js.map +1 -0
  18. package/dist/ox/TransactionRequest.d.ts +7 -5
  19. package/dist/ox/TransactionRequest.d.ts.map +1 -1
  20. package/dist/ox/TransactionRequest.js +21 -12
  21. package/dist/ox/TransactionRequest.js.map +1 -1
  22. package/dist/ox/index.d.ts +5 -4
  23. package/dist/ox/index.d.ts.map +1 -1
  24. package/dist/ox/index.js +5 -4
  25. package/dist/ox/index.js.map +1 -1
  26. package/dist/prool/Instance.d.ts +0 -4
  27. package/dist/prool/Instance.d.ts.map +1 -1
  28. package/dist/prool/Instance.js +7 -7
  29. package/dist/prool/Instance.js.map +1 -1
  30. package/dist/prool/index.d.ts +1 -1
  31. package/dist/prool/index.d.ts.map +1 -1
  32. package/dist/prool/index.js +1 -1
  33. package/dist/prool/index.js.map +1 -1
  34. package/dist/viem/{abis.d.ts → Abis.d.ts} +523 -9
  35. package/dist/viem/Abis.d.ts.map +1 -0
  36. package/dist/viem/{abis.js → Abis.js} +321 -9
  37. package/dist/viem/Abis.js.map +1 -0
  38. package/dist/viem/{actions → Actions}/amm.d.ts +21 -21
  39. package/dist/viem/Actions/amm.d.ts.map +1 -0
  40. package/dist/viem/{actions → Actions}/amm.js +55 -43
  41. package/dist/viem/Actions/amm.js.map +1 -0
  42. package/dist/viem/Actions/dex.d.ts +3263 -0
  43. package/dist/viem/Actions/dex.d.ts.map +1 -0
  44. package/dist/viem/Actions/dex.js +1357 -0
  45. package/dist/viem/Actions/dex.js.map +1 -0
  46. package/dist/viem/{actions → Actions}/fee.d.ts +8 -8
  47. package/dist/viem/Actions/fee.d.ts.map +1 -0
  48. package/dist/viem/{actions → Actions}/fee.js +14 -13
  49. package/dist/viem/Actions/fee.js.map +1 -0
  50. package/dist/viem/Actions/index.d.ts +6 -0
  51. package/dist/viem/Actions/index.d.ts.map +1 -0
  52. package/dist/viem/Actions/index.js +6 -0
  53. package/dist/viem/Actions/index.js.map +1 -0
  54. package/dist/viem/{actions → Actions}/policy.d.ts +19 -19
  55. package/dist/viem/Actions/policy.d.ts.map +1 -0
  56. package/dist/viem/{actions → Actions}/policy.js +59 -46
  57. package/dist/viem/Actions/policy.js.map +1 -0
  58. package/dist/viem/{actions → Actions}/token.d.ts +3250 -700
  59. package/dist/viem/Actions/token.d.ts.map +1 -0
  60. package/dist/viem/{actions → Actions}/token.js +419 -83
  61. package/dist/viem/Actions/token.js.map +1 -0
  62. package/dist/viem/Addresses.d.ts +9 -0
  63. package/dist/viem/Addresses.d.ts.map +1 -0
  64. package/dist/viem/Addresses.js +9 -0
  65. package/dist/viem/Addresses.js.map +1 -0
  66. package/dist/viem/{chain.d.ts → Chain.d.ts} +81 -57
  67. package/dist/viem/Chain.d.ts.map +1 -0
  68. package/dist/viem/{chain.js → Chain.js} +7 -7
  69. package/dist/viem/Chain.js.map +1 -0
  70. package/dist/viem/{client.d.ts → Client.d.ts} +4 -4
  71. package/dist/viem/Client.d.ts.map +1 -0
  72. package/dist/viem/{client.js → Client.js} +3 -3
  73. package/dist/viem/Client.js.map +1 -0
  74. package/dist/viem/{decorator.d.ts → Decorator.d.ts} +507 -5
  75. package/dist/viem/Decorator.d.ts.map +1 -0
  76. package/dist/viem/{decorator.js → Decorator.js} +31 -5
  77. package/dist/viem/Decorator.js.map +1 -0
  78. package/dist/viem/{formatters.d.ts → Formatters.d.ts} +2 -2
  79. package/dist/viem/Formatters.d.ts.map +1 -0
  80. package/dist/viem/{formatters.js → Formatters.js} +24 -17
  81. package/dist/viem/Formatters.js.map +1 -0
  82. package/dist/viem/Tick.d.ts +111 -0
  83. package/dist/viem/Tick.d.ts.map +1 -0
  84. package/dist/viem/Tick.js +127 -0
  85. package/dist/viem/Tick.js.map +1 -0
  86. package/dist/viem/TokenIds.d.ts +3 -0
  87. package/dist/viem/TokenIds.d.ts.map +1 -0
  88. package/dist/viem/TokenIds.js +3 -0
  89. package/dist/viem/TokenIds.js.map +1 -0
  90. package/dist/viem/Transaction.d.ts +57 -0
  91. package/dist/viem/Transaction.d.ts.map +1 -0
  92. package/dist/viem/Transaction.js +137 -0
  93. package/dist/viem/Transaction.js.map +1 -0
  94. package/dist/viem/{transport.d.ts → Transport.d.ts} +3 -3
  95. package/dist/viem/Transport.d.ts.map +1 -0
  96. package/dist/viem/{transport.js → Transport.js} +3 -3
  97. package/dist/viem/Transport.js.map +1 -0
  98. package/dist/viem/index.d.ts +13 -9
  99. package/dist/viem/index.d.ts.map +1 -1
  100. package/dist/viem/index.js +13 -9
  101. package/dist/viem/index.js.map +1 -1
  102. package/dist/viem/{types.d.ts → internal/types.d.ts} +3 -3
  103. package/dist/viem/internal/types.d.ts.map +1 -0
  104. package/dist/viem/{types.js.map → internal/types.js.map} +1 -1
  105. package/dist/viem/internal/utils.d.ts.map +1 -0
  106. package/dist/viem/internal/utils.js.map +1 -0
  107. package/package.json +87 -101
  108. package/src/chains.ts +10 -24
  109. package/src/ox/SignatureEnvelope.test.ts +1252 -0
  110. package/src/ox/SignatureEnvelope.ts +709 -0
  111. package/src/ox/Transaction.test.ts +144 -89
  112. package/src/ox/Transaction.ts +104 -29
  113. package/src/ox/TransactionEnvelopeAA.test.ts +1533 -0
  114. package/src/ox/TransactionEnvelopeAA.ts +858 -0
  115. package/src/ox/TransactionRequest.ts +25 -17
  116. package/src/ox/index.ts +2 -1
  117. package/src/prool/Instance.ts +6 -14
  118. package/src/prool/internal/chain.json +101 -27
  119. package/src/viem/{abis.ts → Abis.ts} +322 -8
  120. package/src/viem/{actions → Actions}/amm.test.ts +65 -68
  121. package/src/viem/{actions → Actions}/amm.ts +72 -60
  122. package/src/viem/Actions/dex.test.ts +1608 -0
  123. package/src/viem/Actions/dex.ts +2026 -0
  124. package/src/viem/{actions → Actions}/fee.test.ts +34 -36
  125. package/src/viem/{actions → Actions}/fee.ts +18 -17
  126. package/src/viem/{actions → Actions}/index.ts +1 -0
  127. package/src/viem/{actions → Actions}/policy.test.ts +2 -2
  128. package/src/viem/{actions → Actions}/policy.ts +77 -64
  129. package/src/viem/{actions → Actions}/token.test.ts +403 -64
  130. package/src/viem/{actions → Actions}/token.ts +672 -133
  131. package/src/viem/Addresses.ts +9 -0
  132. package/src/viem/{chain.ts → Chain.ts} +6 -6
  133. package/src/viem/{client.bench-d.ts → Client.bench-d.ts} +2 -2
  134. package/src/viem/{client.test.ts → Client.test.ts} +31 -6
  135. package/src/viem/{client.ts → Client.ts} +1 -1
  136. package/src/viem/{decorator.bench-d.ts → Decorator.bench-d.ts} +2 -2
  137. package/src/viem/{decorator.test.ts → Decorator.test.ts} +1 -0
  138. package/src/viem/{decorator.ts → Decorator.ts} +586 -4
  139. package/src/viem/{formatters.ts → Formatters.ts} +31 -20
  140. package/src/viem/Tick.test.ts +281 -0
  141. package/src/viem/Tick.ts +176 -0
  142. package/src/viem/TokenIds.ts +2 -0
  143. package/src/viem/Transaction.ts +303 -0
  144. package/src/viem/{transport.ts → Transport.ts} +5 -5
  145. package/src/viem/e2e.test.ts +153 -78
  146. package/src/viem/index.ts +13 -9
  147. package/src/viem/{types.ts → internal/types.ts} +3 -3
  148. package/dist/ox/TransactionEnvelopeFeeToken.d.ts +0 -393
  149. package/dist/ox/TransactionEnvelopeFeeToken.d.ts.map +0 -1
  150. package/dist/ox/TransactionEnvelopeFeeToken.js +0 -452
  151. package/dist/ox/TransactionEnvelopeFeeToken.js.map +0 -1
  152. package/dist/viem/abis.d.ts.map +0 -1
  153. package/dist/viem/abis.js.map +0 -1
  154. package/dist/viem/actions/amm.d.ts.map +0 -1
  155. package/dist/viem/actions/amm.js.map +0 -1
  156. package/dist/viem/actions/fee.d.ts.map +0 -1
  157. package/dist/viem/actions/fee.js.map +0 -1
  158. package/dist/viem/actions/index.d.ts +0 -5
  159. package/dist/viem/actions/index.d.ts.map +0 -1
  160. package/dist/viem/actions/index.js +0 -5
  161. package/dist/viem/actions/index.js.map +0 -1
  162. package/dist/viem/actions/policy.d.ts.map +0 -1
  163. package/dist/viem/actions/policy.js.map +0 -1
  164. package/dist/viem/actions/token.d.ts.map +0 -1
  165. package/dist/viem/actions/token.js.map +0 -1
  166. package/dist/viem/addresses.d.ts +0 -8
  167. package/dist/viem/addresses.d.ts.map +0 -1
  168. package/dist/viem/addresses.js +0 -8
  169. package/dist/viem/addresses.js.map +0 -1
  170. package/dist/viem/chain.d.ts.map +0 -1
  171. package/dist/viem/chain.js.map +0 -1
  172. package/dist/viem/client.d.ts.map +0 -1
  173. package/dist/viem/client.js.map +0 -1
  174. package/dist/viem/decorator.d.ts.map +0 -1
  175. package/dist/viem/decorator.js.map +0 -1
  176. package/dist/viem/formatters.d.ts.map +0 -1
  177. package/dist/viem/formatters.js.map +0 -1
  178. package/dist/viem/transaction.d.ts +0 -54
  179. package/dist/viem/transaction.d.ts.map +0 -1
  180. package/dist/viem/transaction.js +0 -108
  181. package/dist/viem/transaction.js.map +0 -1
  182. package/dist/viem/transport.d.ts.map +0 -1
  183. package/dist/viem/transport.js.map +0 -1
  184. package/dist/viem/types.d.ts.map +0 -1
  185. package/dist/viem/utils.d.ts.map +0 -1
  186. package/dist/viem/utils.js.map +0 -1
  187. package/src/ox/TransactionEnvelopeFeeToken.test.ts +0 -1119
  188. package/src/ox/TransactionEnvelopeFeeToken.ts +0 -717
  189. package/src/prool/internal/consensus.toml +0 -32
  190. package/src/viem/addresses.ts +0 -10
  191. package/src/viem/transaction.ts +0 -253
  192. /package/dist/viem/{types.js → internal/types.js} +0 -0
  193. /package/dist/viem/{utils.d.ts → internal/utils.d.ts} +0 -0
  194. /package/dist/viem/{utils.js → internal/utils.js} +0 -0
  195. /package/src/viem/{utils.ts → internal/utils.ts} +0 -0
@@ -1,9 +1,9 @@
1
1
  import { parseEventLogs, } from 'viem';
2
2
  import { readContract, watchContractEvent, writeContract, writeContractSync, } from 'viem/actions';
3
- import * as TokenId from "../../ox/TokenId.js";
4
- import { feeAmmAbi } from "../abis.js";
5
- import { feeManagerAddress } from "../addresses.js";
6
- import { defineCall } from "../utils.js";
3
+ import * as TokenId from '../../ox/TokenId.js';
4
+ import * as Abis from '../Abis.js';
5
+ import * as Addresses from '../Addresses.js';
6
+ import { defineCall } from '../internal/utils.js';
7
7
  /**
8
8
  * Gets the pool ID for a token pair.
9
9
  *
@@ -29,9 +29,10 @@ import { defineCall } from "../utils.js";
29
29
  * @returns The pool ID.
30
30
  */
31
31
  export async function getPoolId(client, parameters) {
32
+ const { userToken, validatorToken, ...rest } = parameters;
32
33
  return readContract(client, {
33
- ...parameters,
34
- ...getPoolId.call(parameters),
34
+ ...rest,
35
+ ...getPoolId.call({ userToken, validatorToken }),
35
36
  });
36
37
  }
37
38
  (function (getPoolId) {
@@ -44,8 +45,8 @@ export async function getPoolId(client, parameters) {
44
45
  function call(args) {
45
46
  const { userToken, validatorToken } = args;
46
47
  return defineCall({
47
- address: feeManagerAddress,
48
- abi: feeAmmAbi,
48
+ address: Addresses.feeManager,
49
+ abi: Abis.feeAmm,
49
50
  args: [TokenId.toAddress(userToken), TokenId.toAddress(validatorToken)],
50
51
  functionName: 'getPoolId',
51
52
  });
@@ -77,9 +78,10 @@ export async function getPoolId(client, parameters) {
77
78
  * @returns The pool reserves.
78
79
  */
79
80
  export async function getPool(client, parameters) {
81
+ const { userToken, validatorToken, ...rest } = parameters;
80
82
  return readContract(client, {
81
- ...parameters,
82
- ...getPool.call(parameters),
83
+ ...rest,
84
+ ...getPool.call({ userToken, validatorToken }),
83
85
  });
84
86
  }
85
87
  (function (getPool) {
@@ -92,8 +94,8 @@ export async function getPool(client, parameters) {
92
94
  function call(args) {
93
95
  const { userToken, validatorToken } = args;
94
96
  return defineCall({
95
- address: feeManagerAddress,
96
- abi: feeAmmAbi,
97
+ address: Addresses.feeManager,
98
+ abi: Abis.feeAmm,
97
99
  args: [TokenId.toAddress(userToken), TokenId.toAddress(validatorToken)],
98
100
  functionName: 'getPool',
99
101
  });
@@ -127,9 +129,10 @@ export async function getPool(client, parameters) {
127
129
  * @returns The total supply of LP tokens.
128
130
  */
129
131
  export async function getTotalSupply(client, parameters) {
132
+ const { poolId, ...rest } = parameters;
130
133
  return readContract(client, {
131
- ...parameters,
132
- ...getTotalSupply.call(parameters),
134
+ ...rest,
135
+ ...getTotalSupply.call({ poolId }),
133
136
  });
134
137
  }
135
138
  (function (getTotalSupply) {
@@ -142,8 +145,8 @@ export async function getTotalSupply(client, parameters) {
142
145
  function call(args) {
143
146
  const { poolId } = args;
144
147
  return defineCall({
145
- address: feeManagerAddress,
146
- abi: feeAmmAbi,
148
+ address: Addresses.feeManager,
149
+ abi: Abis.feeAmm,
147
150
  args: [poolId],
148
151
  functionName: 'totalSupply',
149
152
  });
@@ -180,9 +183,10 @@ export async function getTotalSupply(client, parameters) {
180
183
  * @returns The LP token balance.
181
184
  */
182
185
  export async function getLiquidityBalance(client, parameters) {
186
+ const { address, poolId, ...rest } = parameters;
183
187
  return readContract(client, {
184
- ...parameters,
185
- ...getLiquidityBalance.call(parameters),
188
+ ...rest,
189
+ ...getLiquidityBalance.call({ address, poolId }),
186
190
  });
187
191
  }
188
192
  (function (getLiquidityBalance) {
@@ -195,8 +199,8 @@ export async function getLiquidityBalance(client, parameters) {
195
199
  function call(args) {
196
200
  const { address, poolId } = args;
197
201
  return defineCall({
198
- address: feeManagerAddress,
199
- abi: feeAmmAbi,
202
+ address: Addresses.feeManager,
203
+ abi: Abis.feeAmm,
200
204
  args: [poolId, address],
201
205
  functionName: 'liquidityBalances',
202
206
  });
@@ -237,9 +241,15 @@ export async function rebalanceSwap(client, parameters) {
237
241
  (function (rebalanceSwap) {
238
242
  /** @internal */
239
243
  async function inner(action, client, parameters) {
240
- const call = rebalanceSwap.call(parameters);
244
+ const { userToken, validatorToken, amountOut, to, ...rest } = parameters;
245
+ const call = rebalanceSwap.call({
246
+ userToken,
247
+ validatorToken,
248
+ amountOut,
249
+ to,
250
+ });
241
251
  return (await action(client, {
242
- ...parameters,
252
+ ...rest,
243
253
  ...call,
244
254
  }));
245
255
  }
@@ -287,8 +297,8 @@ export async function rebalanceSwap(client, parameters) {
287
297
  function call(args) {
288
298
  const { userToken, validatorToken, amountOut, to } = args;
289
299
  return defineCall({
290
- address: feeManagerAddress,
291
- abi: feeAmmAbi,
300
+ address: Addresses.feeManager,
301
+ abi: Abis.feeAmm,
292
302
  functionName: 'rebalanceSwap',
293
303
  args: [
294
304
  TokenId.toAddress(userToken),
@@ -307,7 +317,7 @@ export async function rebalanceSwap(client, parameters) {
307
317
  */
308
318
  function extractEvent(logs) {
309
319
  const [log] = parseEventLogs({
310
- abi: feeAmmAbi,
320
+ abi: Abis.feeAmm,
311
321
  logs,
312
322
  eventName: 'RebalanceSwap',
313
323
  strict: true,
@@ -397,9 +407,10 @@ export async function mint(client, parameters) {
397
407
  (function (mint) {
398
408
  /** @internal */
399
409
  async function inner(action, client, parameters) {
400
- const call = mint.call(parameters);
410
+ const { to, userToken, validatorToken, ...rest } = parameters;
411
+ const call = mint.call({ to, userToken, validatorToken });
401
412
  return (await action(client, {
402
- ...parameters,
413
+ ...rest,
403
414
  ...call,
404
415
  }));
405
416
  }
@@ -457,8 +468,8 @@ export async function mint(client, parameters) {
457
468
  function call(args) {
458
469
  const { to, userToken, validatorToken } = args;
459
470
  return defineCall({
460
- address: feeManagerAddress,
461
- abi: feeAmmAbi,
471
+ address: Addresses.feeManager,
472
+ abi: Abis.feeAmm,
462
473
  functionName: 'mint',
463
474
  args: [
464
475
  TokenId.toAddress(userToken.address),
@@ -478,7 +489,7 @@ export async function mint(client, parameters) {
478
489
  */
479
490
  function extractEvent(logs) {
480
491
  const [log] = parseEventLogs({
481
- abi: feeAmmAbi,
492
+ abi: Abis.feeAmm,
482
493
  logs,
483
494
  eventName: 'Mint',
484
495
  strict: true,
@@ -568,9 +579,10 @@ export async function burn(client, parameters) {
568
579
  (function (burn) {
569
580
  /** @internal */
570
581
  async function inner(action, client, parameters) {
571
- const call = burn.call(parameters);
582
+ const { liquidity, to, userToken, validatorToken, ...rest } = parameters;
583
+ const call = burn.call({ liquidity, to, userToken, validatorToken });
572
584
  return (await action(client, {
573
- ...parameters,
585
+ ...rest,
574
586
  ...call,
575
587
  }));
576
588
  }
@@ -618,8 +630,8 @@ export async function burn(client, parameters) {
618
630
  function call(args) {
619
631
  const { liquidity, to, userToken, validatorToken } = args;
620
632
  return defineCall({
621
- address: feeManagerAddress,
622
- abi: feeAmmAbi,
633
+ address: Addresses.feeManager,
634
+ abi: Abis.feeAmm,
623
635
  functionName: 'burn',
624
636
  args: [
625
637
  TokenId.toAddress(userToken),
@@ -638,7 +650,7 @@ export async function burn(client, parameters) {
638
650
  */
639
651
  function extractEvent(logs) {
640
652
  const [log] = parseEventLogs({
641
- abi: feeAmmAbi,
653
+ abi: Abis.feeAmm,
642
654
  logs,
643
655
  eventName: 'Burn',
644
656
  strict: true,
@@ -718,8 +730,8 @@ export function watchRebalanceSwap(client, parameters) {
718
730
  const { onRebalanceSwap, userToken, validatorToken, ...rest } = parameters;
719
731
  return watchContractEvent(client, {
720
732
  ...rest,
721
- address: feeManagerAddress,
722
- abi: feeAmmAbi,
733
+ address: Addresses.feeManager,
734
+ abi: Abis.feeAmm,
723
735
  eventName: 'RebalanceSwap',
724
736
  args: userToken !== undefined && validatorToken !== undefined
725
737
  ? {
@@ -763,8 +775,8 @@ export function watchFeeSwap(client, parameters) {
763
775
  const { onFeeSwap, userToken, validatorToken, ...rest } = parameters;
764
776
  return watchContractEvent(client, {
765
777
  ...rest,
766
- address: feeManagerAddress,
767
- abi: feeAmmAbi,
778
+ address: Addresses.feeManager,
779
+ abi: Abis.feeAmm,
768
780
  eventName: 'FeeSwap',
769
781
  args: userToken !== undefined && validatorToken !== undefined
770
782
  ? {
@@ -808,8 +820,8 @@ export function watchMint(client, parameters) {
808
820
  const { onMint, sender, userToken, validatorToken, ...rest } = parameters;
809
821
  return watchContractEvent(client, {
810
822
  ...rest,
811
- address: feeManagerAddress,
812
- abi: feeAmmAbi,
823
+ address: Addresses.feeManager,
824
+ abi: Abis.feeAmm,
813
825
  eventName: 'Mint',
814
826
  args: {
815
827
  ...(sender !== undefined && {
@@ -869,8 +881,8 @@ export function watchBurn(client, parameters) {
869
881
  const { onBurn, userToken, validatorToken, ...rest } = parameters;
870
882
  return watchContractEvent(client, {
871
883
  ...rest,
872
- address: feeManagerAddress,
873
- abi: feeAmmAbi,
884
+ address: Addresses.feeManager,
885
+ abi: Abis.feeAmm,
874
886
  eventName: 'Burn',
875
887
  args: userToken !== undefined && validatorToken !== undefined
876
888
  ? {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amm.js","sourceRoot":"","sources":["../../../src/viem/Actions/amm.ts"],"names":[],"mappings":"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"}