@cartesi/devnet 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/LICENSE +202 -0
  2. package/build/anvil_state.json +1 -0
  3. package/deployments/localhost/.chainId +1 -0
  4. package/deployments/localhost/AuthorityFactory.json +177 -0
  5. package/deployments/localhost/AuthorityHistoryPairFactory.json +276 -0
  6. package/deployments/localhost/Bitmask.json +44 -0
  7. package/deployments/localhost/CartesiDAppFactory.json +231 -0
  8. package/deployments/localhost/CartesiMathV2.json +213 -0
  9. package/deployments/localhost/DAppAddressRelay.json +102 -0
  10. package/deployments/localhost/ERC1155BatchPortal.json +133 -0
  11. package/deployments/localhost/ERC1155SinglePortal.json +132 -0
  12. package/deployments/localhost/ERC20Portal.json +120 -0
  13. package/deployments/localhost/ERC721Portal.json +126 -0
  14. package/deployments/localhost/EtherPortal.json +121 -0
  15. package/deployments/localhost/HistoryFactory.json +177 -0
  16. package/deployments/localhost/InputBox.json +207 -0
  17. package/deployments/localhost/MerkleV2.json +217 -0
  18. package/deployments/localhost/SelfHostedApplicationFactory.json +226 -0
  19. package/deployments/localhost/TestMultiToken.json +829 -0
  20. package/deployments/localhost/TestNFT.json +891 -0
  21. package/deployments/localhost/TestToken.json +1079 -0
  22. package/deployments/localhost/UnrolledCordic.json +54 -0
  23. package/dist/deploy/01_token.js +15 -0
  24. package/dist/deploy/02_nft.js +15 -0
  25. package/dist/deploy/03_multitoken.js +15 -0
  26. package/dist/src/tasks/deploy-anvil.d.ts +6 -0
  27. package/dist/src/tasks/deploy-anvil.d.ts.map +1 -0
  28. package/dist/src/tasks/deploy-anvil.js +38 -0
  29. package/export/abi/localhost.json +3205 -0
  30. package/export/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +128 -0
  31. package/export/artifacts/@openzeppelin/contracts/access/manager/AccessManaged.sol/AccessManaged.json +137 -0
  32. package/export/artifacts/@openzeppelin/contracts/access/manager/AuthorityUtils.sol/AuthorityUtils.json +32 -0
  33. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManaged.sol/IAccessManaged.json +133 -0
  34. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +1251 -0
  35. package/export/artifacts/@openzeppelin/contracts/access/manager/IAuthority.sol/IAuthority.json +60 -0
  36. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +401 -0
  37. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC5267.sol/IERC5267.json +84 -0
  38. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +190 -0
  39. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +165 -0
  40. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +197 -0
  41. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +553 -0
  42. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +362 -0
  43. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +156 -0
  44. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +385 -0
  45. package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +436 -0
  46. package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +242 -0
  47. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +472 -0
  48. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +502 -0
  49. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +695 -0
  50. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +293 -0
  51. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +114 -0
  52. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +595 -0
  53. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +363 -0
  54. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +66 -0
  55. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +630 -0
  56. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +421 -0
  57. package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +38 -0
  58. package/export/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +24 -0
  59. package/export/artifacts/@openzeppelin/contracts/utils/Nonces.sol/Nonces.json +73 -0
  60. package/export/artifacts/@openzeppelin/contracts/utils/Pausable.sol/Pausable.json +103 -0
  61. package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +55 -0
  62. package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +40 -0
  63. package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +62 -0
  64. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +84 -0
  65. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +105 -0
  66. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +36 -0
  67. package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +50 -0
  68. package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +50 -0
  69. package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +65 -0
  70. package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +173 -0
  71. package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +36 -0
  72. package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +41 -0
  73. package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +750 -0
  74. package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +779 -0
  75. package/export/artifacts/contracts/TestToken.sol/TestToken.json +963 -0
  76. package/package.json +41 -0
@@ -0,0 +1,133 @@
1
+ {
2
+ "address": "0xedB53860A6B52bbb7561Ad596416ee9965B055Aa",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "contract IInputBox",
8
+ "name": "_inputBox",
9
+ "type": "address"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "inputs": [
17
+ {
18
+ "internalType": "contract IERC1155",
19
+ "name": "_token",
20
+ "type": "address"
21
+ },
22
+ {
23
+ "internalType": "address",
24
+ "name": "_dapp",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "internalType": "uint256[]",
29
+ "name": "_tokenIds",
30
+ "type": "uint256[]"
31
+ },
32
+ {
33
+ "internalType": "uint256[]",
34
+ "name": "_values",
35
+ "type": "uint256[]"
36
+ },
37
+ {
38
+ "internalType": "bytes",
39
+ "name": "_baseLayerData",
40
+ "type": "bytes"
41
+ },
42
+ {
43
+ "internalType": "bytes",
44
+ "name": "_execLayerData",
45
+ "type": "bytes"
46
+ }
47
+ ],
48
+ "name": "depositBatchERC1155Token",
49
+ "outputs": [],
50
+ "stateMutability": "nonpayable",
51
+ "type": "function"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "getInputBox",
56
+ "outputs": [
57
+ {
58
+ "internalType": "contract IInputBox",
59
+ "name": "",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "stateMutability": "view",
64
+ "type": "function"
65
+ }
66
+ ],
67
+ "transactionHash": "0x02f3d30192da13bd4e26ecedd7e205affca846b18a406d08ee5b306eee6d81a1",
68
+ "receipt": {
69
+ "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
70
+ "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
71
+ "contractAddress": null,
72
+ "transactionIndex": 0,
73
+ "gasUsed": "370950",
74
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
75
+ "blockHash": "0x64d0464dcec029c34ee809028f74bc0d120d7daf0d74d184227d8e4e4889d8ee",
76
+ "transactionHash": "0x02f3d30192da13bd4e26ecedd7e205affca846b18a406d08ee5b306eee6d81a1",
77
+ "logs": [],
78
+ "blockNumber": 12,
79
+ "cumulativeGasUsed": "370950",
80
+ "status": 1,
81
+ "byzantium": true
82
+ },
83
+ "args": [
84
+ "0x59b22D57D4f067708AB0c00552767405926dc768"
85
+ ],
86
+ "numDeployments": 1,
87
+ "bytecode": "0x60a060405234801561001057600080fd5b5060405161064538038061064583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516105b461009160003960008181603c015261012601526105b46000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a57806324d15c6714610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046102c1565b61008c565b005b604051631759616b60e11b81526001600160a01b038b1690632eb2c2d6906100c69033908d908d908d908d908d908d908d90600401610404565b600060405180830381600087803b1580156100e057600080fd5b505af11580156100f4573d6000803e3d6000fd5b50505050600061010c8b338b8b8b8b8b8b8b8b6101ae565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015d908d90859060040161048c565b6020604051808303816000875af115801561017c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a091906104ce565b505050505050505050505050565b6060600089898989898989896040516020016101d19897969594939291906104e7565b60405160208183030381529060405290508b8b826040516020016101f793929190610538565b6040516020818303038152906040529150509a9950505050505050505050565b80356001600160a01b038116811461022e57600080fd5b919050565b60008083601f84011261024557600080fd5b50813567ffffffffffffffff81111561025d57600080fd5b6020830191508360208260051b850101111561027857600080fd5b9250929050565b60008083601f84011261029157600080fd5b50813567ffffffffffffffff8111156102a957600080fd5b60208301915083602082850101111561027857600080fd5b60008060008060008060008060008060c08b8d0312156102e057600080fd5b6102e98b610217565b99506102f760208c01610217565b985060408b013567ffffffffffffffff8082111561031457600080fd5b6103208e838f01610233565b909a50985060608d013591508082111561033957600080fd5b6103458e838f01610233565b909850965060808d013591508082111561035e57600080fd5b61036a8e838f0161027f565b909650945060a08d013591508082111561038357600080fd5b506103908d828e0161027f565b915080935050809150509295989b9194979a5092959850565b81835260006001600160fb1b038311156103c257600080fd5b8260051b80836020870137939093016020019392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0389811682528816602082015260a060408201819052600090610431908301888a6103a9565b82810360608401526104448187896103a9565b905082810360808401526104598185876103db565b9b9a5050505050505050505050565b60005b8381101561048357818101518382015260200161046b565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526104b9816060850160208701610468565b601f01601f1916919091016060019392505050565b6000602082840312156104e057600080fd5b5051919050565b6080815260006104fb608083018a8c6103a9565b828103602084015261050e81898b6103a9565b905082810360408401526105238187896103db565b905082810360608401526104598185876103db565b60006bffffffffffffffffffffffff19808660601b168352808560601b16601484015250825161056f816028850160208701610468565b9190910160280194935050505056fea2646970667358221220b1261ceaf7c0f69c5d0d611864ae36802a7987738f02b3c9f93c1843357f32eb64736f6c63430008130033",
88
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a57806324d15c6714610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046102c1565b61008c565b005b604051631759616b60e11b81526001600160a01b038b1690632eb2c2d6906100c69033908d908d908d908d908d908d908d90600401610404565b600060405180830381600087803b1580156100e057600080fd5b505af11580156100f4573d6000803e3d6000fd5b50505050600061010c8b338b8b8b8b8b8b8b8b6101ae565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015d908d90859060040161048c565b6020604051808303816000875af115801561017c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a091906104ce565b505050505050505050505050565b6060600089898989898989896040516020016101d19897969594939291906104e7565b60405160208183030381529060405290508b8b826040516020016101f793929190610538565b6040516020818303038152906040529150509a9950505050505050505050565b80356001600160a01b038116811461022e57600080fd5b919050565b60008083601f84011261024557600080fd5b50813567ffffffffffffffff81111561025d57600080fd5b6020830191508360208260051b850101111561027857600080fd5b9250929050565b60008083601f84011261029157600080fd5b50813567ffffffffffffffff8111156102a957600080fd5b60208301915083602082850101111561027857600080fd5b60008060008060008060008060008060c08b8d0312156102e057600080fd5b6102e98b610217565b99506102f760208c01610217565b985060408b013567ffffffffffffffff8082111561031457600080fd5b6103208e838f01610233565b909a50985060608d013591508082111561033957600080fd5b6103458e838f01610233565b909850965060808d013591508082111561035e57600080fd5b61036a8e838f0161027f565b909650945060a08d013591508082111561038357600080fd5b506103908d828e0161027f565b915080935050809150509295989b9194979a5092959850565b81835260006001600160fb1b038311156103c257600080fd5b8260051b80836020870137939093016020019392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0389811682528816602082015260a060408201819052600090610431908301888a6103a9565b82810360608401526104448187896103a9565b905082810360808401526104598185876103db565b9b9a5050505050505050505050565b60005b8381101561048357818101518382015260200161046b565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526104b9816060850160208701610468565b601f01601f1916919091016060019392505050565b6000602082840312156104e057600080fd5b5051919050565b6080815260006104fb608083018a8c6103a9565b828103602084015261050e81898b6103a9565b905082810360408401526105238187896103db565b905082810360608401526104598185876103db565b60006bffffffffffffffffffffffff19808660601b168352808560601b16601484015250825161056f816028850160208701610468565b9190910160280194935050505056fea2646970667358221220b1261ceaf7c0f69c5d0d611864ae36802a7987738f02b3c9f93c1843357f32eb64736f6c63430008130033",
89
+ "devdoc": {
90
+ "kind": "dev",
91
+ "methods": {
92
+ "constructor": {
93
+ "params": {
94
+ "_inputBox": "The input box used by the portal"
95
+ }
96
+ },
97
+ "depositBatchERC1155Token(address,address,uint256[],uint256[],bytes,bytes)": {
98
+ "details": "Please make sure `_tokenIds` and `_values` have the same length.",
99
+ "params": {
100
+ "_baseLayerData": "Additional data to be interpreted by the base layer",
101
+ "_dapp": "The address of the DApp",
102
+ "_execLayerData": "Additional data to be interpreted by the execution layer",
103
+ "_token": "The ERC-1155 token contract",
104
+ "_tokenIds": "The identifiers of the tokens being transferred",
105
+ "_values": "Transfer amounts per token type"
106
+ }
107
+ },
108
+ "getInputBox()": {
109
+ "returns": {
110
+ "_0": "The input box"
111
+ }
112
+ }
113
+ },
114
+ "title": "ERC-1155 Batch Transfer Portal",
115
+ "version": 1
116
+ },
117
+ "userdoc": {
118
+ "kind": "user",
119
+ "methods": {
120
+ "constructor": {
121
+ "notice": "Constructs the portal."
122
+ },
123
+ "depositBatchERC1155Token(address,address,uint256[],uint256[],bytes,bytes)": {
124
+ "notice": "Transfer a batch of ERC-1155 tokens to a DApp and add an input to the DApp's input box to signal such operation. The caller must enable approval for the portal to manage all of their tokens beforehand, by calling the `setApprovalForAll` function in the token contract."
125
+ },
126
+ "getInputBox()": {
127
+ "notice": "Get the input box used by this input relay."
128
+ }
129
+ },
130
+ "notice": "This contract allows anyone to perform batch transfers of ERC-1155 tokens to a DApp while informing the off-chain machine.",
131
+ "version": 1
132
+ }
133
+ }
@@ -0,0 +1,132 @@
1
+ {
2
+ "address": "0x7CFB0193Ca87eB6e48056885E026552c3A941FC4",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "contract IInputBox",
8
+ "name": "_inputBox",
9
+ "type": "address"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "inputs": [
17
+ {
18
+ "internalType": "contract IERC1155",
19
+ "name": "_token",
20
+ "type": "address"
21
+ },
22
+ {
23
+ "internalType": "address",
24
+ "name": "_dapp",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "internalType": "uint256",
29
+ "name": "_tokenId",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "internalType": "uint256",
34
+ "name": "_value",
35
+ "type": "uint256"
36
+ },
37
+ {
38
+ "internalType": "bytes",
39
+ "name": "_baseLayerData",
40
+ "type": "bytes"
41
+ },
42
+ {
43
+ "internalType": "bytes",
44
+ "name": "_execLayerData",
45
+ "type": "bytes"
46
+ }
47
+ ],
48
+ "name": "depositSingleERC1155Token",
49
+ "outputs": [],
50
+ "stateMutability": "nonpayable",
51
+ "type": "function"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "getInputBox",
56
+ "outputs": [
57
+ {
58
+ "internalType": "contract IInputBox",
59
+ "name": "",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "stateMutability": "view",
64
+ "type": "function"
65
+ }
66
+ ],
67
+ "transactionHash": "0x0ed7d437aef36f01832adffc8e79891e3ffc387a753c52354e44e81d58c7cb71",
68
+ "receipt": {
69
+ "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
70
+ "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
71
+ "contractAddress": null,
72
+ "transactionIndex": 0,
73
+ "gasUsed": "317542",
74
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
75
+ "blockHash": "0x25d755c61f9cdb77a17362cec7d18c32a68f844900ec6b016c2dcfbc93d04701",
76
+ "transactionHash": "0x0ed7d437aef36f01832adffc8e79891e3ffc387a753c52354e44e81d58c7cb71",
77
+ "logs": [],
78
+ "blockNumber": 11,
79
+ "cumulativeGasUsed": "317542",
80
+ "status": 1,
81
+ "byzantium": true
82
+ },
83
+ "args": [
84
+ "0x59b22D57D4f067708AB0c00552767405926dc768"
85
+ ],
86
+ "numDeployments": 1,
87
+ "bytecode": "0x60a060405234801561001057600080fd5b5060405161054e38038061054e83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516104bd61009160003960008181603c015261012001526104bd6000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a578063dec07dca14610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a61008536600461026a565b61008c565b005b604051637921219560e11b81526001600160a01b0389169063f242432a906100c29033908b908b908b908b908b9060040161033b565b600060405180830381600087803b1580156100dc57600080fd5b505af11580156100f0573d6000803e3d6000fd5b50505050600061010689338989898989896101a6565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd6390610157908b9085906004016103a6565b6020604051808303816000875af1158015610176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019a91906103e8565b50505050505050505050565b60606000858585856040516020016101c19493929190610401565b604051602081830303815290604052905089898989846040516020016101eb959493929190610433565b60405160208183030381529060405291505098975050505050505050565b6001600160a01b038116811461021e57600080fd5b50565b60008083601f84011261023357600080fd5b50813567ffffffffffffffff81111561024b57600080fd5b60208301915083602082850101111561026357600080fd5b9250929050565b60008060008060008060008060c0898b03121561028657600080fd5b883561029181610209565b975060208901356102a181610209565b96506040890135955060608901359450608089013567ffffffffffffffff808211156102cc57600080fd5b6102d88c838d01610221565b909650945060a08b01359150808211156102f157600080fd5b506102fe8b828c01610221565b999c989b5096995094979396929594505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a0608082018190526000906103769083018486610312565b98975050505050505050565b60005b8381101561039d578181015183820152602001610385565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526103d3816060850160208701610382565b601f01601f1916919091016060019392505050565b6000602082840312156103fa57600080fd5b5051919050565b604081526000610415604083018688610312565b8281036020840152610428818587610312565b979650505050505050565b60006bffffffffffffffffffffffff19808860601b168352808760601b166014840152508460288301528360488301528251610476816068850160208701610382565b91909101606801969550505050505056fea26469706673582212208a2be17b506fdeea2c29cef703e184884f695e71e9147dce06da5055620ed53364736f6c63430008130033",
88
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a578063dec07dca14610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a61008536600461026a565b61008c565b005b604051637921219560e11b81526001600160a01b0389169063f242432a906100c29033908b908b908b908b908b9060040161033b565b600060405180830381600087803b1580156100dc57600080fd5b505af11580156100f0573d6000803e3d6000fd5b50505050600061010689338989898989896101a6565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd6390610157908b9085906004016103a6565b6020604051808303816000875af1158015610176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019a91906103e8565b50505050505050505050565b60606000858585856040516020016101c19493929190610401565b604051602081830303815290604052905089898989846040516020016101eb959493929190610433565b60405160208183030381529060405291505098975050505050505050565b6001600160a01b038116811461021e57600080fd5b50565b60008083601f84011261023357600080fd5b50813567ffffffffffffffff81111561024b57600080fd5b60208301915083602082850101111561026357600080fd5b9250929050565b60008060008060008060008060c0898b03121561028657600080fd5b883561029181610209565b975060208901356102a181610209565b96506040890135955060608901359450608089013567ffffffffffffffff808211156102cc57600080fd5b6102d88c838d01610221565b909650945060a08b01359150808211156102f157600080fd5b506102fe8b828c01610221565b999c989b5096995094979396929594505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a0608082018190526000906103769083018486610312565b98975050505050505050565b60005b8381101561039d578181015183820152602001610385565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526103d3816060850160208701610382565b601f01601f1916919091016060019392505050565b6000602082840312156103fa57600080fd5b5051919050565b604081526000610415604083018688610312565b8281036020840152610428818587610312565b979650505050505050565b60006bffffffffffffffffffffffff19808860601b168352808760601b166014840152508460288301528360488301528251610476816068850160208701610382565b91909101606801969550505050505056fea26469706673582212208a2be17b506fdeea2c29cef703e184884f695e71e9147dce06da5055620ed53364736f6c63430008130033",
89
+ "devdoc": {
90
+ "kind": "dev",
91
+ "methods": {
92
+ "constructor": {
93
+ "params": {
94
+ "_inputBox": "The input box used by the portal"
95
+ }
96
+ },
97
+ "depositSingleERC1155Token(address,address,uint256,uint256,bytes,bytes)": {
98
+ "params": {
99
+ "_baseLayerData": "Additional data to be interpreted by the base layer",
100
+ "_dapp": "The address of the DApp",
101
+ "_execLayerData": "Additional data to be interpreted by the execution layer",
102
+ "_token": "The ERC-1155 token contract",
103
+ "_tokenId": "The identifier of the token being transferred",
104
+ "_value": "Transfer amount"
105
+ }
106
+ },
107
+ "getInputBox()": {
108
+ "returns": {
109
+ "_0": "The input box"
110
+ }
111
+ }
112
+ },
113
+ "title": "ERC-1155 Single Transfer Portal",
114
+ "version": 1
115
+ },
116
+ "userdoc": {
117
+ "kind": "user",
118
+ "methods": {
119
+ "constructor": {
120
+ "notice": "Constructs the portal."
121
+ },
122
+ "depositSingleERC1155Token(address,address,uint256,uint256,bytes,bytes)": {
123
+ "notice": "Transfer an ERC-1155 token to a DApp and add an input to the DApp's input box to signal such operation. The caller must enable approval for the portal to manage all of their tokens beforehand, by calling the `setApprovalForAll` function in the token contract."
124
+ },
125
+ "getInputBox()": {
126
+ "notice": "Get the input box used by this input relay."
127
+ }
128
+ },
129
+ "notice": "This contract allows anyone to perform single transfers of ERC-1155 tokens to a DApp while informing the off-chain machine.",
130
+ "version": 1
131
+ }
132
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "address": "0x9C21AEb2093C32DDbC53eEF24B873BDCd1aDa1DB",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "contract IInputBox",
8
+ "name": "_inputBox",
9
+ "type": "address"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "inputs": [
17
+ {
18
+ "internalType": "contract IERC20",
19
+ "name": "_token",
20
+ "type": "address"
21
+ },
22
+ {
23
+ "internalType": "address",
24
+ "name": "_dapp",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "internalType": "uint256",
29
+ "name": "_amount",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "internalType": "bytes",
34
+ "name": "_execLayerData",
35
+ "type": "bytes"
36
+ }
37
+ ],
38
+ "name": "depositERC20Tokens",
39
+ "outputs": [],
40
+ "stateMutability": "nonpayable",
41
+ "type": "function"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "getInputBox",
46
+ "outputs": [
47
+ {
48
+ "internalType": "contract IInputBox",
49
+ "name": "",
50
+ "type": "address"
51
+ }
52
+ ],
53
+ "stateMutability": "view",
54
+ "type": "function"
55
+ }
56
+ ],
57
+ "transactionHash": "0xd4b264a492a0cc0d613f5ce3ea21f063148ca715f7f806c9e63d49fb49d12730",
58
+ "receipt": {
59
+ "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
60
+ "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
61
+ "contractAddress": null,
62
+ "transactionIndex": 0,
63
+ "gasUsed": "265834",
64
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
65
+ "blockHash": "0x571bfd3d49b1757f24709e34e9a2ecb710c687cbb998c3ac2594d86e8977bf63",
66
+ "transactionHash": "0xd4b264a492a0cc0d613f5ce3ea21f063148ca715f7f806c9e63d49fb49d12730",
67
+ "logs": [],
68
+ "blockNumber": 9,
69
+ "cumulativeGasUsed": "265834",
70
+ "status": 1,
71
+ "byzantium": true
72
+ },
73
+ "args": [
74
+ "0x59b22D57D4f067708AB0c00552767405926dc768"
75
+ ],
76
+ "numDeployments": 1,
77
+ "bytecode": "0x60a060405234801561001057600080fd5b5060405161045f38038061045f83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516103ce61009160003960008181603c015261013501526103ce6000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a57806395854b8114610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a610085366004610209565b61008c565b005b6040516323b872dd60e01b81523360048201526001600160a01b03858116602483015260448201859052600091908716906323b872dd906064016020604051808303816000875af11580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906102a8565b9050600061011b8288338888886101b9565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061016c90899085906004016102d1565b6020604051808303816000875af115801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af919061032f565b5050505050505050565b60608686868686866040516020016101d696959493929190610348565b60405160208183030381529060405290509695505050505050565b6001600160a01b038116811461020657600080fd5b50565b60008060008060006080868803121561022157600080fd5b853561022c816101f1565b9450602086013561023c816101f1565b935060408601359250606086013567ffffffffffffffff8082111561026057600080fd5b818801915088601f83011261027457600080fd5b81358181111561028357600080fd5b89602082850101111561029557600080fd5b9699959850939650602001949392505050565b6000602082840312156102ba57600080fd5b815180151581146102ca57600080fd5b9392505050565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561030d578581018301518582016060015282016102f1565b506000606082860101526060601f19601f830116850101925050509392505050565b60006020828403121561034157600080fd5b5051919050565b86151560f81b815260006bffffffffffffffffffffffff19808860601b166001840152808760601b166015840152508460298301528284604984013750600091016049019081529594505050505056fea26469706673582212205635c4a24e9e9f5e128a69b633d53f24838d8833b76e4fca1f3bf3b490e380c664736f6c63430008130033",
78
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a57806395854b8114610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a610085366004610209565b61008c565b005b6040516323b872dd60e01b81523360048201526001600160a01b03858116602483015260448201859052600091908716906323b872dd906064016020604051808303816000875af11580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906102a8565b9050600061011b8288338888886101b9565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061016c90899085906004016102d1565b6020604051808303816000875af115801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af919061032f565b5050505050505050565b60608686868686866040516020016101d696959493929190610348565b60405160208183030381529060405290509695505050505050565b6001600160a01b038116811461020657600080fd5b50565b60008060008060006080868803121561022157600080fd5b853561022c816101f1565b9450602086013561023c816101f1565b935060408601359250606086013567ffffffffffffffff8082111561026057600080fd5b818801915088601f83011261027457600080fd5b81358181111561028357600080fd5b89602082850101111561029557600080fd5b9699959850939650602001949392505050565b6000602082840312156102ba57600080fd5b815180151581146102ca57600080fd5b9392505050565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561030d578581018301518582016060015282016102f1565b506000606082860101526060601f19601f830116850101925050509392505050565b60006020828403121561034157600080fd5b5051919050565b86151560f81b815260006bffffffffffffffffffffffff19808860601b166001840152808760601b166015840152508460298301528284604984013750600091016049019081529594505050505056fea26469706673582212205635c4a24e9e9f5e128a69b633d53f24838d8833b76e4fca1f3bf3b490e380c664736f6c63430008130033",
79
+ "devdoc": {
80
+ "kind": "dev",
81
+ "methods": {
82
+ "constructor": {
83
+ "params": {
84
+ "_inputBox": "The input box used by the portal"
85
+ }
86
+ },
87
+ "depositERC20Tokens(address,address,uint256,bytes)": {
88
+ "params": {
89
+ "_amount": "The amount of tokens to be transferred",
90
+ "_dapp": "The address of the DApp",
91
+ "_execLayerData": "Additional data to be interpreted by the execution layer",
92
+ "_token": "The ERC-20 token contract"
93
+ }
94
+ },
95
+ "getInputBox()": {
96
+ "returns": {
97
+ "_0": "The input box"
98
+ }
99
+ }
100
+ },
101
+ "title": "ERC-20 Portal",
102
+ "version": 1
103
+ },
104
+ "userdoc": {
105
+ "kind": "user",
106
+ "methods": {
107
+ "constructor": {
108
+ "notice": "Constructs the portal."
109
+ },
110
+ "depositERC20Tokens(address,address,uint256,bytes)": {
111
+ "notice": "Transfer ERC-20 tokens to a DApp and add an input to the DApp's input box to signal such operation. The caller must allow the portal to withdraw at least `_amount` tokens from their account beforehand, by calling the `approve` function in the token contract."
112
+ },
113
+ "getInputBox()": {
114
+ "notice": "Get the input box used by this input relay."
115
+ }
116
+ },
117
+ "notice": "This contract allows anyone to perform transfers of ERC-20 tokens to a DApp while informing the off-chain machine.",
118
+ "version": 1
119
+ }
120
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "address": "0x237F8DD094C0e47f4236f12b4Fa01d6Dae89fb87",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "contract IInputBox",
8
+ "name": "_inputBox",
9
+ "type": "address"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "inputs": [
17
+ {
18
+ "internalType": "contract IERC721",
19
+ "name": "_token",
20
+ "type": "address"
21
+ },
22
+ {
23
+ "internalType": "address",
24
+ "name": "_dapp",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "internalType": "uint256",
29
+ "name": "_tokenId",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "internalType": "bytes",
34
+ "name": "_baseLayerData",
35
+ "type": "bytes"
36
+ },
37
+ {
38
+ "internalType": "bytes",
39
+ "name": "_execLayerData",
40
+ "type": "bytes"
41
+ }
42
+ ],
43
+ "name": "depositERC721Token",
44
+ "outputs": [],
45
+ "stateMutability": "nonpayable",
46
+ "type": "function"
47
+ },
48
+ {
49
+ "inputs": [],
50
+ "name": "getInputBox",
51
+ "outputs": [
52
+ {
53
+ "internalType": "contract IInputBox",
54
+ "name": "",
55
+ "type": "address"
56
+ }
57
+ ],
58
+ "stateMutability": "view",
59
+ "type": "function"
60
+ }
61
+ ],
62
+ "transactionHash": "0xbf074e2b76dcc35c0faa78aa84349e551eea3ec53e492705bb297396db10af3c",
63
+ "receipt": {
64
+ "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
65
+ "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
66
+ "contractAddress": null,
67
+ "transactionIndex": 0,
68
+ "gasUsed": "308450",
69
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
70
+ "blockHash": "0xb4f1598cafdbffdfe57a19330f4a6a3988846733a213096a827ff2892a33b4fa",
71
+ "transactionHash": "0xbf074e2b76dcc35c0faa78aa84349e551eea3ec53e492705bb297396db10af3c",
72
+ "logs": [],
73
+ "blockNumber": 10,
74
+ "cumulativeGasUsed": "308450",
75
+ "status": 1,
76
+ "byzantium": true
77
+ },
78
+ "args": [
79
+ "0x59b22D57D4f067708AB0c00552767405926dc768"
80
+ ],
81
+ "numDeployments": 1,
82
+ "bytecode": "0x60a060405234801561001057600080fd5b5060405161052438038061052483398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161049361009160003960008181603c015261011d01526104936000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a57806328911e8314610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a610085366004610263565b61008c565b005b604051635c46a7ef60e11b81526001600160a01b0388169063b88d4fde906100c09033908a908a908a908a9060040161032b565b600060405180830381600087803b1580156100da57600080fd5b505af11580156100ee573d6000803e3d6000fd5b505050506000610103883388888888886101a2565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd6390610154908a90859060040161038e565b6020604051808303816000875af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019791906103d0565b505050505050505050565b60606000858585856040516020016101bd94939291906103e9565b6040516020818303038152906040529050888888836040516020016101e59493929190610410565b604051602081830303815290604052915050979650505050505050565b6001600160a01b038116811461021757600080fd5b50565b60008083601f84011261022c57600080fd5b50813567ffffffffffffffff81111561024457600080fd5b60208301915083602082850101111561025c57600080fd5b9250929050565b600080600080600080600060a0888a03121561027e57600080fd5b873561028981610202565b9650602088013561029981610202565b955060408801359450606088013567ffffffffffffffff808211156102bd57600080fd5b6102c98b838c0161021a565b909650945060808a01359150808211156102e257600080fd5b506102ef8a828b0161021a565b989b979a50959850939692959293505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038681168252851660208201526040810184905260806060820181905260009061035f9083018486610302565b979650505050505050565b60005b8381101561038557818101518382015260200161036d565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526103bb81606085016020870161036a565b601f01601f1916919091016060019392505050565b6000602082840312156103e257600080fd5b5051919050565b6040815260006103fd604083018688610302565b828103602084015261035f818587610302565b60006bffffffffffffffffffffffff19808760601b168352808660601b16601484015250836028830152825161044d81604885016020870161036a565b919091016048019594505050505056fea2646970667358221220c2c237b79e46918de25850a3a3944f2f3cce2d65223f9c2c4e6fefb21e70609864736f6c63430008130033",
83
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a57806328911e8314610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a610085366004610263565b61008c565b005b604051635c46a7ef60e11b81526001600160a01b0388169063b88d4fde906100c09033908a908a908a908a9060040161032b565b600060405180830381600087803b1580156100da57600080fd5b505af11580156100ee573d6000803e3d6000fd5b505050506000610103883388888888886101a2565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd6390610154908a90859060040161038e565b6020604051808303816000875af1158015610173573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019791906103d0565b505050505050505050565b60606000858585856040516020016101bd94939291906103e9565b6040516020818303038152906040529050888888836040516020016101e59493929190610410565b604051602081830303815290604052915050979650505050505050565b6001600160a01b038116811461021757600080fd5b50565b60008083601f84011261022c57600080fd5b50813567ffffffffffffffff81111561024457600080fd5b60208301915083602082850101111561025c57600080fd5b9250929050565b600080600080600080600060a0888a03121561027e57600080fd5b873561028981610202565b9650602088013561029981610202565b955060408801359450606088013567ffffffffffffffff808211156102bd57600080fd5b6102c98b838c0161021a565b909650945060808a01359150808211156102e257600080fd5b506102ef8a828b0161021a565b989b979a50959850939692959293505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038681168252851660208201526040810184905260806060820181905260009061035f9083018486610302565b979650505050505050565b60005b8381101561038557818101518382015260200161036d565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526103bb81606085016020870161036a565b601f01601f1916919091016060019392505050565b6000602082840312156103e257600080fd5b5051919050565b6040815260006103fd604083018688610302565b828103602084015261035f818587610302565b60006bffffffffffffffffffffffff19808760601b168352808660601b16601484015250836028830152825161044d81604885016020870161036a565b919091016048019594505050505056fea2646970667358221220c2c237b79e46918de25850a3a3944f2f3cce2d65223f9c2c4e6fefb21e70609864736f6c63430008130033",
84
+ "devdoc": {
85
+ "kind": "dev",
86
+ "methods": {
87
+ "constructor": {
88
+ "params": {
89
+ "_inputBox": "The input box used by the portal"
90
+ }
91
+ },
92
+ "depositERC721Token(address,address,uint256,bytes,bytes)": {
93
+ "params": {
94
+ "_baseLayerData": "Additional data to be interpreted by the base layer",
95
+ "_dapp": "The address of the DApp",
96
+ "_execLayerData": "Additional data to be interpreted by the execution layer",
97
+ "_token": "The ERC-721 token contract",
98
+ "_tokenId": "The identifier of the token being transferred"
99
+ }
100
+ },
101
+ "getInputBox()": {
102
+ "returns": {
103
+ "_0": "The input box"
104
+ }
105
+ }
106
+ },
107
+ "title": "ERC-721 Portal",
108
+ "version": 1
109
+ },
110
+ "userdoc": {
111
+ "kind": "user",
112
+ "methods": {
113
+ "constructor": {
114
+ "notice": "Constructs the portal."
115
+ },
116
+ "depositERC721Token(address,address,uint256,bytes,bytes)": {
117
+ "notice": "Transfer an ERC-721 token to a DApp and add an input to the DApp's input box to signal such operation. The caller must change the approved address for the ERC-721 token to the portal address beforehand, by calling the `approve` function in the token contract."
118
+ },
119
+ "getInputBox()": {
120
+ "notice": "Get the input box used by this input relay."
121
+ }
122
+ },
123
+ "notice": "This contract allows anyone to perform transfers of ERC-721 tokens to a DApp while informing the off-chain machine.",
124
+ "version": 1
125
+ }
126
+ }