@cartesi/devnet 2.0.0-alpha.3 → 2.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/anvil_state.json +1 -0
  2. package/deployments/TestMultiToken.json +585 -0
  3. package/deployments/TestNFT.json +590 -0
  4. package/deployments/TestToken.json +730 -0
  5. package/deployments/cartesiRollups.ApplicationFactory.json +164 -0
  6. package/deployments/cartesiRollups.AuthorityFactory.json +110 -0
  7. package/deployments/cartesiRollups.ERC1155BatchPortal.json +79 -0
  8. package/deployments/cartesiRollups.ERC1155SinglePortal.json +79 -0
  9. package/deployments/cartesiRollups.ERC20Portal.json +74 -0
  10. package/deployments/cartesiRollups.ERC721Portal.json +74 -0
  11. package/deployments/cartesiRollups.EtherPortal.json +64 -0
  12. package/deployments/cartesiRollups.InputBox.json +146 -0
  13. package/deployments/cartesiRollups.QuorumFactory.json +110 -0
  14. package/deployments/cartesiRollups.SafeERC20Transfer.json +49 -0
  15. package/deployments/cartesiRollups.SelfHostedApplicationFactory.json +158 -0
  16. package/package.json +10 -33
  17. package/build/anvil_state.json +0 -1
  18. package/deployments/localhost/.chainId +0 -1
  19. package/deployments/localhost/ApplicationFactory.json +0 -227
  20. package/deployments/localhost/AuthorityFactory.json +0 -188
  21. package/deployments/localhost/ERC1155BatchPortal.json +0 -133
  22. package/deployments/localhost/ERC1155SinglePortal.json +0 -132
  23. package/deployments/localhost/ERC20Portal.json +0 -132
  24. package/deployments/localhost/ERC721Portal.json +0 -126
  25. package/deployments/localhost/EtherPortal.json +0 -121
  26. package/deployments/localhost/InputBox.json +0 -213
  27. package/deployments/localhost/QuorumFactory.json +0 -188
  28. package/deployments/localhost/SafeERC20Transfer.json +0 -118
  29. package/deployments/localhost/SelfHostedApplicationFactory.json +0 -227
  30. package/deployments/localhost/TestMultiToken.json +0 -829
  31. package/deployments/localhost/TestNFT.json +0 -891
  32. package/deployments/localhost/TestToken.json +0 -1079
  33. package/dist/deploy/01_token.js +0 -15
  34. package/dist/deploy/02_nft.js +0 -15
  35. package/dist/deploy/03_multitoken.js +0 -15
  36. package/dist/deploy/04_4337.js +0 -342
  37. package/dist/src/aa/constants.d.ts +0 -31
  38. package/dist/src/aa/constants.d.ts.map +0 -1
  39. package/dist/src/aa/constants.js +0 -65
  40. package/dist/src/tasks/deploy-anvil.d.ts +0 -6
  41. package/dist/src/tasks/deploy-anvil.d.ts.map +0 -1
  42. package/dist/src/tasks/deploy-anvil.js +0 -40
  43. package/export/abi/localhost.json +0 -2837
  44. package/export/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +0 -128
  45. package/export/artifacts/@openzeppelin/contracts/access/manager/AccessManaged.sol/AccessManaged.json +0 -137
  46. package/export/artifacts/@openzeppelin/contracts/access/manager/AuthorityUtils.sol/AuthorityUtils.json +0 -32
  47. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManaged.sol/IAccessManaged.json +0 -133
  48. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +0 -1240
  49. package/export/artifacts/@openzeppelin/contracts/access/manager/IAuthority.sol/IAuthority.json +0 -60
  50. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +0 -401
  51. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC5267.sol/IERC5267.json +0 -84
  52. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +0 -190
  53. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +0 -165
  54. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +0 -197
  55. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +0 -553
  56. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +0 -362
  57. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +0 -156
  58. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +0 -385
  59. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol/ERC1155Utils.json +0 -34
  60. package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +0 -436
  61. package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +0 -242
  62. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +0 -472
  63. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +0 -502
  64. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +0 -695
  65. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +0 -293
  66. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +0 -114
  67. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +0 -595
  68. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +0 -363
  69. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +0 -66
  70. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +0 -630
  71. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +0 -421
  72. package/export/artifacts/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol/ERC721Utils.json +0 -33
  73. package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +0 -61
  74. package/export/artifacts/@openzeppelin/contracts/utils/Comparators.sol/Comparators.json +0 -34
  75. package/export/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +0 -24
  76. package/export/artifacts/@openzeppelin/contracts/utils/Nonces.sol/Nonces.json +0 -73
  77. package/export/artifacts/@openzeppelin/contracts/utils/Panic.sol/Panic.json +0 -65
  78. package/export/artifacts/@openzeppelin/contracts/utils/Pausable.sol/Pausable.json +0 -103
  79. package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +0 -55
  80. package/export/artifacts/@openzeppelin/contracts/utils/SlotDerivation.sol/SlotDerivation.json +0 -42
  81. package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +0 -41
  82. package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +0 -63
  83. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +0 -84
  84. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +0 -105
  85. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +0 -36
  86. package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +0 -50
  87. package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +0 -50
  88. package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +0 -60
  89. package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +0 -174
  90. package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +0 -37
  91. package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +0 -41
  92. package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +0 -750
  93. package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +0 -779
  94. package/export/artifacts/contracts/TestToken.sol/TestToken.json +0 -963
@@ -1,362 +0,0 @@
1
- {
2
- "contractName": "IERC1155",
3
- "sourceName": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol",
4
- "abi": [
5
- {
6
- "anonymous": false,
7
- "inputs": [
8
- {
9
- "indexed": true,
10
- "internalType": "address",
11
- "name": "account",
12
- "type": "address"
13
- },
14
- {
15
- "indexed": true,
16
- "internalType": "address",
17
- "name": "operator",
18
- "type": "address"
19
- },
20
- {
21
- "indexed": false,
22
- "internalType": "bool",
23
- "name": "approved",
24
- "type": "bool"
25
- }
26
- ],
27
- "name": "ApprovalForAll",
28
- "type": "event"
29
- },
30
- {
31
- "anonymous": false,
32
- "inputs": [
33
- {
34
- "indexed": true,
35
- "internalType": "address",
36
- "name": "operator",
37
- "type": "address"
38
- },
39
- {
40
- "indexed": true,
41
- "internalType": "address",
42
- "name": "from",
43
- "type": "address"
44
- },
45
- {
46
- "indexed": true,
47
- "internalType": "address",
48
- "name": "to",
49
- "type": "address"
50
- },
51
- {
52
- "indexed": false,
53
- "internalType": "uint256[]",
54
- "name": "ids",
55
- "type": "uint256[]"
56
- },
57
- {
58
- "indexed": false,
59
- "internalType": "uint256[]",
60
- "name": "values",
61
- "type": "uint256[]"
62
- }
63
- ],
64
- "name": "TransferBatch",
65
- "type": "event"
66
- },
67
- {
68
- "anonymous": false,
69
- "inputs": [
70
- {
71
- "indexed": true,
72
- "internalType": "address",
73
- "name": "operator",
74
- "type": "address"
75
- },
76
- {
77
- "indexed": true,
78
- "internalType": "address",
79
- "name": "from",
80
- "type": "address"
81
- },
82
- {
83
- "indexed": true,
84
- "internalType": "address",
85
- "name": "to",
86
- "type": "address"
87
- },
88
- {
89
- "indexed": false,
90
- "internalType": "uint256",
91
- "name": "id",
92
- "type": "uint256"
93
- },
94
- {
95
- "indexed": false,
96
- "internalType": "uint256",
97
- "name": "value",
98
- "type": "uint256"
99
- }
100
- ],
101
- "name": "TransferSingle",
102
- "type": "event"
103
- },
104
- {
105
- "anonymous": false,
106
- "inputs": [
107
- {
108
- "indexed": false,
109
- "internalType": "string",
110
- "name": "value",
111
- "type": "string"
112
- },
113
- {
114
- "indexed": true,
115
- "internalType": "uint256",
116
- "name": "id",
117
- "type": "uint256"
118
- }
119
- ],
120
- "name": "URI",
121
- "type": "event"
122
- },
123
- {
124
- "inputs": [
125
- {
126
- "internalType": "address",
127
- "name": "account",
128
- "type": "address"
129
- },
130
- {
131
- "internalType": "uint256",
132
- "name": "id",
133
- "type": "uint256"
134
- }
135
- ],
136
- "name": "balanceOf",
137
- "outputs": [
138
- {
139
- "internalType": "uint256",
140
- "name": "",
141
- "type": "uint256"
142
- }
143
- ],
144
- "stateMutability": "view",
145
- "type": "function"
146
- },
147
- {
148
- "inputs": [
149
- {
150
- "internalType": "address[]",
151
- "name": "accounts",
152
- "type": "address[]"
153
- },
154
- {
155
- "internalType": "uint256[]",
156
- "name": "ids",
157
- "type": "uint256[]"
158
- }
159
- ],
160
- "name": "balanceOfBatch",
161
- "outputs": [
162
- {
163
- "internalType": "uint256[]",
164
- "name": "",
165
- "type": "uint256[]"
166
- }
167
- ],
168
- "stateMutability": "view",
169
- "type": "function"
170
- },
171
- {
172
- "inputs": [
173
- {
174
- "internalType": "address",
175
- "name": "account",
176
- "type": "address"
177
- },
178
- {
179
- "internalType": "address",
180
- "name": "operator",
181
- "type": "address"
182
- }
183
- ],
184
- "name": "isApprovedForAll",
185
- "outputs": [
186
- {
187
- "internalType": "bool",
188
- "name": "",
189
- "type": "bool"
190
- }
191
- ],
192
- "stateMutability": "view",
193
- "type": "function"
194
- },
195
- {
196
- "inputs": [
197
- {
198
- "internalType": "address",
199
- "name": "from",
200
- "type": "address"
201
- },
202
- {
203
- "internalType": "address",
204
- "name": "to",
205
- "type": "address"
206
- },
207
- {
208
- "internalType": "uint256[]",
209
- "name": "ids",
210
- "type": "uint256[]"
211
- },
212
- {
213
- "internalType": "uint256[]",
214
- "name": "values",
215
- "type": "uint256[]"
216
- },
217
- {
218
- "internalType": "bytes",
219
- "name": "data",
220
- "type": "bytes"
221
- }
222
- ],
223
- "name": "safeBatchTransferFrom",
224
- "outputs": [],
225
- "stateMutability": "nonpayable",
226
- "type": "function"
227
- },
228
- {
229
- "inputs": [
230
- {
231
- "internalType": "address",
232
- "name": "from",
233
- "type": "address"
234
- },
235
- {
236
- "internalType": "address",
237
- "name": "to",
238
- "type": "address"
239
- },
240
- {
241
- "internalType": "uint256",
242
- "name": "id",
243
- "type": "uint256"
244
- },
245
- {
246
- "internalType": "uint256",
247
- "name": "value",
248
- "type": "uint256"
249
- },
250
- {
251
- "internalType": "bytes",
252
- "name": "data",
253
- "type": "bytes"
254
- }
255
- ],
256
- "name": "safeTransferFrom",
257
- "outputs": [],
258
- "stateMutability": "nonpayable",
259
- "type": "function"
260
- },
261
- {
262
- "inputs": [
263
- {
264
- "internalType": "address",
265
- "name": "operator",
266
- "type": "address"
267
- },
268
- {
269
- "internalType": "bool",
270
- "name": "approved",
271
- "type": "bool"
272
- }
273
- ],
274
- "name": "setApprovalForAll",
275
- "outputs": [],
276
- "stateMutability": "nonpayable",
277
- "type": "function"
278
- },
279
- {
280
- "inputs": [
281
- {
282
- "internalType": "bytes4",
283
- "name": "interfaceId",
284
- "type": "bytes4"
285
- }
286
- ],
287
- "name": "supportsInterface",
288
- "outputs": [
289
- {
290
- "internalType": "bool",
291
- "name": "",
292
- "type": "bool"
293
- }
294
- ],
295
- "stateMutability": "view",
296
- "type": "function"
297
- }
298
- ],
299
- "bytecode": "0x",
300
- "deployedBytecode": "0x",
301
- "linkReferences": {},
302
- "deployedLinkReferences": {},
303
- "devdoc": {
304
- "details": "Required interface of an ERC-1155 compliant contract, as defined in the https://eips.ethereum.org/EIPS/eip-1155[ERC].",
305
- "events": {
306
- "ApprovalForAll(address,address,bool)": {
307
- "details": "Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`."
308
- },
309
- "TransferBatch(address,address,address,uint256[],uint256[])": {
310
- "details": "Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers."
311
- },
312
- "TransferSingle(address,address,address,uint256,uint256)": {
313
- "details": "Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`."
314
- },
315
- "URI(string,uint256)": {
316
- "details": "Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}."
317
- }
318
- },
319
- "kind": "dev",
320
- "methods": {
321
- "balanceOf(address,uint256)": {
322
- "details": "Returns the value of tokens of token type `id` owned by `account`."
323
- },
324
- "balanceOfBatch(address[],uint256[])": {
325
- "details": "xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length."
326
- },
327
- "isApprovedForAll(address,address)": {
328
- "details": "Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}."
329
- },
330
- "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": {
331
- "details": "xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {onERC1155BatchReceived} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments. Requirements: - `ids` and `values` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value."
332
- },
333
- "safeTransferFrom(address,address,uint256,uint256,bytes)": {
334
- "details": "Transfers a `value` amount of tokens of type `id` from `from` to `to`. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {onERC1155Received} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `value` amount. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value."
335
- },
336
- "setApprovalForAll(address,bool)": {
337
- "details": "Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the zero address."
338
- },
339
- "supportsInterface(bytes4)": {
340
- "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
341
- }
342
- },
343
- "version": 1
344
- },
345
- "userdoc": {
346
- "kind": "user",
347
- "methods": {},
348
- "version": 1
349
- },
350
- "evm": {
351
- "gasEstimates": null,
352
- "methodIdentifiers": {
353
- "balanceOf(address,uint256)": "00fdd58e",
354
- "balanceOfBatch(address[],uint256[])": "4e1273f4",
355
- "isApprovedForAll(address,address)": "e985e9c5",
356
- "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6",
357
- "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a",
358
- "setApprovalForAll(address,bool)": "a22cb465",
359
- "supportsInterface(bytes4)": "01ffc9a7"
360
- }
361
- }
362
- }
@@ -1,156 +0,0 @@
1
- {
2
- "contractName": "IERC1155Receiver",
3
- "sourceName": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol",
4
- "abi": [
5
- {
6
- "inputs": [
7
- {
8
- "internalType": "address",
9
- "name": "operator",
10
- "type": "address"
11
- },
12
- {
13
- "internalType": "address",
14
- "name": "from",
15
- "type": "address"
16
- },
17
- {
18
- "internalType": "uint256[]",
19
- "name": "ids",
20
- "type": "uint256[]"
21
- },
22
- {
23
- "internalType": "uint256[]",
24
- "name": "values",
25
- "type": "uint256[]"
26
- },
27
- {
28
- "internalType": "bytes",
29
- "name": "data",
30
- "type": "bytes"
31
- }
32
- ],
33
- "name": "onERC1155BatchReceived",
34
- "outputs": [
35
- {
36
- "internalType": "bytes4",
37
- "name": "",
38
- "type": "bytes4"
39
- }
40
- ],
41
- "stateMutability": "nonpayable",
42
- "type": "function"
43
- },
44
- {
45
- "inputs": [
46
- {
47
- "internalType": "address",
48
- "name": "operator",
49
- "type": "address"
50
- },
51
- {
52
- "internalType": "address",
53
- "name": "from",
54
- "type": "address"
55
- },
56
- {
57
- "internalType": "uint256",
58
- "name": "id",
59
- "type": "uint256"
60
- },
61
- {
62
- "internalType": "uint256",
63
- "name": "value",
64
- "type": "uint256"
65
- },
66
- {
67
- "internalType": "bytes",
68
- "name": "data",
69
- "type": "bytes"
70
- }
71
- ],
72
- "name": "onERC1155Received",
73
- "outputs": [
74
- {
75
- "internalType": "bytes4",
76
- "name": "",
77
- "type": "bytes4"
78
- }
79
- ],
80
- "stateMutability": "nonpayable",
81
- "type": "function"
82
- },
83
- {
84
- "inputs": [
85
- {
86
- "internalType": "bytes4",
87
- "name": "interfaceId",
88
- "type": "bytes4"
89
- }
90
- ],
91
- "name": "supportsInterface",
92
- "outputs": [
93
- {
94
- "internalType": "bool",
95
- "name": "",
96
- "type": "bool"
97
- }
98
- ],
99
- "stateMutability": "view",
100
- "type": "function"
101
- }
102
- ],
103
- "bytecode": "0x",
104
- "deployedBytecode": "0x",
105
- "linkReferences": {},
106
- "deployedLinkReferences": {},
107
- "devdoc": {
108
- "details": "Interface that must be implemented by smart contracts in order to receive ERC-1155 token transfers.",
109
- "kind": "dev",
110
- "methods": {
111
- "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": {
112
- "details": "Handles the receipt of a multiple ERC-1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. NOTE: To accept the transfer(s), this must return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` (i.e. 0xbc197c81, or its own function selector).",
113
- "params": {
114
- "data": "Additional data with no specified format",
115
- "from": "The address which previously owned the token",
116
- "ids": "An array containing ids of each token being transferred (order and length must match values array)",
117
- "operator": "The address which initiated the batch transfer (i.e. msg.sender)",
118
- "values": "An array containing amounts of each token being transferred (order and length must match ids array)"
119
- },
120
- "returns": {
121
- "_0": "`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed"
122
- }
123
- },
124
- "onERC1155Received(address,address,uint256,uint256,bytes)": {
125
- "details": "Handles the receipt of a single ERC-1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. NOTE: To accept the transfer, this must return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` (i.e. 0xf23a6e61, or its own function selector).",
126
- "params": {
127
- "data": "Additional data with no specified format",
128
- "from": "The address which previously owned the token",
129
- "id": "The ID of the token being transferred",
130
- "operator": "The address which initiated the transfer (i.e. msg.sender)",
131
- "value": "The amount of tokens being transferred"
132
- },
133
- "returns": {
134
- "_0": "`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed"
135
- }
136
- },
137
- "supportsInterface(bytes4)": {
138
- "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
139
- }
140
- },
141
- "version": 1
142
- },
143
- "userdoc": {
144
- "kind": "user",
145
- "methods": {},
146
- "version": 1
147
- },
148
- "evm": {
149
- "gasEstimates": null,
150
- "methodIdentifiers": {
151
- "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": "bc197c81",
152
- "onERC1155Received(address,address,uint256,uint256,bytes)": "f23a6e61",
153
- "supportsInterface(bytes4)": "01ffc9a7"
154
- }
155
- }
156
- }