tempo.ts 0.2.0 → 0.3.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 (94) hide show
  1. package/README.md +24 -0
  2. package/dist/chains.d.ts +56 -1572
  3. package/dist/chains.d.ts.map +1 -1
  4. package/dist/chains.js +3 -1
  5. package/dist/chains.js.map +1 -1
  6. package/dist/viem/Actions/amm.d.ts +64 -43
  7. package/dist/viem/Actions/amm.d.ts.map +1 -1
  8. package/dist/viem/Actions/amm.js +62 -47
  9. package/dist/viem/Actions/amm.js.map +1 -1
  10. package/dist/viem/Actions/dex.d.ts +32 -32
  11. package/dist/viem/Actions/dex.js +32 -32
  12. package/dist/viem/Actions/faucet.d.ts +34 -0
  13. package/dist/viem/Actions/faucet.d.ts.map +1 -0
  14. package/dist/viem/Actions/faucet.js +33 -0
  15. package/dist/viem/Actions/faucet.js.map +1 -0
  16. package/dist/viem/Actions/fee.d.ts +14 -14
  17. package/dist/viem/Actions/fee.d.ts.map +1 -1
  18. package/dist/viem/Actions/fee.js +16 -14
  19. package/dist/viem/Actions/fee.js.map +1 -1
  20. package/dist/viem/Actions/index.d.ts +1 -0
  21. package/dist/viem/Actions/index.d.ts.map +1 -1
  22. package/dist/viem/Actions/index.js +1 -0
  23. package/dist/viem/Actions/index.js.map +1 -1
  24. package/dist/viem/Actions/policy.d.ts +46 -46
  25. package/dist/viem/Actions/policy.js +46 -46
  26. package/dist/viem/Actions/reward.d.ts +38 -38
  27. package/dist/viem/Actions/reward.js +38 -38
  28. package/dist/viem/Actions/token.d.ts +159 -159
  29. package/dist/viem/Actions/token.js +159 -159
  30. package/dist/viem/Chain.d.ts +8 -5
  31. package/dist/viem/Chain.d.ts.map +1 -1
  32. package/dist/viem/Chain.js +25 -25
  33. package/dist/viem/Chain.js.map +1 -1
  34. package/dist/viem/Decorator.d.ts +128 -101
  35. package/dist/viem/Decorator.d.ts.map +1 -1
  36. package/dist/viem/Decorator.js +4 -0
  37. package/dist/viem/Decorator.js.map +1 -1
  38. package/dist/wagmi/Actions/amm.d.ts +12 -12
  39. package/dist/wagmi/Actions/amm.js +12 -12
  40. package/dist/wagmi/Actions/dex.d.ts +25 -25
  41. package/dist/wagmi/Actions/dex.js +25 -25
  42. package/dist/wagmi/Actions/faucet.d.ts +35 -0
  43. package/dist/wagmi/Actions/faucet.d.ts.map +1 -0
  44. package/dist/wagmi/Actions/faucet.js +33 -0
  45. package/dist/wagmi/Actions/faucet.js.map +1 -0
  46. package/dist/wagmi/Actions/fee.d.ts +3 -3
  47. package/dist/wagmi/Actions/fee.js +3 -3
  48. package/dist/wagmi/Actions/index.d.ts +1 -0
  49. package/dist/wagmi/Actions/index.d.ts.map +1 -1
  50. package/dist/wagmi/Actions/index.js +1 -0
  51. package/dist/wagmi/Actions/index.js.map +1 -1
  52. package/dist/wagmi/Actions/reward.d.ts +10 -10
  53. package/dist/wagmi/Actions/reward.js +10 -10
  54. package/dist/wagmi/Actions/token.d.ts +45 -45
  55. package/dist/wagmi/Actions/token.js +46 -46
  56. package/dist/wagmi/Actions/token.js.map +1 -1
  57. package/dist/wagmi/Connector.d.ts +11 -3
  58. package/dist/wagmi/Connector.d.ts.map +1 -1
  59. package/dist/wagmi/Connector.js +16 -4
  60. package/dist/wagmi/Connector.js.map +1 -1
  61. package/dist/wagmi/Hooks/faucet.d.ts +39 -0
  62. package/dist/wagmi/Hooks/faucet.d.ts.map +1 -0
  63. package/dist/wagmi/Hooks/faucet.js +40 -0
  64. package/dist/wagmi/Hooks/faucet.js.map +1 -0
  65. package/dist/wagmi/Hooks/index.d.ts +1 -0
  66. package/dist/wagmi/Hooks/index.d.ts.map +1 -1
  67. package/dist/wagmi/Hooks/index.js +1 -0
  68. package/dist/wagmi/Hooks/index.js.map +1 -1
  69. package/package.json +1 -54
  70. package/src/chains.ts +3 -1
  71. package/src/viem/Actions/amm.test.ts +75 -0
  72. package/src/viem/Actions/amm.ts +63 -48
  73. package/src/viem/Actions/dex.ts +32 -32
  74. package/src/viem/Actions/faucet.ts +50 -0
  75. package/src/viem/Actions/fee.ts +16 -14
  76. package/src/viem/Actions/index.ts +1 -0
  77. package/src/viem/Actions/policy.ts +46 -46
  78. package/src/viem/Actions/reward.ts +38 -38
  79. package/src/viem/Actions/token.ts +159 -159
  80. package/src/viem/Chain.bench-d.ts +12 -0
  81. package/src/viem/Chain.ts +36 -32
  82. package/src/viem/Decorator.bench-d.ts +1 -1
  83. package/src/viem/Decorator.test.ts +1 -0
  84. package/src/viem/Decorator.ts +133 -101
  85. package/src/wagmi/Actions/amm.ts +12 -12
  86. package/src/wagmi/Actions/dex.ts +25 -25
  87. package/src/wagmi/Actions/faucet.ts +46 -0
  88. package/src/wagmi/Actions/fee.ts +3 -3
  89. package/src/wagmi/Actions/index.ts +1 -0
  90. package/src/wagmi/Actions/reward.ts +10 -10
  91. package/src/wagmi/Actions/token.ts +46 -46
  92. package/src/wagmi/Connector.ts +31 -8
  93. package/src/wagmi/Hooks/faucet.ts +76 -0
  94. package/src/wagmi/Hooks/index.ts +1 -0
@@ -0,0 +1,12 @@
1
+ import { attest } from '@ark/attest'
2
+ import { createClient, http } from 'viem'
3
+ import { test } from 'vitest'
4
+ import { tempo } from '../chains.js'
5
+
6
+ test('decorator', () => {
7
+ createClient({
8
+ chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
9
+ transport: http('https://cloudflare-eth.com'),
10
+ })
11
+ attest.instantiations([62236, 'instantiations'])
12
+ })
package/src/viem/Chain.ts CHANGED
@@ -23,42 +23,40 @@ export type Chain<
23
23
  feeToken: feeToken
24
24
  })
25
25
 
26
- export function define<chain extends viem_Chain>(chain: chain) {
27
- function inner<const chain extends Chain>(chain: chain) {
28
- return {
29
- blockTime: 1_000,
30
- contracts: {
31
- multicall3: {
32
- address: '0xca11bde05977b3631167028862be2a173976ca11',
33
- blockCreated: 0,
34
- },
26
+ function config<const chain extends Chain>(chain: chain) {
27
+ return {
28
+ blockTime: 1_000,
29
+ contracts: {
30
+ multicall3: {
31
+ address: '0xca11bde05977b3631167028862be2a173976ca11',
32
+ blockCreated: 0,
35
33
  },
36
- formatters: {
37
- transaction: defineTransaction({
38
- format: Formatters.formatTransaction,
39
- }),
40
- transactionRequest: defineTransactionRequest({
41
- format: (
42
- ...args: Parameters<
43
- typeof Formatters.formatTransactionRequest<chain>
44
- >
45
- ) => Formatters.formatTransactionRequest<chain>(...args),
46
- }),
47
- },
48
- serializers: {
49
- // TODO: casting to satisfy viem – viem v3 to have more flexible serializer type.
50
- transaction: Transaction.serialize as SerializeTransactionFn,
51
- },
52
- ...chain,
53
- } as const
54
- }
34
+ },
35
+ formatters: {
36
+ transaction: defineTransaction({
37
+ format: Formatters.formatTransaction,
38
+ }),
39
+ transactionRequest: defineTransactionRequest({
40
+ format: (
41
+ ...args: Parameters<typeof Formatters.formatTransactionRequest<chain>>
42
+ ) => Formatters.formatTransactionRequest<chain>(...args),
43
+ }),
44
+ },
45
+ serializers: {
46
+ // TODO: casting to satisfy viem – viem v3 to have more flexible serializer type.
47
+ transaction: Transaction.serialize as SerializeTransactionFn,
48
+ },
49
+ ...chain,
50
+ } as const
51
+ }
55
52
 
53
+ export function define<const chain extends viem_Chain>(
54
+ chain: chain,
55
+ ): define.ReturnValue<chain> {
56
56
  return Object.assign(
57
- <properties extends define.Properties | undefined>(
58
- properties: properties = {} as properties,
59
- ) => inner({ ...chain, ...properties }),
57
+ (properties = {}) => config({ ...chain, ...properties }),
60
58
  { id: chain.id },
61
- )
59
+ ) as never
62
60
  }
63
61
 
64
62
  export declare namespace define {
@@ -74,4 +72,10 @@ export declare namespace define {
74
72
  */
75
73
  feeToken?: TokenId.TokenIdOrAddress | null | undefined
76
74
  }
75
+
76
+ type ReturnValue<chain extends viem_Chain> = (<
77
+ properties extends define.Properties | undefined,
78
+ >(
79
+ properties: properties,
80
+ ) => ReturnType<typeof config<chain & properties>>) & { id: chain['id'] }
77
81
  }
@@ -7,5 +7,5 @@ test('decorator', () => {
7
7
  createClient({
8
8
  transport: http('https://cloudflare-eth.com'),
9
9
  }).extend(decorator())
10
- attest.instantiations([32084, 'instantiations'])
10
+ attest.instantiations([40758, 'instantiations'])
11
11
  })
@@ -27,6 +27,7 @@ describe('decorator', () => {
27
27
  "extend",
28
28
  "amm",
29
29
  "dex",
30
+ "faucet",
30
31
  "fee",
31
32
  "policy",
32
33
  "reward",