@cartesi/devnet 2.0.0-alpha.0 → 2.0.0-alpha.10

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 (85) hide show
  1. package/anvil_state.json +1 -0
  2. package/deployments/anvil.json +1 -0
  3. package/deployments/arbitrum.json +1 -0
  4. package/deployments/arbitrumSepolia.json +1 -0
  5. package/deployments/base.json +1 -0
  6. package/deployments/baseSepolia.json +1 -0
  7. package/deployments/mainnet.json +1 -0
  8. package/deployments/optimism.json +1 -0
  9. package/deployments/optimismSepolia.json +1 -0
  10. package/deployments/sepolia.json +1 -0
  11. package/package.json +32 -42
  12. package/LICENSE +0 -202
  13. package/build/anvil_state.json +0 -1
  14. package/deployments/localhost/.chainId +0 -1
  15. package/deployments/localhost/ApplicationFactory.json +0 -227
  16. package/deployments/localhost/AuthorityFactory.json +0 -188
  17. package/deployments/localhost/ERC1155BatchPortal.json +0 -133
  18. package/deployments/localhost/ERC1155SinglePortal.json +0 -132
  19. package/deployments/localhost/ERC20Portal.json +0 -132
  20. package/deployments/localhost/ERC721Portal.json +0 -126
  21. package/deployments/localhost/EtherPortal.json +0 -121
  22. package/deployments/localhost/InputBox.json +0 -213
  23. package/deployments/localhost/QuorumFactory.json +0 -188
  24. package/deployments/localhost/SafeERC20Transfer.json +0 -118
  25. package/deployments/localhost/SelfHostedApplicationFactory.json +0 -227
  26. package/deployments/localhost/TestMultiToken.json +0 -829
  27. package/deployments/localhost/TestNFT.json +0 -891
  28. package/deployments/localhost/TestToken.json +0 -1079
  29. package/dist/deploy/01_token.js +0 -15
  30. package/dist/deploy/02_nft.js +0 -15
  31. package/dist/deploy/03_multitoken.js +0 -15
  32. package/dist/deploy/04_4337.js +0 -342
  33. package/dist/src/aa/constants.d.ts +0 -31
  34. package/dist/src/aa/constants.d.ts.map +0 -1
  35. package/dist/src/aa/constants.js +0 -65
  36. package/dist/src/tasks/deploy-anvil.d.ts +0 -6
  37. package/dist/src/tasks/deploy-anvil.d.ts.map +0 -1
  38. package/dist/src/tasks/deploy-anvil.js +0 -40
  39. package/export/abi/localhost.json +0 -2837
  40. package/export/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +0 -128
  41. package/export/artifacts/@openzeppelin/contracts/access/manager/AccessManaged.sol/AccessManaged.json +0 -137
  42. package/export/artifacts/@openzeppelin/contracts/access/manager/AuthorityUtils.sol/AuthorityUtils.json +0 -32
  43. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManaged.sol/IAccessManaged.json +0 -133
  44. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +0 -1251
  45. package/export/artifacts/@openzeppelin/contracts/access/manager/IAuthority.sol/IAuthority.json +0 -60
  46. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +0 -401
  47. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC5267.sol/IERC5267.json +0 -84
  48. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +0 -190
  49. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +0 -165
  50. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +0 -197
  51. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +0 -553
  52. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +0 -362
  53. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +0 -156
  54. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +0 -385
  55. package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +0 -436
  56. package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +0 -242
  57. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +0 -472
  58. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +0 -502
  59. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +0 -695
  60. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +0 -293
  61. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +0 -114
  62. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +0 -595
  63. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +0 -363
  64. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +0 -66
  65. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +0 -630
  66. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +0 -421
  67. package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +0 -38
  68. package/export/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +0 -24
  69. package/export/artifacts/@openzeppelin/contracts/utils/Nonces.sol/Nonces.json +0 -73
  70. package/export/artifacts/@openzeppelin/contracts/utils/Pausable.sol/Pausable.json +0 -103
  71. package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +0 -55
  72. package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +0 -40
  73. package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +0 -62
  74. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +0 -84
  75. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +0 -105
  76. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +0 -36
  77. package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +0 -50
  78. package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +0 -50
  79. package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +0 -65
  80. package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +0 -173
  81. package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +0 -36
  82. package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +0 -41
  83. package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +0 -750
  84. package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +0 -779
  85. package/export/artifacts/contracts/TestToken.sol/TestToken.json +0 -963
@@ -1,436 +0,0 @@
1
- {
2
- "contractName": "ERC20",
3
- "sourceName": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
4
- "abi": [
5
- {
6
- "inputs": [
7
- {
8
- "internalType": "address",
9
- "name": "spender",
10
- "type": "address"
11
- },
12
- {
13
- "internalType": "uint256",
14
- "name": "allowance",
15
- "type": "uint256"
16
- },
17
- {
18
- "internalType": "uint256",
19
- "name": "needed",
20
- "type": "uint256"
21
- }
22
- ],
23
- "name": "ERC20InsufficientAllowance",
24
- "type": "error"
25
- },
26
- {
27
- "inputs": [
28
- {
29
- "internalType": "address",
30
- "name": "sender",
31
- "type": "address"
32
- },
33
- {
34
- "internalType": "uint256",
35
- "name": "balance",
36
- "type": "uint256"
37
- },
38
- {
39
- "internalType": "uint256",
40
- "name": "needed",
41
- "type": "uint256"
42
- }
43
- ],
44
- "name": "ERC20InsufficientBalance",
45
- "type": "error"
46
- },
47
- {
48
- "inputs": [
49
- {
50
- "internalType": "address",
51
- "name": "approver",
52
- "type": "address"
53
- }
54
- ],
55
- "name": "ERC20InvalidApprover",
56
- "type": "error"
57
- },
58
- {
59
- "inputs": [
60
- {
61
- "internalType": "address",
62
- "name": "receiver",
63
- "type": "address"
64
- }
65
- ],
66
- "name": "ERC20InvalidReceiver",
67
- "type": "error"
68
- },
69
- {
70
- "inputs": [
71
- {
72
- "internalType": "address",
73
- "name": "sender",
74
- "type": "address"
75
- }
76
- ],
77
- "name": "ERC20InvalidSender",
78
- "type": "error"
79
- },
80
- {
81
- "inputs": [
82
- {
83
- "internalType": "address",
84
- "name": "spender",
85
- "type": "address"
86
- }
87
- ],
88
- "name": "ERC20InvalidSpender",
89
- "type": "error"
90
- },
91
- {
92
- "anonymous": false,
93
- "inputs": [
94
- {
95
- "indexed": true,
96
- "internalType": "address",
97
- "name": "owner",
98
- "type": "address"
99
- },
100
- {
101
- "indexed": true,
102
- "internalType": "address",
103
- "name": "spender",
104
- "type": "address"
105
- },
106
- {
107
- "indexed": false,
108
- "internalType": "uint256",
109
- "name": "value",
110
- "type": "uint256"
111
- }
112
- ],
113
- "name": "Approval",
114
- "type": "event"
115
- },
116
- {
117
- "anonymous": false,
118
- "inputs": [
119
- {
120
- "indexed": true,
121
- "internalType": "address",
122
- "name": "from",
123
- "type": "address"
124
- },
125
- {
126
- "indexed": true,
127
- "internalType": "address",
128
- "name": "to",
129
- "type": "address"
130
- },
131
- {
132
- "indexed": false,
133
- "internalType": "uint256",
134
- "name": "value",
135
- "type": "uint256"
136
- }
137
- ],
138
- "name": "Transfer",
139
- "type": "event"
140
- },
141
- {
142
- "inputs": [
143
- {
144
- "internalType": "address",
145
- "name": "owner",
146
- "type": "address"
147
- },
148
- {
149
- "internalType": "address",
150
- "name": "spender",
151
- "type": "address"
152
- }
153
- ],
154
- "name": "allowance",
155
- "outputs": [
156
- {
157
- "internalType": "uint256",
158
- "name": "",
159
- "type": "uint256"
160
- }
161
- ],
162
- "stateMutability": "view",
163
- "type": "function"
164
- },
165
- {
166
- "inputs": [
167
- {
168
- "internalType": "address",
169
- "name": "spender",
170
- "type": "address"
171
- },
172
- {
173
- "internalType": "uint256",
174
- "name": "value",
175
- "type": "uint256"
176
- }
177
- ],
178
- "name": "approve",
179
- "outputs": [
180
- {
181
- "internalType": "bool",
182
- "name": "",
183
- "type": "bool"
184
- }
185
- ],
186
- "stateMutability": "nonpayable",
187
- "type": "function"
188
- },
189
- {
190
- "inputs": [
191
- {
192
- "internalType": "address",
193
- "name": "account",
194
- "type": "address"
195
- }
196
- ],
197
- "name": "balanceOf",
198
- "outputs": [
199
- {
200
- "internalType": "uint256",
201
- "name": "",
202
- "type": "uint256"
203
- }
204
- ],
205
- "stateMutability": "view",
206
- "type": "function"
207
- },
208
- {
209
- "inputs": [],
210
- "name": "decimals",
211
- "outputs": [
212
- {
213
- "internalType": "uint8",
214
- "name": "",
215
- "type": "uint8"
216
- }
217
- ],
218
- "stateMutability": "view",
219
- "type": "function"
220
- },
221
- {
222
- "inputs": [],
223
- "name": "name",
224
- "outputs": [
225
- {
226
- "internalType": "string",
227
- "name": "",
228
- "type": "string"
229
- }
230
- ],
231
- "stateMutability": "view",
232
- "type": "function"
233
- },
234
- {
235
- "inputs": [],
236
- "name": "symbol",
237
- "outputs": [
238
- {
239
- "internalType": "string",
240
- "name": "",
241
- "type": "string"
242
- }
243
- ],
244
- "stateMutability": "view",
245
- "type": "function"
246
- },
247
- {
248
- "inputs": [],
249
- "name": "totalSupply",
250
- "outputs": [
251
- {
252
- "internalType": "uint256",
253
- "name": "",
254
- "type": "uint256"
255
- }
256
- ],
257
- "stateMutability": "view",
258
- "type": "function"
259
- },
260
- {
261
- "inputs": [
262
- {
263
- "internalType": "address",
264
- "name": "to",
265
- "type": "address"
266
- },
267
- {
268
- "internalType": "uint256",
269
- "name": "value",
270
- "type": "uint256"
271
- }
272
- ],
273
- "name": "transfer",
274
- "outputs": [
275
- {
276
- "internalType": "bool",
277
- "name": "",
278
- "type": "bool"
279
- }
280
- ],
281
- "stateMutability": "nonpayable",
282
- "type": "function"
283
- },
284
- {
285
- "inputs": [
286
- {
287
- "internalType": "address",
288
- "name": "from",
289
- "type": "address"
290
- },
291
- {
292
- "internalType": "address",
293
- "name": "to",
294
- "type": "address"
295
- },
296
- {
297
- "internalType": "uint256",
298
- "name": "value",
299
- "type": "uint256"
300
- }
301
- ],
302
- "name": "transferFrom",
303
- "outputs": [
304
- {
305
- "internalType": "bool",
306
- "name": "",
307
- "type": "bool"
308
- }
309
- ],
310
- "stateMutability": "nonpayable",
311
- "type": "function"
312
- }
313
- ],
314
- "bytecode": "0x",
315
- "deployedBytecode": "0x",
316
- "linkReferences": {},
317
- "deployedLinkReferences": {},
318
- "devdoc": {
319
- "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification.",
320
- "errors": {
321
- "ERC20InsufficientAllowance(address,uint256,uint256)": [
322
- {
323
- "details": "Indicates a failure with the `spender`’s `allowance`. Used in transfers.",
324
- "params": {
325
- "allowance": "Amount of tokens a `spender` is allowed to operate with.",
326
- "needed": "Minimum amount required to perform a transfer.",
327
- "spender": "Address that may be allowed to operate on tokens without being their owner."
328
- }
329
- }
330
- ],
331
- "ERC20InsufficientBalance(address,uint256,uint256)": [
332
- {
333
- "details": "Indicates an error related to the current `balance` of a `sender`. Used in transfers.",
334
- "params": {
335
- "balance": "Current balance for the interacting account.",
336
- "needed": "Minimum amount required to perform a transfer.",
337
- "sender": "Address whose tokens are being transferred."
338
- }
339
- }
340
- ],
341
- "ERC20InvalidApprover(address)": [
342
- {
343
- "details": "Indicates a failure with the `approver` of a token to be approved. Used in approvals.",
344
- "params": {
345
- "approver": "Address initiating an approval operation."
346
- }
347
- }
348
- ],
349
- "ERC20InvalidReceiver(address)": [
350
- {
351
- "details": "Indicates a failure with the token `receiver`. Used in transfers.",
352
- "params": {
353
- "receiver": "Address to which tokens are being transferred."
354
- }
355
- }
356
- ],
357
- "ERC20InvalidSender(address)": [
358
- {
359
- "details": "Indicates a failure with the token `sender`. Used in transfers.",
360
- "params": {
361
- "sender": "Address whose tokens are being transferred."
362
- }
363
- }
364
- ],
365
- "ERC20InvalidSpender(address)": [
366
- {
367
- "details": "Indicates a failure with the `spender` to be approved. Used in approvals.",
368
- "params": {
369
- "spender": "Address that may be allowed to operate on tokens without being their owner."
370
- }
371
- }
372
- ]
373
- },
374
- "events": {
375
- "Approval(address,address,uint256)": {
376
- "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."
377
- },
378
- "Transfer(address,address,uint256)": {
379
- "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero."
380
- }
381
- },
382
- "kind": "dev",
383
- "methods": {
384
- "allowance(address,address)": {
385
- "details": "See {IERC20-allowance}."
386
- },
387
- "approve(address,uint256)": {
388
- "details": "See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."
389
- },
390
- "balanceOf(address)": {
391
- "details": "See {IERC20-balanceOf}."
392
- },
393
- "constructor": {
394
- "details": "Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."
395
- },
396
- "decimals()": {
397
- "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
398
- },
399
- "name()": {
400
- "details": "Returns the name of the token."
401
- },
402
- "symbol()": {
403
- "details": "Returns the symbol of the token, usually a shorter version of the name."
404
- },
405
- "totalSupply()": {
406
- "details": "See {IERC20-totalSupply}."
407
- },
408
- "transfer(address,uint256)": {
409
- "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."
410
- },
411
- "transferFrom(address,address,uint256)": {
412
- "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."
413
- }
414
- },
415
- "version": 1
416
- },
417
- "userdoc": {
418
- "kind": "user",
419
- "methods": {},
420
- "version": 1
421
- },
422
- "evm": {
423
- "gasEstimates": null,
424
- "methodIdentifiers": {
425
- "allowance(address,address)": "dd62ed3e",
426
- "approve(address,uint256)": "095ea7b3",
427
- "balanceOf(address)": "70a08231",
428
- "decimals()": "313ce567",
429
- "name()": "06fdde03",
430
- "symbol()": "95d89b41",
431
- "totalSupply()": "18160ddd",
432
- "transfer(address,uint256)": "a9059cbb",
433
- "transferFrom(address,address,uint256)": "23b872dd"
434
- }
435
- }
436
- }
@@ -1,242 +0,0 @@
1
- {
2
- "contractName": "IERC20",
3
- "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
4
- "abi": [
5
- {
6
- "anonymous": false,
7
- "inputs": [
8
- {
9
- "indexed": true,
10
- "internalType": "address",
11
- "name": "owner",
12
- "type": "address"
13
- },
14
- {
15
- "indexed": true,
16
- "internalType": "address",
17
- "name": "spender",
18
- "type": "address"
19
- },
20
- {
21
- "indexed": false,
22
- "internalType": "uint256",
23
- "name": "value",
24
- "type": "uint256"
25
- }
26
- ],
27
- "name": "Approval",
28
- "type": "event"
29
- },
30
- {
31
- "anonymous": false,
32
- "inputs": [
33
- {
34
- "indexed": true,
35
- "internalType": "address",
36
- "name": "from",
37
- "type": "address"
38
- },
39
- {
40
- "indexed": true,
41
- "internalType": "address",
42
- "name": "to",
43
- "type": "address"
44
- },
45
- {
46
- "indexed": false,
47
- "internalType": "uint256",
48
- "name": "value",
49
- "type": "uint256"
50
- }
51
- ],
52
- "name": "Transfer",
53
- "type": "event"
54
- },
55
- {
56
- "inputs": [
57
- {
58
- "internalType": "address",
59
- "name": "owner",
60
- "type": "address"
61
- },
62
- {
63
- "internalType": "address",
64
- "name": "spender",
65
- "type": "address"
66
- }
67
- ],
68
- "name": "allowance",
69
- "outputs": [
70
- {
71
- "internalType": "uint256",
72
- "name": "",
73
- "type": "uint256"
74
- }
75
- ],
76
- "stateMutability": "view",
77
- "type": "function"
78
- },
79
- {
80
- "inputs": [
81
- {
82
- "internalType": "address",
83
- "name": "spender",
84
- "type": "address"
85
- },
86
- {
87
- "internalType": "uint256",
88
- "name": "value",
89
- "type": "uint256"
90
- }
91
- ],
92
- "name": "approve",
93
- "outputs": [
94
- {
95
- "internalType": "bool",
96
- "name": "",
97
- "type": "bool"
98
- }
99
- ],
100
- "stateMutability": "nonpayable",
101
- "type": "function"
102
- },
103
- {
104
- "inputs": [
105
- {
106
- "internalType": "address",
107
- "name": "account",
108
- "type": "address"
109
- }
110
- ],
111
- "name": "balanceOf",
112
- "outputs": [
113
- {
114
- "internalType": "uint256",
115
- "name": "",
116
- "type": "uint256"
117
- }
118
- ],
119
- "stateMutability": "view",
120
- "type": "function"
121
- },
122
- {
123
- "inputs": [],
124
- "name": "totalSupply",
125
- "outputs": [
126
- {
127
- "internalType": "uint256",
128
- "name": "",
129
- "type": "uint256"
130
- }
131
- ],
132
- "stateMutability": "view",
133
- "type": "function"
134
- },
135
- {
136
- "inputs": [
137
- {
138
- "internalType": "address",
139
- "name": "to",
140
- "type": "address"
141
- },
142
- {
143
- "internalType": "uint256",
144
- "name": "value",
145
- "type": "uint256"
146
- }
147
- ],
148
- "name": "transfer",
149
- "outputs": [
150
- {
151
- "internalType": "bool",
152
- "name": "",
153
- "type": "bool"
154
- }
155
- ],
156
- "stateMutability": "nonpayable",
157
- "type": "function"
158
- },
159
- {
160
- "inputs": [
161
- {
162
- "internalType": "address",
163
- "name": "from",
164
- "type": "address"
165
- },
166
- {
167
- "internalType": "address",
168
- "name": "to",
169
- "type": "address"
170
- },
171
- {
172
- "internalType": "uint256",
173
- "name": "value",
174
- "type": "uint256"
175
- }
176
- ],
177
- "name": "transferFrom",
178
- "outputs": [
179
- {
180
- "internalType": "bool",
181
- "name": "",
182
- "type": "bool"
183
- }
184
- ],
185
- "stateMutability": "nonpayable",
186
- "type": "function"
187
- }
188
- ],
189
- "bytecode": "0x",
190
- "deployedBytecode": "0x",
191
- "linkReferences": {},
192
- "deployedLinkReferences": {},
193
- "devdoc": {
194
- "details": "Interface of the ERC20 standard as defined in the EIP.",
195
- "events": {
196
- "Approval(address,address,uint256)": {
197
- "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."
198
- },
199
- "Transfer(address,address,uint256)": {
200
- "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero."
201
- }
202
- },
203
- "kind": "dev",
204
- "methods": {
205
- "allowance(address,address)": {
206
- "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."
207
- },
208
- "approve(address,uint256)": {
209
- "details": "Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
210
- },
211
- "balanceOf(address)": {
212
- "details": "Returns the value of tokens owned by `account`."
213
- },
214
- "totalSupply()": {
215
- "details": "Returns the value of tokens in existence."
216
- },
217
- "transfer(address,uint256)": {
218
- "details": "Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
219
- },
220
- "transferFrom(address,address,uint256)": {
221
- "details": "Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
222
- }
223
- },
224
- "version": 1
225
- },
226
- "userdoc": {
227
- "kind": "user",
228
- "methods": {},
229
- "version": 1
230
- },
231
- "evm": {
232
- "gasEstimates": null,
233
- "methodIdentifiers": {
234
- "allowance(address,address)": "dd62ed3e",
235
- "approve(address,uint256)": "095ea7b3",
236
- "balanceOf(address)": "70a08231",
237
- "totalSupply()": "18160ddd",
238
- "transfer(address,uint256)": "a9059cbb",
239
- "transferFrom(address,address,uint256)": "23b872dd"
240
- }
241
- }
242
- }