tempo.ts 0.12.0 → 0.13.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 (123) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +28 -34
  3. package/package.json +2 -28
  4. package/dist/wagmi/Actions/amm.d.ts +0 -418
  5. package/dist/wagmi/Actions/amm.d.ts.map +0 -1
  6. package/dist/wagmi/Actions/amm.js +0 -462
  7. package/dist/wagmi/Actions/amm.js.map +0 -1
  8. package/dist/wagmi/Actions/dex.d.ts +0 -864
  9. package/dist/wagmi/Actions/dex.d.ts.map +0 -1
  10. package/dist/wagmi/Actions/dex.js +0 -968
  11. package/dist/wagmi/Actions/dex.js.map +0 -1
  12. package/dist/wagmi/Actions/faucet.d.ts +0 -66
  13. package/dist/wagmi/Actions/faucet.d.ts.map +0 -1
  14. package/dist/wagmi/Actions/faucet.js +0 -64
  15. package/dist/wagmi/Actions/faucet.js.map +0 -1
  16. package/dist/wagmi/Actions/fee.d.ts +0 -111
  17. package/dist/wagmi/Actions/fee.d.ts.map +0 -1
  18. package/dist/wagmi/Actions/fee.js +0 -126
  19. package/dist/wagmi/Actions/fee.js.map +0 -1
  20. package/dist/wagmi/Actions/index.d.ts +0 -9
  21. package/dist/wagmi/Actions/index.d.ts.map +0 -1
  22. package/dist/wagmi/Actions/index.js +0 -9
  23. package/dist/wagmi/Actions/index.js.map +0 -1
  24. package/dist/wagmi/Actions/nonce.d.ts +0 -77
  25. package/dist/wagmi/Actions/nonce.d.ts.map +0 -1
  26. package/dist/wagmi/Actions/nonce.js +0 -87
  27. package/dist/wagmi/Actions/nonce.js.map +0 -1
  28. package/dist/wagmi/Actions/policy.d.ts +0 -480
  29. package/dist/wagmi/Actions/policy.d.ts.map +0 -1
  30. package/dist/wagmi/Actions/policy.js +0 -530
  31. package/dist/wagmi/Actions/policy.js.map +0 -1
  32. package/dist/wagmi/Actions/reward.d.ts +0 -346
  33. package/dist/wagmi/Actions/reward.d.ts.map +0 -1
  34. package/dist/wagmi/Actions/reward.js +0 -382
  35. package/dist/wagmi/Actions/reward.js.map +0 -1
  36. package/dist/wagmi/Actions/token.d.ts +0 -1546
  37. package/dist/wagmi/Actions/token.d.ts.map +0 -1
  38. package/dist/wagmi/Actions/token.js +0 -1712
  39. package/dist/wagmi/Actions/token.js.map +0 -1
  40. package/dist/wagmi/Connector.d.ts +0 -91
  41. package/dist/wagmi/Connector.d.ts.map +0 -1
  42. package/dist/wagmi/Connector.js +0 -473
  43. package/dist/wagmi/Connector.js.map +0 -1
  44. package/dist/wagmi/Hooks/amm.d.ts +0 -411
  45. package/dist/wagmi/Hooks/amm.d.ts.map +0 -1
  46. package/dist/wagmi/Hooks/amm.js +0 -494
  47. package/dist/wagmi/Hooks/amm.js.map +0 -1
  48. package/dist/wagmi/Hooks/dex.d.ts +0 -773
  49. package/dist/wagmi/Hooks/dex.d.ts.map +0 -1
  50. package/dist/wagmi/Hooks/dex.js +0 -921
  51. package/dist/wagmi/Hooks/dex.js.map +0 -1
  52. package/dist/wagmi/Hooks/faucet.d.ts +0 -71
  53. package/dist/wagmi/Hooks/faucet.d.ts.map +0 -1
  54. package/dist/wagmi/Hooks/faucet.js +0 -76
  55. package/dist/wagmi/Hooks/faucet.js.map +0 -1
  56. package/dist/wagmi/Hooks/fee.d.ts +0 -97
  57. package/dist/wagmi/Hooks/fee.d.ts.map +0 -1
  58. package/dist/wagmi/Hooks/fee.js +0 -109
  59. package/dist/wagmi/Hooks/fee.js.map +0 -1
  60. package/dist/wagmi/Hooks/index.d.ts +0 -9
  61. package/dist/wagmi/Hooks/index.d.ts.map +0 -1
  62. package/dist/wagmi/Hooks/index.js +0 -9
  63. package/dist/wagmi/Hooks/index.js.map +0 -1
  64. package/dist/wagmi/Hooks/nonce.d.ts +0 -59
  65. package/dist/wagmi/Hooks/nonce.d.ts.map +0 -1
  66. package/dist/wagmi/Hooks/nonce.js +0 -75
  67. package/dist/wagmi/Hooks/nonce.js.map +0 -1
  68. package/dist/wagmi/Hooks/policy.d.ts +0 -423
  69. package/dist/wagmi/Hooks/policy.d.ts.map +0 -1
  70. package/dist/wagmi/Hooks/policy.js +0 -510
  71. package/dist/wagmi/Hooks/policy.js.map +0 -1
  72. package/dist/wagmi/Hooks/reward.d.ts +0 -305
  73. package/dist/wagmi/Hooks/reward.d.ts.map +0 -1
  74. package/dist/wagmi/Hooks/reward.js +0 -368
  75. package/dist/wagmi/Hooks/reward.js.map +0 -1
  76. package/dist/wagmi/Hooks/token.d.ts +0 -1388
  77. package/dist/wagmi/Hooks/token.d.ts.map +0 -1
  78. package/dist/wagmi/Hooks/token.js +0 -1657
  79. package/dist/wagmi/Hooks/token.js.map +0 -1
  80. package/dist/wagmi/KeyManager.d.ts +0 -60
  81. package/dist/wagmi/KeyManager.d.ts.map +0 -1
  82. package/dist/wagmi/KeyManager.js +0 -106
  83. package/dist/wagmi/KeyManager.js.map +0 -1
  84. package/dist/wagmi/index.d.ts +0 -5
  85. package/dist/wagmi/index.d.ts.map +0 -1
  86. package/dist/wagmi/index.js +0 -5
  87. package/dist/wagmi/index.js.map +0 -1
  88. package/src/wagmi/Actions/amm.test.ts +0 -208
  89. package/src/wagmi/Actions/amm.ts +0 -690
  90. package/src/wagmi/Actions/dex.test.ts +0 -1482
  91. package/src/wagmi/Actions/dex.ts +0 -1540
  92. package/src/wagmi/Actions/faucet.ts +0 -89
  93. package/src/wagmi/Actions/fee.test.ts +0 -63
  94. package/src/wagmi/Actions/fee.ts +0 -211
  95. package/src/wagmi/Actions/index.ts +0 -8
  96. package/src/wagmi/Actions/nonce.test.ts +0 -82
  97. package/src/wagmi/Actions/nonce.ts +0 -139
  98. package/src/wagmi/Actions/policy.test.ts +0 -461
  99. package/src/wagmi/Actions/policy.ts +0 -817
  100. package/src/wagmi/Actions/reward.test.ts +0 -216
  101. package/src/wagmi/Actions/reward.ts +0 -613
  102. package/src/wagmi/Actions/token.test.ts +0 -1309
  103. package/src/wagmi/Actions/token.ts +0 -2644
  104. package/src/wagmi/Connector.test.ts +0 -56
  105. package/src/wagmi/Connector.ts +0 -670
  106. package/src/wagmi/Hooks/amm.test.ts +0 -564
  107. package/src/wagmi/Hooks/amm.ts +0 -796
  108. package/src/wagmi/Hooks/dex.test.ts +0 -992
  109. package/src/wagmi/Hooks/dex.ts +0 -1598
  110. package/src/wagmi/Hooks/faucet.ts +0 -144
  111. package/src/wagmi/Hooks/fee.test.ts +0 -166
  112. package/src/wagmi/Hooks/fee.ts +0 -206
  113. package/src/wagmi/Hooks/index.ts +0 -8
  114. package/src/wagmi/Hooks/nonce.test.ts +0 -142
  115. package/src/wagmi/Hooks/nonce.ts +0 -117
  116. package/src/wagmi/Hooks/policy.test.ts +0 -665
  117. package/src/wagmi/Hooks/policy.ts +0 -873
  118. package/src/wagmi/Hooks/reward.test.ts +0 -249
  119. package/src/wagmi/Hooks/reward.ts +0 -645
  120. package/src/wagmi/Hooks/token.test.ts +0 -1183
  121. package/src/wagmi/Hooks/token.ts +0 -2906
  122. package/src/wagmi/KeyManager.ts +0 -172
  123. package/src/wagmi/index.ts +0 -7
@@ -1,1309 +0,0 @@
1
- import { connect } from '@wagmi/core'
2
- import { parseUnits } from 'viem'
3
- import { describe, expect, test } from 'vitest'
4
- import { addresses } from '../../../test/config.js'
5
- import { accounts } from '../../../test/viem/config.js'
6
- import { config, queryClient } from '../../../test/wagmi/config.js'
7
- import * as token from './token.js'
8
-
9
- const account = accounts[0]
10
- const account2 = accounts[1]
11
-
12
- describe('getAllowance', () => {
13
- test('default', async () => {
14
- const allowance = await token.getAllowance(config, {
15
- account: account.address,
16
- spender: account2.address,
17
- token: addresses.alphaUsd,
18
- })
19
- expect(allowance).toBeDefined()
20
- expect(typeof allowance).toBe('bigint')
21
- })
22
-
23
- describe('queryOptions', () => {
24
- test('default', async () => {
25
- const options = token.getAllowance.queryOptions(config, {
26
- account: account.address,
27
- spender: account2.address,
28
- token: addresses.alphaUsd,
29
- })
30
- const allowance = await queryClient.fetchQuery(options)
31
- expect(allowance).toBeDefined()
32
- expect(typeof allowance).toBe('bigint')
33
- })
34
- })
35
- })
36
-
37
- describe('getBalance', () => {
38
- test('default', async () => {
39
- const balance = await token.getBalance(config, {
40
- account: account.address,
41
- token: addresses.alphaUsd,
42
- })
43
- expect(balance).toBeDefined()
44
- expect(typeof balance).toBe('bigint')
45
- expect(balance).toBeGreaterThan(0n)
46
- })
47
-
48
- describe('queryOptions', () => {
49
- test('default', async () => {
50
- const options = token.getBalance.queryOptions(config, {
51
- account: account.address,
52
- token: addresses.alphaUsd,
53
- })
54
- const balance = await queryClient.fetchQuery(options)
55
- expect(balance).toBeDefined()
56
- expect(typeof balance).toBe('bigint')
57
- expect(balance).toBeGreaterThan(0n)
58
- })
59
- })
60
- })
61
-
62
- describe('getMetadata', () => {
63
- test('default', async () => {
64
- const metadata = await token.getMetadata(config, {
65
- token: addresses.alphaUsd,
66
- })
67
- expect(metadata).toBeDefined()
68
- expect(metadata).toMatchInlineSnapshot(`
69
- {
70
- "currency": "USD",
71
- "decimals": 6,
72
- "name": "AlphaUSD",
73
- "paused": false,
74
- "quoteToken": "0x20C0000000000000000000000000000000000000",
75
- "supplyCap": 340282366920938463463374607431768211455n,
76
- "symbol": "AlphaUSD",
77
- "totalSupply": 202914184810805067765n,
78
- "transferPolicyId": 1n,
79
- }
80
- `)
81
- })
82
-
83
- describe('queryOptions', () => {
84
- test('default', async () => {
85
- const options = token.getMetadata.queryOptions(config, {
86
- token: addresses.alphaUsd,
87
- })
88
- const metadata = await queryClient.fetchQuery(options)
89
- expect(metadata).toBeDefined()
90
- expect(metadata).toMatchInlineSnapshot(`
91
- {
92
- "currency": "USD",
93
- "decimals": 6,
94
- "name": "AlphaUSD",
95
- "paused": false,
96
- "quoteToken": "0x20C0000000000000000000000000000000000000",
97
- "supplyCap": 340282366920938463463374607431768211455n,
98
- "symbol": "AlphaUSD",
99
- "totalSupply": 202914184810805067765n,
100
- "transferPolicyId": 1n,
101
- }
102
- `)
103
- })
104
- })
105
- })
106
-
107
- describe('getRoleAdmin', () => {
108
- test('default', async () => {
109
- await connect(config, {
110
- connector: config.connectors[0]!,
111
- })
112
-
113
- // Create a token where we're the admin
114
- const { token: tokenAddr } = await token.createSync(config, {
115
- currency: 'USD',
116
- name: 'GetRoleAdmin Test',
117
- symbol: 'GRATEST',
118
- })
119
-
120
- const adminRole = await token.getRoleAdmin(config, {
121
- token: tokenAddr,
122
- role: 'issuer',
123
- })
124
- expect(adminRole).toBeDefined()
125
- expect(typeof adminRole).toBe('string')
126
- expect(adminRole).toBe(
127
- '0x0000000000000000000000000000000000000000000000000000000000000000',
128
- )
129
- })
130
-
131
- describe('queryOptions', () => {
132
- test('default', async () => {
133
- await connect(config, {
134
- connector: config.connectors[0]!,
135
- })
136
-
137
- // Create a token where we're the admin
138
- const { token: tokenAddr } = await token.createSync(config, {
139
- currency: 'USD',
140
- name: 'GetRoleAdmin Query Test',
141
- symbol: 'GRAQTEST',
142
- })
143
-
144
- const options = token.getRoleAdmin.queryOptions(config, {
145
- token: tokenAddr,
146
- role: 'issuer',
147
- })
148
- const adminRole = await queryClient.fetchQuery(options)
149
- expect(adminRole).toBeDefined()
150
- expect(typeof adminRole).toBe('string')
151
- expect(adminRole).toBe(
152
- '0x0000000000000000000000000000000000000000000000000000000000000000',
153
- )
154
- })
155
- })
156
- })
157
-
158
- describe('hasRole', () => {
159
- test('default', async () => {
160
- await connect(config, {
161
- connector: config.connectors[0]!,
162
- })
163
-
164
- // Create a token where we're the admin
165
- const { token: tokenAddr } = await token.createSync(config, {
166
- currency: 'USD',
167
- name: 'HasRole Test',
168
- symbol: 'HRTEST',
169
- })
170
-
171
- const result = await token.hasRole(config, {
172
- token: tokenAddr,
173
- account: account.address,
174
- role: 'defaultAdmin',
175
- })
176
- expect(result).toBeDefined()
177
- expect(typeof result).toBe('boolean')
178
- expect(result).toBe(true)
179
- })
180
-
181
- describe('queryOptions', () => {
182
- test('default', async () => {
183
- await connect(config, {
184
- connector: config.connectors[0]!,
185
- })
186
-
187
- // Create a token where we're the admin
188
- const { token: tokenAddr } = await token.createSync(config, {
189
- currency: 'USD',
190
- name: 'HasRole Query Test',
191
- symbol: 'HRQTEST',
192
- })
193
-
194
- const options = token.hasRole.queryOptions(config, {
195
- token: tokenAddr,
196
- account: account.address,
197
- role: 'defaultAdmin',
198
- })
199
- const result = await queryClient.fetchQuery(options)
200
- expect(result).toBeDefined()
201
- expect(typeof result).toBe('boolean')
202
- expect(result).toBe(true)
203
- })
204
- })
205
- })
206
-
207
- describe('approve', () => {
208
- test('default', async () => {
209
- await connect(config, {
210
- connector: config.connectors[0]!,
211
- })
212
- const hash = await token.approve(config, {
213
- amount: parseUnits('100', 6),
214
- spender: account2.address,
215
- token: addresses.alphaUsd,
216
- })
217
- expect(hash).toBeDefined()
218
- expect(typeof hash).toBe('string')
219
- })
220
- })
221
-
222
- describe('approveSync', () => {
223
- test('default', async () => {
224
- await connect(config, {
225
- connector: config.connectors[0]!,
226
- })
227
- const { receipt, ...result } = await token.approveSync(config, {
228
- amount: parseUnits('100', 6),
229
- spender: account2.address,
230
- token: addresses.alphaUsd,
231
- })
232
- expect(receipt).toBeDefined()
233
- expect(result).toMatchInlineSnapshot(`
234
- {
235
- "amount": 100000000n,
236
- "owner": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
237
- "spender": "0x8C8d35429F74ec245F8Ef2f4Fd1e551cFF97d650",
238
- }
239
- `)
240
- })
241
- })
242
-
243
- describe('transfer', () => {
244
- test('default', async () => {
245
- await connect(config, {
246
- connector: config.connectors[0]!,
247
- })
248
- const hash = await token.transfer(config, {
249
- amount: parseUnits('1', 6),
250
- to: account2.address,
251
- token: addresses.alphaUsd,
252
- })
253
- expect(hash).toBeDefined()
254
- expect(typeof hash).toBe('string')
255
- })
256
- })
257
-
258
- describe('transferSync', () => {
259
- test('default', async () => {
260
- await connect(config, {
261
- connector: config.connectors[0]!,
262
- })
263
- const { receipt, ...result } = await token.transferSync(config, {
264
- amount: parseUnits('1', 6),
265
- to: account2.address,
266
- token: addresses.alphaUsd,
267
- })
268
- expect(receipt).toBeDefined()
269
- expect(result).toMatchInlineSnapshot(`
270
- {
271
- "amount": 1000000n,
272
- "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
273
- "to": "0x8C8d35429F74ec245F8Ef2f4Fd1e551cFF97d650",
274
- }
275
- `)
276
- })
277
- })
278
-
279
- describe('mint', () => {
280
- test('default', async () => {
281
- await connect(config, {
282
- connector: config.connectors[0]!,
283
- })
284
-
285
- // Create a new token where we're the admin
286
- const { token: tokenAddr } = await token.createSync(config, {
287
- currency: 'USD',
288
- name: 'Mintable Token',
289
- symbol: 'MINT',
290
- })
291
-
292
- // Grant issuer role
293
- await token.grantRolesSync(config, {
294
- token: tokenAddr,
295
- roles: ['issuer'],
296
- to: account.address,
297
- })
298
-
299
- const hash = await token.mint(config, {
300
- token: tokenAddr,
301
- to: account.address,
302
- amount: parseUnits('100', 6),
303
- })
304
- expect(hash).toBeDefined()
305
- expect(typeof hash).toBe('string')
306
- })
307
- })
308
-
309
- describe('mintSync', () => {
310
- test('default', async () => {
311
- await connect(config, {
312
- connector: config.connectors[0]!,
313
- })
314
-
315
- // Create a new token where we're the admin
316
- const { token: tokenAddr } = await token.createSync(config, {
317
- currency: 'USD',
318
- name: 'Mintable Token Sync',
319
- symbol: 'MINTSYNC',
320
- })
321
-
322
- // Grant issuer role
323
- await token.grantRolesSync(config, {
324
- token: tokenAddr,
325
- roles: ['issuer'],
326
- to: account.address,
327
- })
328
-
329
- const { receipt, ...result } = await token.mintSync(config, {
330
- token: tokenAddr,
331
- to: account.address,
332
- amount: parseUnits('100', 6),
333
- })
334
- expect(receipt).toBeDefined()
335
- expect(result).toMatchInlineSnapshot(`
336
- {
337
- "amount": 100000000n,
338
- "to": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
339
- }
340
- `)
341
- })
342
- })
343
-
344
- describe('burn', () => {
345
- test('default', async () => {
346
- await connect(config, {
347
- connector: config.connectors[0]!,
348
- })
349
-
350
- // Create a new token where we're the admin
351
- const { token: tokenAddr } = await token.createSync(config, {
352
- currency: 'USD',
353
- name: 'Burnable Token',
354
- symbol: 'BURN',
355
- })
356
-
357
- // Grant issuer role
358
- await token.grantRolesSync(config, {
359
- token: tokenAddr,
360
- roles: ['issuer'],
361
- to: account.address,
362
- })
363
-
364
- // Mint some tokens first
365
- await token.mintSync(config, {
366
- token: tokenAddr,
367
- to: account.address,
368
- amount: parseUnits('1000', 6),
369
- })
370
-
371
- const hash = await token.burn(config, {
372
- token: tokenAddr,
373
- amount: parseUnits('1', 6),
374
- })
375
- expect(hash).toBeDefined()
376
- expect(typeof hash).toBe('string')
377
- })
378
- })
379
-
380
- describe('burnSync', () => {
381
- test('default', async () => {
382
- await connect(config, {
383
- connector: config.connectors[0]!,
384
- })
385
-
386
- // Create a new token where we're the admin
387
- const { token: tokenAddr } = await token.createSync(config, {
388
- currency: 'USD',
389
- name: 'Burnable Token Sync',
390
- symbol: 'BURNSYNC',
391
- })
392
-
393
- // Grant issuer role
394
- await token.grantRolesSync(config, {
395
- token: tokenAddr,
396
- roles: ['issuer'],
397
- to: account.address,
398
- })
399
-
400
- // Mint some tokens first
401
- await token.mintSync(config, {
402
- token: tokenAddr,
403
- to: account.address,
404
- amount: parseUnits('1000', 6),
405
- })
406
-
407
- const { receipt, ...result } = await token.burnSync(config, {
408
- token: tokenAddr,
409
- amount: parseUnits('1', 6),
410
- })
411
- expect(receipt).toBeDefined()
412
- expect(result).toMatchInlineSnapshot(`
413
- {
414
- "amount": 1000000n,
415
- "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
416
- }
417
- `)
418
- })
419
- })
420
-
421
- describe('create', () => {
422
- test('default', async () => {
423
- await connect(config, {
424
- connector: config.connectors[0]!,
425
- })
426
- const hash = await token.create(config, {
427
- name: 'Test Token',
428
- symbol: 'TEST',
429
- currency: 'USD',
430
- })
431
- expect(hash).toBeDefined()
432
- expect(typeof hash).toBe('string')
433
- })
434
- })
435
-
436
- describe('createSync', () => {
437
- test('default', async () => {
438
- await connect(config, {
439
- connector: config.connectors[0]!,
440
- })
441
- const { receipt, ...result } = await token.createSync(config, {
442
- name: 'Test Token',
443
- symbol: 'TEST',
444
- currency: 'USD',
445
- })
446
- expect(receipt).toBeDefined()
447
- expect(result.token).toBeDefined()
448
- expect(result.tokenId).toBeDefined()
449
- expect(result.name).toBe('Test Token')
450
- expect(result.symbol).toBe('TEST')
451
- expect(result.currency).toBe('USD')
452
- expect(result.admin).toBe(account.address)
453
- })
454
- })
455
-
456
- describe.todo('burnBlocked')
457
-
458
- describe.todo('burnBlockedSync')
459
-
460
- describe('changeTransferPolicy', () => {
461
- test('default', async () => {
462
- await connect(config, {
463
- connector: config.connectors[0]!,
464
- })
465
-
466
- // Create a new token
467
- const { token: tokenAddr } = await token.createSync(config, {
468
- currency: 'USD',
469
- name: 'Policy Token',
470
- symbol: 'POLICY',
471
- })
472
-
473
- const hash = await token.changeTransferPolicy(config, {
474
- token: tokenAddr,
475
- policyId: 0n,
476
- })
477
- expect(hash).toBeDefined()
478
- expect(typeof hash).toBe('string')
479
- })
480
- })
481
-
482
- describe('changeTransferPolicySync', () => {
483
- test('default', async () => {
484
- await connect(config, {
485
- connector: config.connectors[0]!,
486
- })
487
-
488
- // Create a new token
489
- const { token: tokenAddr } = await token.createSync(config, {
490
- currency: 'USD',
491
- name: 'Policy Token Sync',
492
- symbol: 'POLICYSYNC',
493
- })
494
-
495
- const { receipt, ...result } = await token.changeTransferPolicySync(
496
- config,
497
- {
498
- token: tokenAddr,
499
- policyId: 0n,
500
- },
501
- )
502
- expect(receipt).toBeDefined()
503
- expect(result).toMatchInlineSnapshot(`
504
- {
505
- "newPolicyId": 0n,
506
- "updater": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
507
- }
508
- `)
509
- })
510
- })
511
-
512
- describe('grantRoles', () => {
513
- test('default', async () => {
514
- await connect(config, {
515
- connector: config.connectors[0]!,
516
- })
517
-
518
- // Create a new token
519
- const { token: tokenAddr } = await token.createSync(config, {
520
- currency: 'USD',
521
- name: 'Grant Roles Token',
522
- symbol: 'GRANT',
523
- })
524
-
525
- const hash = await token.grantRoles(config, {
526
- token: tokenAddr,
527
- roles: ['issuer'],
528
- to: account2.address,
529
- })
530
- expect(hash).toBeDefined()
531
- expect(typeof hash).toBe('string')
532
- })
533
- })
534
-
535
- describe('grantRolesSync', () => {
536
- test('default', async () => {
537
- await connect(config, {
538
- connector: config.connectors[0]!,
539
- })
540
-
541
- // Create a new token
542
- const { token: tokenAddr } = await token.createSync(config, {
543
- currency: 'USD',
544
- name: 'Grant Roles Token Sync',
545
- symbol: 'GRANTSYNC',
546
- })
547
-
548
- const { receipt, value } = await token.grantRolesSync(config, {
549
- token: tokenAddr,
550
- roles: ['issuer'],
551
- to: account2.address,
552
- })
553
- expect(receipt).toBeDefined()
554
- expect(value).toBeDefined()
555
- expect(value.length).toBe(1)
556
- expect(value[0]?.account).toBe(account2.address)
557
- expect(value[0]?.hasRole).toBe(true)
558
- })
559
- })
560
-
561
- describe('pause', () => {
562
- test('default', async () => {
563
- await connect(config, {
564
- connector: config.connectors[0]!,
565
- })
566
-
567
- // Create a new token
568
- const { token: tokenAddr } = await token.createSync(config, {
569
- currency: 'USD',
570
- name: 'Pausable Token',
571
- symbol: 'PAUSE',
572
- })
573
-
574
- // Grant pause role
575
- await token.grantRolesSync(config, {
576
- token: tokenAddr,
577
- roles: ['pause'],
578
- to: account.address,
579
- })
580
-
581
- const hash = await token.pause(config, {
582
- token: tokenAddr,
583
- })
584
- expect(hash).toBeDefined()
585
- expect(typeof hash).toBe('string')
586
- })
587
- })
588
-
589
- describe('pauseSync', () => {
590
- test('default', async () => {
591
- await connect(config, {
592
- connector: config.connectors[0]!,
593
- })
594
-
595
- // Create a new token
596
- const { token: tokenAddr } = await token.createSync(config, {
597
- currency: 'USD',
598
- name: 'Pausable Token Sync',
599
- symbol: 'PAUSESYNC',
600
- })
601
-
602
- // Grant pause role
603
- await token.grantRolesSync(config, {
604
- token: tokenAddr,
605
- roles: ['pause'],
606
- to: account.address,
607
- })
608
-
609
- const { receipt, ...result } = await token.pauseSync(config, {
610
- token: tokenAddr,
611
- })
612
- expect(receipt).toBeDefined()
613
- expect(result).toMatchInlineSnapshot(`
614
- {
615
- "isPaused": true,
616
- "updater": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
617
- }
618
- `)
619
- })
620
- })
621
-
622
- describe('unpause', () => {
623
- test('default', async () => {
624
- await connect(config, {
625
- connector: config.connectors[0]!,
626
- })
627
-
628
- // Create a new token
629
- const { token: tokenAddr } = await token.createSync(config, {
630
- currency: 'USD',
631
- name: 'Unpausable Token',
632
- symbol: 'UNPAUSE',
633
- })
634
-
635
- // Grant pause and unpause roles
636
- await token.grantRolesSync(config, {
637
- token: tokenAddr,
638
- roles: ['pause', 'unpause'],
639
- to: account.address,
640
- })
641
-
642
- // First pause it
643
- await token.pauseSync(config, {
644
- token: tokenAddr,
645
- })
646
-
647
- const hash = await token.unpause(config, {
648
- token: tokenAddr,
649
- })
650
- expect(hash).toBeDefined()
651
- expect(typeof hash).toBe('string')
652
- })
653
- })
654
-
655
- describe('unpauseSync', () => {
656
- test('default', async () => {
657
- await connect(config, {
658
- connector: config.connectors[0]!,
659
- })
660
-
661
- // Create a new token
662
- const { token: tokenAddr } = await token.createSync(config, {
663
- currency: 'USD',
664
- name: 'Unpausable Token Sync',
665
- symbol: 'UNPAUSESYNC',
666
- })
667
-
668
- // Grant pause and unpause roles
669
- await token.grantRolesSync(config, {
670
- token: tokenAddr,
671
- roles: ['pause', 'unpause'],
672
- to: account.address,
673
- })
674
-
675
- // First pause it
676
- await token.pauseSync(config, {
677
- token: tokenAddr,
678
- })
679
-
680
- const { receipt, ...result } = await token.unpauseSync(config, {
681
- token: tokenAddr,
682
- })
683
- expect(receipt).toBeDefined()
684
- expect(result).toMatchInlineSnapshot(`
685
- {
686
- "isPaused": false,
687
- "updater": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
688
- }
689
- `)
690
- })
691
- })
692
-
693
- describe('revokeRoles', () => {
694
- test('default', async () => {
695
- await connect(config, {
696
- connector: config.connectors[0]!,
697
- })
698
-
699
- // Create a new token
700
- const { token: tokenAddr } = await token.createSync(config, {
701
- currency: 'USD',
702
- name: 'Revoke Roles Token',
703
- symbol: 'REVOKE',
704
- })
705
-
706
- // Grant issuer role to account2
707
- await token.grantRolesSync(config, {
708
- token: tokenAddr,
709
- roles: ['issuer'],
710
- to: account2.address,
711
- })
712
-
713
- const hash = await token.revokeRoles(config, {
714
- token: tokenAddr,
715
- roles: ['issuer'],
716
- from: account2.address,
717
- })
718
- expect(hash).toBeDefined()
719
- expect(typeof hash).toBe('string')
720
- })
721
- })
722
-
723
- describe('revokeRolesSync', () => {
724
- test('default', async () => {
725
- await connect(config, {
726
- connector: config.connectors[0]!,
727
- })
728
-
729
- // Create a new token
730
- const { token: tokenAddr } = await token.createSync(config, {
731
- currency: 'USD',
732
- name: 'Revoke Roles Token Sync',
733
- symbol: 'REVOKESYNC',
734
- })
735
-
736
- // Grant issuer role to account2
737
- await token.grantRolesSync(config, {
738
- token: tokenAddr,
739
- roles: ['issuer'],
740
- to: account2.address,
741
- })
742
-
743
- const { receipt, value } = await token.revokeRolesSync(config, {
744
- token: tokenAddr,
745
- roles: ['issuer'],
746
- from: account2.address,
747
- })
748
- expect(receipt).toBeDefined()
749
- expect(value).toBeDefined()
750
- expect(value.length).toBe(1)
751
- expect(value[0]?.account).toBe(account2.address)
752
- expect(value[0]?.hasRole).toBe(false)
753
- })
754
- })
755
-
756
- describe('renounceRoles', () => {
757
- test('default', async () => {
758
- await connect(config, {
759
- connector: config.connectors[0]!,
760
- })
761
-
762
- // Create a new token
763
- const { token: tokenAddr } = await token.createSync(config, {
764
- currency: 'USD',
765
- name: 'Renounce Roles Token',
766
- symbol: 'RENOUNCE',
767
- })
768
-
769
- // Grant issuer role to ourselves
770
- await token.grantRolesSync(config, {
771
- token: tokenAddr,
772
- roles: ['issuer'],
773
- to: account.address,
774
- })
775
-
776
- const hash = await token.renounceRoles(config, {
777
- token: tokenAddr,
778
- roles: ['issuer'],
779
- })
780
- expect(hash).toBeDefined()
781
- expect(typeof hash).toBe('string')
782
- })
783
- })
784
-
785
- describe('renounceRolesSync', () => {
786
- test('default', async () => {
787
- await connect(config, {
788
- connector: config.connectors[0]!,
789
- })
790
-
791
- // Create a new token
792
- const { token: tokenAddr } = await token.createSync(config, {
793
- currency: 'USD',
794
- name: 'Renounce Roles Token Sync',
795
- symbol: 'RENOUNCESYNC',
796
- })
797
-
798
- // Grant issuer role to ourselves
799
- await token.grantRolesSync(config, {
800
- token: tokenAddr,
801
- roles: ['issuer'],
802
- to: account.address,
803
- })
804
-
805
- const { receipt, value } = await token.renounceRolesSync(config, {
806
- token: tokenAddr,
807
- roles: ['issuer'],
808
- })
809
- expect(receipt).toBeDefined()
810
- expect(value).toBeDefined()
811
- expect(value.length).toBe(1)
812
- expect(value[0]?.account).toBe(account.address)
813
- expect(value[0]?.hasRole).toBe(false)
814
- })
815
- })
816
-
817
- describe('setRoleAdmin', () => {
818
- test('default', async () => {
819
- await connect(config, {
820
- connector: config.connectors[0]!,
821
- })
822
-
823
- // Create a new token
824
- const { token: tokenAddr } = await token.createSync(config, {
825
- currency: 'USD',
826
- name: 'Role Admin Token',
827
- symbol: 'ROLEADMIN',
828
- })
829
-
830
- const hash = await token.setRoleAdmin(config, {
831
- token: tokenAddr,
832
- role: 'issuer',
833
- adminRole: 'pause',
834
- })
835
- expect(hash).toBeDefined()
836
- expect(typeof hash).toBe('string')
837
- })
838
- })
839
-
840
- describe('setRoleAdminSync', () => {
841
- test('default', async () => {
842
- await connect(config, {
843
- connector: config.connectors[0]!,
844
- })
845
-
846
- // Create a new token
847
- const { token: tokenAddr } = await token.createSync(config, {
848
- currency: 'USD',
849
- name: 'Role Admin Token Sync',
850
- symbol: 'ROLEADMINSYNC',
851
- })
852
-
853
- const { receipt, ...result } = await token.setRoleAdminSync(config, {
854
- token: tokenAddr,
855
- role: 'issuer',
856
- adminRole: 'pause',
857
- })
858
- expect(receipt).toBeDefined()
859
- expect(result.role).toBeDefined()
860
- expect(result.newAdminRole).toBeDefined()
861
- expect(result.sender).toBe(account.address)
862
- })
863
- })
864
-
865
- describe('setSupplyCap', () => {
866
- test('default', async () => {
867
- await connect(config, {
868
- connector: config.connectors[0]!,
869
- })
870
-
871
- // Create a new token
872
- const { token: tokenAddr } = await token.createSync(config, {
873
- currency: 'USD',
874
- name: 'Supply Cap Token',
875
- symbol: 'SUPPLYCAP',
876
- })
877
-
878
- const hash = await token.setSupplyCap(config, {
879
- token: tokenAddr,
880
- supplyCap: parseUnits('1000000', 6),
881
- })
882
- expect(hash).toBeDefined()
883
- expect(typeof hash).toBe('string')
884
- })
885
- })
886
-
887
- describe('setSupplyCapSync', () => {
888
- test('default', async () => {
889
- await connect(config, {
890
- connector: config.connectors[0]!,
891
- })
892
-
893
- // Create a new token
894
- const { token: tokenAddr } = await token.createSync(config, {
895
- currency: 'USD',
896
- name: 'Supply Cap Token Sync',
897
- symbol: 'SUPPLYCAPSYNC',
898
- })
899
-
900
- const { receipt, ...result } = await token.setSupplyCapSync(config, {
901
- token: tokenAddr,
902
- supplyCap: parseUnits('1000000', 6),
903
- })
904
- expect(receipt).toBeDefined()
905
- expect(result.newSupplyCap).toBe(parseUnits('1000000', 6))
906
- expect(result.updater).toBe(account.address)
907
- })
908
- })
909
-
910
- describe('prepareUpdateQuoteToken', () => {
911
- test('default', async () => {
912
- await connect(config, {
913
- connector: config.connectors[0]!,
914
- })
915
-
916
- // Create quote token
917
- const { token: quoteToken } = await token.createSync(config, {
918
- currency: 'USD',
919
- name: 'Quote Token',
920
- symbol: 'QUOTE',
921
- })
922
-
923
- // Create main token
924
- const { token: tokenAddr } = await token.createSync(config, {
925
- currency: 'USD',
926
- name: 'Main Token',
927
- symbol: 'MAIN',
928
- })
929
-
930
- const hash = await token.prepareUpdateQuoteToken(config, {
931
- token: tokenAddr,
932
- quoteToken,
933
- })
934
- expect(hash).toBeDefined()
935
- expect(typeof hash).toBe('string')
936
- })
937
- })
938
-
939
- describe('prepareUpdateQuoteTokenSync', () => {
940
- test('default', async () => {
941
- await connect(config, {
942
- connector: config.connectors[0]!,
943
- })
944
-
945
- // Create quote token
946
- const { token: quoteToken } = await token.createSync(config, {
947
- currency: 'USD',
948
- name: 'Quote Token Sync',
949
- symbol: 'QUOTESYNC',
950
- })
951
-
952
- // Create main token
953
- const { token: tokenAddr } = await token.createSync(config, {
954
- currency: 'USD',
955
- name: 'Main Token Sync',
956
- symbol: 'MAINSYNC',
957
- })
958
-
959
- const { receipt, ...result } = await token.prepareUpdateQuoteTokenSync(
960
- config,
961
- {
962
- token: tokenAddr,
963
- quoteToken,
964
- },
965
- )
966
- expect(receipt).toBeDefined()
967
- expect(result.nextQuoteToken).toBe(quoteToken)
968
- expect(result.updater).toBe(account.address)
969
- })
970
- })
971
-
972
- describe('updateQuoteToken', () => {
973
- test('default', async () => {
974
- await connect(config, {
975
- connector: config.connectors[0]!,
976
- })
977
-
978
- // Create quote token
979
- const { token: quoteToken } = await token.createSync(config, {
980
- currency: 'USD',
981
- name: 'Quote Token Finalize',
982
- symbol: 'QUOTEFINAL',
983
- })
984
-
985
- // Create main token
986
- const { token: tokenAddr } = await token.createSync(config, {
987
- currency: 'USD',
988
- name: 'Main Token Finalize',
989
- symbol: 'MAINFINAL',
990
- })
991
-
992
- // Prepare quote token update first
993
- await token.prepareUpdateQuoteTokenSync(config, {
994
- token: tokenAddr,
995
- quoteToken,
996
- })
997
-
998
- const hash = await token.updateQuoteToken(config, {
999
- token: tokenAddr,
1000
- })
1001
- expect(hash).toBeDefined()
1002
- expect(typeof hash).toBe('string')
1003
- })
1004
- })
1005
-
1006
- describe('updateQuoteTokenSync', () => {
1007
- test('default', async () => {
1008
- await connect(config, {
1009
- connector: config.connectors[0]!,
1010
- })
1011
-
1012
- // Create quote token
1013
- const { token: quoteToken } = await token.createSync(config, {
1014
- currency: 'USD',
1015
- name: 'Quote Token Finalize Sync',
1016
- symbol: 'QUOTEFINALSYNC',
1017
- })
1018
-
1019
- // Create main token
1020
- const { token: tokenAddr } = await token.createSync(config, {
1021
- currency: 'USD',
1022
- name: 'Main Token Finalize Sync',
1023
- symbol: 'MAINFINALSYNC',
1024
- })
1025
-
1026
- // Prepare quote token update first
1027
- await token.prepareUpdateQuoteTokenSync(config, {
1028
- token: tokenAddr,
1029
- quoteToken,
1030
- })
1031
-
1032
- const { receipt, ...result } = await token.updateQuoteTokenSync(config, {
1033
- token: tokenAddr,
1034
- })
1035
- expect(receipt).toBeDefined()
1036
- expect(result.newQuoteToken).toBe(quoteToken)
1037
- expect(result.updater).toBe(account.address)
1038
- })
1039
- })
1040
-
1041
- describe.todo('permit')
1042
-
1043
- describe.todo('permitSync')
1044
-
1045
- describe('watchAdminRole', () => {
1046
- test('default', async () => {
1047
- await connect(config, {
1048
- connector: config.connectors[0]!,
1049
- })
1050
-
1051
- // Create a new token
1052
- const { token: tokenAddr } = await token.createSync(config, {
1053
- currency: 'USD',
1054
- name: 'Watch Admin Role Token',
1055
- symbol: 'WATCHADMIN',
1056
- })
1057
-
1058
- const events: any[] = []
1059
- const unwatch = token.watchAdminRole(config, {
1060
- token: tokenAddr,
1061
- onRoleAdminUpdated: (args) => {
1062
- events.push(args)
1063
- },
1064
- })
1065
-
1066
- // Trigger event by setting a role admin
1067
- await token.setRoleAdminSync(config, {
1068
- token: tokenAddr,
1069
- role: 'issuer',
1070
- adminRole: 'pause',
1071
- })
1072
-
1073
- // Wait a bit for the event to be processed
1074
- await new Promise((resolve) => setTimeout(resolve, 500))
1075
-
1076
- expect(events.length).toBeGreaterThan(0)
1077
- expect(events[0]).toBeDefined()
1078
- unwatch()
1079
- })
1080
- })
1081
-
1082
- describe('watchApprove', () => {
1083
- test('default', async () => {
1084
- await connect(config, {
1085
- connector: config.connectors[0]!,
1086
- })
1087
-
1088
- const events: any[] = []
1089
- const unwatch = token.watchApprove(config, {
1090
- onApproval: (args) => {
1091
- events.push(args)
1092
- },
1093
- token: addresses.alphaUsd,
1094
- })
1095
-
1096
- // Trigger approval event
1097
- await token.approveSync(config, {
1098
- amount: parseUnits('50', 6),
1099
- spender: account2.address,
1100
- token: addresses.alphaUsd,
1101
- })
1102
-
1103
- // Wait a bit for the event to be processed
1104
- await new Promise((resolve) => setTimeout(resolve, 500))
1105
-
1106
- expect(events.length).toBeGreaterThan(0)
1107
- expect(events[0]?.owner).toBe(account.address)
1108
- expect(events[0]?.spender).toBe(account2.address)
1109
- expect(events[0]?.amount).toBe(parseUnits('50', 6))
1110
- unwatch()
1111
- })
1112
- })
1113
-
1114
- describe('watchBurn', () => {
1115
- test('default', async () => {
1116
- await connect(config, {
1117
- connector: config.connectors[0]!,
1118
- })
1119
-
1120
- // Create a new token
1121
- const { token: tokenAddr } = await token.createSync(config, {
1122
- currency: 'USD',
1123
- name: 'Watch Burn Token',
1124
- symbol: 'WATCHBURN',
1125
- })
1126
-
1127
- // Grant issuer role and mint tokens
1128
- await token.grantRolesSync(config, {
1129
- token: tokenAddr,
1130
- roles: ['issuer'],
1131
- to: account.address,
1132
- })
1133
- await token.mintSync(config, {
1134
- token: tokenAddr,
1135
- to: account.address,
1136
- amount: parseUnits('1000', 6),
1137
- })
1138
-
1139
- const events: any[] = []
1140
- const unwatch = token.watchBurn(config, {
1141
- token: tokenAddr,
1142
- onBurn: (args) => {
1143
- events.push(args)
1144
- },
1145
- })
1146
-
1147
- // Trigger burn event
1148
- await token.burnSync(config, {
1149
- token: tokenAddr,
1150
- amount: parseUnits('10', 6),
1151
- })
1152
-
1153
- // Wait a bit for the event to be processed
1154
- await new Promise((resolve) => setTimeout(resolve, 500))
1155
-
1156
- expect(events.length).toBeGreaterThan(0)
1157
- expect(events[0]?.from).toBe(account.address)
1158
- expect(events[0]?.amount).toBe(parseUnits('10', 6))
1159
- unwatch()
1160
- })
1161
- })
1162
-
1163
- describe('watchCreate', () => {
1164
- test('default', async () => {
1165
- await connect(config, {
1166
- connector: config.connectors[0]!,
1167
- })
1168
-
1169
- const events: any[] = []
1170
- const unwatch = token.watchCreate(config, {
1171
- onTokenCreated: (args) => {
1172
- events.push(args)
1173
- },
1174
- })
1175
-
1176
- // Trigger token creation event
1177
- await token.createSync(config, {
1178
- name: 'Watch Create Token',
1179
- symbol: 'WATCHCREATE',
1180
- currency: 'USD',
1181
- })
1182
-
1183
- // Wait a bit for the event to be processed
1184
- await new Promise((resolve) => setTimeout(resolve, 500))
1185
-
1186
- expect(events.length).toBeGreaterThan(0)
1187
- expect(events[0]?.name).toBe('Watch Create Token')
1188
- expect(events[0]?.symbol).toBe('WATCHCREATE')
1189
- expect(events[0]?.currency).toBe('USD')
1190
- expect(events[0]?.admin).toBe(account.address)
1191
- unwatch()
1192
- })
1193
- })
1194
-
1195
- describe('watchMint', () => {
1196
- test('default', async () => {
1197
- await connect(config, {
1198
- connector: config.connectors[0]!,
1199
- })
1200
-
1201
- // Create a new token
1202
- const { token: tokenAddr } = await token.createSync(config, {
1203
- currency: 'USD',
1204
- name: 'Watch Mint Token',
1205
- symbol: 'WATCHMINT',
1206
- })
1207
-
1208
- // Grant issuer role
1209
- await token.grantRolesSync(config, {
1210
- token: tokenAddr,
1211
- roles: ['issuer'],
1212
- to: account.address,
1213
- })
1214
-
1215
- const events: any[] = []
1216
- const unwatch = token.watchMint(config, {
1217
- token: tokenAddr,
1218
- onMint: (args) => {
1219
- events.push(args)
1220
- },
1221
- })
1222
-
1223
- // Trigger mint event
1224
- await token.mintSync(config, {
1225
- token: tokenAddr,
1226
- to: account.address,
1227
- amount: parseUnits('100', 6),
1228
- })
1229
-
1230
- // Wait a bit for the event to be processed
1231
- await new Promise((resolve) => setTimeout(resolve, 500))
1232
-
1233
- expect(events.length).toBeGreaterThan(0)
1234
- expect(events[0]?.to).toBe(account.address)
1235
- expect(events[0]?.amount).toBe(parseUnits('100', 6))
1236
- unwatch()
1237
- })
1238
- })
1239
-
1240
- describe('watchRole', () => {
1241
- test('default', async () => {
1242
- await connect(config, {
1243
- connector: config.connectors[0]!,
1244
- })
1245
-
1246
- // Create a new token
1247
- const { token: tokenAddr } = await token.createSync(config, {
1248
- currency: 'USD',
1249
- name: 'Watch Role Token',
1250
- symbol: 'WATCHROLE',
1251
- })
1252
-
1253
- const events: any[] = []
1254
- const unwatch = token.watchRole(config, {
1255
- token: tokenAddr,
1256
- onRoleUpdated: (args) => {
1257
- events.push(args)
1258
- },
1259
- })
1260
-
1261
- // Trigger role update event by granting a role
1262
- await token.grantRolesSync(config, {
1263
- token: tokenAddr,
1264
- roles: ['issuer'],
1265
- to: account2.address,
1266
- })
1267
-
1268
- // Wait a bit for the event to be processed
1269
- await new Promise((resolve) => setTimeout(resolve, 500))
1270
-
1271
- expect(events.length).toBeGreaterThan(0)
1272
- expect(events[0]?.account).toBe(account2.address)
1273
- expect(events[0]?.hasRole).toBe(true)
1274
- expect(events[0]?.type).toBe('granted')
1275
- unwatch()
1276
- })
1277
- })
1278
-
1279
- describe('watchTransfer', () => {
1280
- test('default', async () => {
1281
- await connect(config, {
1282
- connector: config.connectors[0]!,
1283
- })
1284
-
1285
- const events: any[] = []
1286
- const unwatch = token.watchTransfer(config, {
1287
- token: addresses.alphaUsd,
1288
- onTransfer: (args) => {
1289
- events.push(args)
1290
- },
1291
- })
1292
-
1293
- // Trigger transfer event
1294
- await token.transferSync(config, {
1295
- amount: parseUnits('5', 6),
1296
- to: account2.address,
1297
- token: addresses.alphaUsd,
1298
- })
1299
-
1300
- // Wait a bit for the event to be processed
1301
- await new Promise((resolve) => setTimeout(resolve, 500))
1302
-
1303
- expect(events.length).toBeGreaterThan(0)
1304
- expect(events[0]?.from).toBe(account.address)
1305
- expect(events[0]?.to).toBe(account2.address)
1306
- expect(events[0]?.amount).toBe(parseUnits('5', 6))
1307
- unwatch()
1308
- })
1309
- })