tempo.ts 0.12.1 → 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.
- package/CHANGELOG.md +20 -0
- package/README.md +28 -34
- package/package.json +2 -28
- package/dist/wagmi/Actions/amm.d.ts +0 -418
- package/dist/wagmi/Actions/amm.d.ts.map +0 -1
- package/dist/wagmi/Actions/amm.js +0 -462
- package/dist/wagmi/Actions/amm.js.map +0 -1
- package/dist/wagmi/Actions/dex.d.ts +0 -864
- package/dist/wagmi/Actions/dex.d.ts.map +0 -1
- package/dist/wagmi/Actions/dex.js +0 -968
- package/dist/wagmi/Actions/dex.js.map +0 -1
- package/dist/wagmi/Actions/faucet.d.ts +0 -66
- package/dist/wagmi/Actions/faucet.d.ts.map +0 -1
- package/dist/wagmi/Actions/faucet.js +0 -64
- package/dist/wagmi/Actions/faucet.js.map +0 -1
- package/dist/wagmi/Actions/fee.d.ts +0 -111
- package/dist/wagmi/Actions/fee.d.ts.map +0 -1
- package/dist/wagmi/Actions/fee.js +0 -126
- package/dist/wagmi/Actions/fee.js.map +0 -1
- package/dist/wagmi/Actions/index.d.ts +0 -9
- package/dist/wagmi/Actions/index.d.ts.map +0 -1
- package/dist/wagmi/Actions/index.js +0 -9
- package/dist/wagmi/Actions/index.js.map +0 -1
- package/dist/wagmi/Actions/nonce.d.ts +0 -77
- package/dist/wagmi/Actions/nonce.d.ts.map +0 -1
- package/dist/wagmi/Actions/nonce.js +0 -87
- package/dist/wagmi/Actions/nonce.js.map +0 -1
- package/dist/wagmi/Actions/policy.d.ts +0 -480
- package/dist/wagmi/Actions/policy.d.ts.map +0 -1
- package/dist/wagmi/Actions/policy.js +0 -530
- package/dist/wagmi/Actions/policy.js.map +0 -1
- package/dist/wagmi/Actions/reward.d.ts +0 -346
- package/dist/wagmi/Actions/reward.d.ts.map +0 -1
- package/dist/wagmi/Actions/reward.js +0 -382
- package/dist/wagmi/Actions/reward.js.map +0 -1
- package/dist/wagmi/Actions/token.d.ts +0 -1546
- package/dist/wagmi/Actions/token.d.ts.map +0 -1
- package/dist/wagmi/Actions/token.js +0 -1712
- package/dist/wagmi/Actions/token.js.map +0 -1
- package/dist/wagmi/Connector.d.ts +0 -91
- package/dist/wagmi/Connector.d.ts.map +0 -1
- package/dist/wagmi/Connector.js +0 -473
- package/dist/wagmi/Connector.js.map +0 -1
- package/dist/wagmi/Hooks/amm.d.ts +0 -411
- package/dist/wagmi/Hooks/amm.d.ts.map +0 -1
- package/dist/wagmi/Hooks/amm.js +0 -494
- package/dist/wagmi/Hooks/amm.js.map +0 -1
- package/dist/wagmi/Hooks/dex.d.ts +0 -773
- package/dist/wagmi/Hooks/dex.d.ts.map +0 -1
- package/dist/wagmi/Hooks/dex.js +0 -921
- package/dist/wagmi/Hooks/dex.js.map +0 -1
- package/dist/wagmi/Hooks/faucet.d.ts +0 -71
- package/dist/wagmi/Hooks/faucet.d.ts.map +0 -1
- package/dist/wagmi/Hooks/faucet.js +0 -76
- package/dist/wagmi/Hooks/faucet.js.map +0 -1
- package/dist/wagmi/Hooks/fee.d.ts +0 -97
- package/dist/wagmi/Hooks/fee.d.ts.map +0 -1
- package/dist/wagmi/Hooks/fee.js +0 -109
- package/dist/wagmi/Hooks/fee.js.map +0 -1
- package/dist/wagmi/Hooks/index.d.ts +0 -9
- package/dist/wagmi/Hooks/index.d.ts.map +0 -1
- package/dist/wagmi/Hooks/index.js +0 -9
- package/dist/wagmi/Hooks/index.js.map +0 -1
- package/dist/wagmi/Hooks/nonce.d.ts +0 -59
- package/dist/wagmi/Hooks/nonce.d.ts.map +0 -1
- package/dist/wagmi/Hooks/nonce.js +0 -75
- package/dist/wagmi/Hooks/nonce.js.map +0 -1
- package/dist/wagmi/Hooks/policy.d.ts +0 -423
- package/dist/wagmi/Hooks/policy.d.ts.map +0 -1
- package/dist/wagmi/Hooks/policy.js +0 -510
- package/dist/wagmi/Hooks/policy.js.map +0 -1
- package/dist/wagmi/Hooks/reward.d.ts +0 -305
- package/dist/wagmi/Hooks/reward.d.ts.map +0 -1
- package/dist/wagmi/Hooks/reward.js +0 -368
- package/dist/wagmi/Hooks/reward.js.map +0 -1
- package/dist/wagmi/Hooks/token.d.ts +0 -1388
- package/dist/wagmi/Hooks/token.d.ts.map +0 -1
- package/dist/wagmi/Hooks/token.js +0 -1657
- package/dist/wagmi/Hooks/token.js.map +0 -1
- package/dist/wagmi/KeyManager.d.ts +0 -60
- package/dist/wagmi/KeyManager.d.ts.map +0 -1
- package/dist/wagmi/KeyManager.js +0 -106
- package/dist/wagmi/KeyManager.js.map +0 -1
- package/dist/wagmi/index.d.ts +0 -5
- package/dist/wagmi/index.d.ts.map +0 -1
- package/dist/wagmi/index.js +0 -5
- package/dist/wagmi/index.js.map +0 -1
- package/src/wagmi/Actions/amm.test.ts +0 -208
- package/src/wagmi/Actions/amm.ts +0 -690
- package/src/wagmi/Actions/dex.test.ts +0 -1482
- package/src/wagmi/Actions/dex.ts +0 -1540
- package/src/wagmi/Actions/faucet.ts +0 -89
- package/src/wagmi/Actions/fee.test.ts +0 -63
- package/src/wagmi/Actions/fee.ts +0 -211
- package/src/wagmi/Actions/index.ts +0 -8
- package/src/wagmi/Actions/nonce.test.ts +0 -82
- package/src/wagmi/Actions/nonce.ts +0 -139
- package/src/wagmi/Actions/policy.test.ts +0 -461
- package/src/wagmi/Actions/policy.ts +0 -817
- package/src/wagmi/Actions/reward.test.ts +0 -216
- package/src/wagmi/Actions/reward.ts +0 -613
- package/src/wagmi/Actions/token.test.ts +0 -1309
- package/src/wagmi/Actions/token.ts +0 -2644
- package/src/wagmi/Connector.test.ts +0 -56
- package/src/wagmi/Connector.ts +0 -670
- package/src/wagmi/Hooks/amm.test.ts +0 -564
- package/src/wagmi/Hooks/amm.ts +0 -796
- package/src/wagmi/Hooks/dex.test.ts +0 -992
- package/src/wagmi/Hooks/dex.ts +0 -1598
- package/src/wagmi/Hooks/faucet.ts +0 -144
- package/src/wagmi/Hooks/fee.test.ts +0 -166
- package/src/wagmi/Hooks/fee.ts +0 -206
- package/src/wagmi/Hooks/index.ts +0 -8
- package/src/wagmi/Hooks/nonce.test.ts +0 -142
- package/src/wagmi/Hooks/nonce.ts +0 -117
- package/src/wagmi/Hooks/policy.test.ts +0 -665
- package/src/wagmi/Hooks/policy.ts +0 -873
- package/src/wagmi/Hooks/reward.test.ts +0 -249
- package/src/wagmi/Hooks/reward.ts +0 -645
- package/src/wagmi/Hooks/token.test.ts +0 -1183
- package/src/wagmi/Hooks/token.ts +0 -2906
- package/src/wagmi/KeyManager.ts +0 -172
- 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
|
-
})
|