@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.
- package/LICENSE +202 -0
- package/build/anvil_state.json +1 -0
- package/deployments/localhost/.chainId +1 -0
- package/deployments/localhost/AuthorityFactory.json +177 -0
- package/deployments/localhost/AuthorityHistoryPairFactory.json +276 -0
- package/deployments/localhost/Bitmask.json +44 -0
- package/deployments/localhost/CartesiDAppFactory.json +231 -0
- package/deployments/localhost/CartesiMathV2.json +213 -0
- package/deployments/localhost/DAppAddressRelay.json +102 -0
- package/deployments/localhost/ERC1155BatchPortal.json +133 -0
- package/deployments/localhost/ERC1155SinglePortal.json +132 -0
- package/deployments/localhost/ERC20Portal.json +120 -0
- package/deployments/localhost/ERC721Portal.json +126 -0
- package/deployments/localhost/EtherPortal.json +121 -0
- package/deployments/localhost/HistoryFactory.json +177 -0
- package/deployments/localhost/InputBox.json +207 -0
- package/deployments/localhost/MerkleV2.json +217 -0
- package/deployments/localhost/SelfHostedApplicationFactory.json +226 -0
- package/deployments/localhost/TestMultiToken.json +829 -0
- package/deployments/localhost/TestNFT.json +891 -0
- package/deployments/localhost/TestToken.json +1079 -0
- package/deployments/localhost/UnrolledCordic.json +54 -0
- package/dist/deploy/01_token.js +15 -0
- package/dist/deploy/02_nft.js +15 -0
- package/dist/deploy/03_multitoken.js +15 -0
- package/dist/src/tasks/deploy-anvil.d.ts +6 -0
- package/dist/src/tasks/deploy-anvil.d.ts.map +1 -0
- package/dist/src/tasks/deploy-anvil.js +38 -0
- package/export/abi/localhost.json +3205 -0
- package/export/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +128 -0
- package/export/artifacts/@openzeppelin/contracts/access/manager/AccessManaged.sol/AccessManaged.json +137 -0
- package/export/artifacts/@openzeppelin/contracts/access/manager/AuthorityUtils.sol/AuthorityUtils.json +32 -0
- package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManaged.sol/IAccessManaged.json +133 -0
- package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +1251 -0
- package/export/artifacts/@openzeppelin/contracts/access/manager/IAuthority.sol/IAuthority.json +60 -0
- package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +401 -0
- package/export/artifacts/@openzeppelin/contracts/interfaces/IERC5267.sol/IERC5267.json +84 -0
- package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +190 -0
- package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +165 -0
- package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +197 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +553 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +362 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +156 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +385 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +436 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +242 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +472 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +502 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +695 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +293 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +114 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +595 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +363 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +66 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +630 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +421 -0
- package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +38 -0
- package/export/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +24 -0
- package/export/artifacts/@openzeppelin/contracts/utils/Nonces.sol/Nonces.json +73 -0
- package/export/artifacts/@openzeppelin/contracts/utils/Pausable.sol/Pausable.json +103 -0
- package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +55 -0
- package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +40 -0
- package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +62 -0
- package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +84 -0
- package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +105 -0
- package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +36 -0
- package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +50 -0
- package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +50 -0
- package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +65 -0
- package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +173 -0
- package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +36 -0
- package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +41 -0
- package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +750 -0
- package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +779 -0
- package/export/artifacts/contracts/TestToken.sol/TestToken.json +963 -0
- package/package.json +41 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"address": "0xFfdbe43d4c855BF7e0f105c400A50857f53AB044",
|
|
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
|
+
"name": "EtherTransferFailed",
|
|
18
|
+
"type": "error"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"inputs": [
|
|
22
|
+
{
|
|
23
|
+
"internalType": "address",
|
|
24
|
+
"name": "_dapp",
|
|
25
|
+
"type": "address"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"internalType": "bytes",
|
|
29
|
+
"name": "_execLayerData",
|
|
30
|
+
"type": "bytes"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"name": "depositEther",
|
|
34
|
+
"outputs": [],
|
|
35
|
+
"stateMutability": "payable",
|
|
36
|
+
"type": "function"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"inputs": [],
|
|
40
|
+
"name": "getInputBox",
|
|
41
|
+
"outputs": [
|
|
42
|
+
{
|
|
43
|
+
"internalType": "contract IInputBox",
|
|
44
|
+
"name": "",
|
|
45
|
+
"type": "address"
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"stateMutability": "view",
|
|
49
|
+
"type": "function"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"transactionHash": "0x3a50ae44dc0a5621ce92af867c89446d87762733a15def7659217681e289299e",
|
|
53
|
+
"receipt": {
|
|
54
|
+
"to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
|
|
55
|
+
"from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
56
|
+
"contractAddress": null,
|
|
57
|
+
"transactionIndex": 0,
|
|
58
|
+
"gasUsed": "237926",
|
|
59
|
+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
60
|
+
"blockHash": "0xc1fceb165bf0962c7f54f26d4204d3eba14df48d9133394b757c7433aaa747a3",
|
|
61
|
+
"transactionHash": "0x3a50ae44dc0a5621ce92af867c89446d87762733a15def7659217681e289299e",
|
|
62
|
+
"logs": [],
|
|
63
|
+
"blockNumber": 8,
|
|
64
|
+
"cumulativeGasUsed": "237926",
|
|
65
|
+
"status": 1,
|
|
66
|
+
"byzantium": true
|
|
67
|
+
},
|
|
68
|
+
"args": [
|
|
69
|
+
"0x59b22D57D4f067708AB0c00552767405926dc768"
|
|
70
|
+
],
|
|
71
|
+
"numDeployments": 1,
|
|
72
|
+
"bytecode": "0x60a060405234801561001057600080fd5b506040516103de3803806103de83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161034d61009160003960008181603c0152610128015261034d6000f3fe6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cb565b505050505050565b6060848484846040516020016101c394939291906102e4565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b038316815260006020604081840152835180604085015260005b818110156102a95785810183015185820160600152820161028d565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102dd57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea26469706673582212203555bb6cf9b2020729bb19c561673a225f367cd3219906075930d8b9f3fb219864736f6c63430008130033",
|
|
73
|
+
"deployedBytecode": "0x6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cb565b505050505050565b6060848484846040516020016101c394939291906102e4565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b038316815260006020604081840152835180604085015260005b818110156102a95785810183015185820160600152820161028d565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102dd57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea26469706673582212203555bb6cf9b2020729bb19c561673a225f367cd3219906075930d8b9f3fb219864736f6c63430008130033",
|
|
74
|
+
"devdoc": {
|
|
75
|
+
"kind": "dev",
|
|
76
|
+
"methods": {
|
|
77
|
+
"constructor": {
|
|
78
|
+
"params": {
|
|
79
|
+
"_inputBox": "The input box used by the portal"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"depositEther(address,bytes)": {
|
|
83
|
+
"details": "All the value sent through this function is forwarded to the DApp. If the transfer fails, `EtherTransferFailed` error is raised.",
|
|
84
|
+
"params": {
|
|
85
|
+
"_dapp": "The address of the DApp",
|
|
86
|
+
"_execLayerData": "Additional data to be interpreted by the execution layer"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"getInputBox()": {
|
|
90
|
+
"returns": {
|
|
91
|
+
"_0": "The input box"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"title": "Ether Portal",
|
|
96
|
+
"version": 1
|
|
97
|
+
},
|
|
98
|
+
"userdoc": {
|
|
99
|
+
"errors": {
|
|
100
|
+
"EtherTransferFailed()": [
|
|
101
|
+
{
|
|
102
|
+
"notice": "Raised when the Ether transfer fails."
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"kind": "user",
|
|
107
|
+
"methods": {
|
|
108
|
+
"constructor": {
|
|
109
|
+
"notice": "Constructs the portal."
|
|
110
|
+
},
|
|
111
|
+
"depositEther(address,bytes)": {
|
|
112
|
+
"notice": "Transfer Ether to a DApp and add an input to the DApp's input box to signal such operation. All the value sent through this function is forwarded to the DApp."
|
|
113
|
+
},
|
|
114
|
+
"getInputBox()": {
|
|
115
|
+
"notice": "Get the input box used by this input relay."
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"notice": "This contract allows anyone to perform transfers of Ether to a DApp while informing the off-chain machine.",
|
|
119
|
+
"version": 1
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
{
|
|
2
|
+
"address": "0x1f158b5320BBf677FdA89F9a438df99BbE560A26",
|
|
3
|
+
"abi": [
|
|
4
|
+
{
|
|
5
|
+
"anonymous": false,
|
|
6
|
+
"inputs": [
|
|
7
|
+
{
|
|
8
|
+
"indexed": false,
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "historyOwner",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"indexed": false,
|
|
15
|
+
"internalType": "contract History",
|
|
16
|
+
"name": "history",
|
|
17
|
+
"type": "address"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"name": "HistoryCreated",
|
|
21
|
+
"type": "event"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"inputs": [
|
|
25
|
+
{
|
|
26
|
+
"internalType": "address",
|
|
27
|
+
"name": "_historyOwner",
|
|
28
|
+
"type": "address"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"internalType": "bytes32",
|
|
32
|
+
"name": "_salt",
|
|
33
|
+
"type": "bytes32"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"name": "calculateHistoryAddress",
|
|
37
|
+
"outputs": [
|
|
38
|
+
{
|
|
39
|
+
"internalType": "address",
|
|
40
|
+
"name": "",
|
|
41
|
+
"type": "address"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"stateMutability": "view",
|
|
45
|
+
"type": "function"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"inputs": [
|
|
49
|
+
{
|
|
50
|
+
"internalType": "address",
|
|
51
|
+
"name": "_historyOwner",
|
|
52
|
+
"type": "address"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"internalType": "bytes32",
|
|
56
|
+
"name": "_salt",
|
|
57
|
+
"type": "bytes32"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"name": "newHistory",
|
|
61
|
+
"outputs": [
|
|
62
|
+
{
|
|
63
|
+
"internalType": "contract History",
|
|
64
|
+
"name": "",
|
|
65
|
+
"type": "address"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"stateMutability": "nonpayable",
|
|
69
|
+
"type": "function"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"inputs": [
|
|
73
|
+
{
|
|
74
|
+
"internalType": "address",
|
|
75
|
+
"name": "_historyOwner",
|
|
76
|
+
"type": "address"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"name": "newHistory",
|
|
80
|
+
"outputs": [
|
|
81
|
+
{
|
|
82
|
+
"internalType": "contract History",
|
|
83
|
+
"name": "",
|
|
84
|
+
"type": "address"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"stateMutability": "nonpayable",
|
|
88
|
+
"type": "function"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"transactionHash": "0x187fe2625daa01b954c1f2dd77128e0b49a65ac58af554ef398a2de64764d49a",
|
|
92
|
+
"receipt": {
|
|
93
|
+
"to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
|
|
94
|
+
"from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
95
|
+
"contractAddress": null,
|
|
96
|
+
"transactionIndex": 0,
|
|
97
|
+
"gasUsed": "741828",
|
|
98
|
+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
99
|
+
"blockHash": "0xfd98f016f4d9e80f6d3f187ec736d3eaa71f3041f960218b6005bb7173d901cf",
|
|
100
|
+
"transactionHash": "0x187fe2625daa01b954c1f2dd77128e0b49a65ac58af554ef398a2de64764d49a",
|
|
101
|
+
"logs": [],
|
|
102
|
+
"blockNumber": 15,
|
|
103
|
+
"cumulativeGasUsed": "741828",
|
|
104
|
+
"status": 1,
|
|
105
|
+
"byzantium": true
|
|
106
|
+
},
|
|
107
|
+
"args": [],
|
|
108
|
+
"numDeployments": 1,
|
|
109
|
+
"bytecode": "0x608060405234801561001057600080fd5b50610c6f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632ab8b1151461004657806350f9c5ba1461007557806388d49a6214610088575b600080fd5b610059610054366004610289565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b610059610083366004610289565b61012a565b6100596100963660046102b3565b6101a5565b60008082846040516100ac90610260565b6001600160a01b0390911681526020018190604051809103906000f59050801580156100dc573d6000803e3d6000fd5b50604080516001600160a01b038088168252831660208201529192507f5b0ee1fb14fdb4a34ba9f0dda6790b059be11d8b3a954905dbad3c025c05c9c6910160405180910390a19392505050565b600061019e826040518060200161014090610260565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301520160408051601f198184030181529082905261018392916020016102fe565b6040516020818303038152906040528051906020012061022e565b9392505050565b600080826040516101b590610260565b6001600160a01b039091168152602001604051809103906000f0801580156101e1573d6000803e3d6000fd5b50604080516001600160a01b038087168252831660208201529192507f5b0ee1fb14fdb4a34ba9f0dda6790b059be11d8b3a954905dbad3c025c05c9c6910160405180910390a192915050565b600061019e8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b61091e8061031c83390190565b80356001600160a01b038116811461028457600080fd5b919050565b6000806040838503121561029c57600080fd5b6102a58361026d565b946020939093013593505050565b6000602082840312156102c557600080fd5b61019e8261026d565b6000815160005b818110156102ef57602081850181015186830152016102d5565b50600093019283525090919050565b600061031361030d83866102ce565b846102ce565b94935050505056fe608060405234801561001057600080fd5b5060405161091e38038061091e83398101604081905261002f91610181565b61003833610057565b6001600160a01b038116331461005157610051816100a7565b506101b1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6100af610125565b6001600160a01b0381166101195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61012281610057565b50565b6000546001600160a01b0316331461017f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610110565b565b60006020828403121561019357600080fd5b81516001600160a01b03811681146101aa57600080fd5b9392505050565b61075e806101c06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638da5cb5b14610071578063d79a824014610091578063ddfdfbb0146100bf578063f2fde38b146100d2578063fc411683146100e5575b600080fd5b61006f6100f8565b005b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100a461009f366004610531565b61010c565b60408051938452602084019290925290820152606001610088565b61006f6100cd366004610586565b6101bf565b61006f6100e03660046105c8565b61039a565b61006f6100f33660046105c8565b610418565b610100610429565b61010a6000610483565b565b600080808061011d858701876105ec565b6001600160a01b038816600090815260016020526040902054909150808210610159576040516387332c0160e01b815260040160405180910390fd5b506001600160a01b0396909616600090815260026020908152604080832098835297815290879020875160608101895281548082526001909201546001600160801b03808216948301859052600160801b90910416980188905297909695509350505050565b6101c7610429565b6000806101d683850185610621565b9150915080604001516001600160801b031681602001516001600160801b031611156102155760405163123974fd60e01b815260040160405180910390fd5b6001600160a01b038216600090815260016020526040902054801561028e576001600160a01b0383166000908152600260205260408120906102586001846106d5565b815260200190815260200160002060010160109054906101000a90046001600160801b0316600161028991906106ee565b610291565b60005b6001600160801b031682602001516001600160801b0316146102c65760405163118b891b60e01b815260040160405180910390fd5b6001600160a01b03831660009081526002602090815260408083208484528252918290208451815590840151918401516001600160801b03908116600160801b0292169190911760019182015561031e908290610715565b6001600160a01b03841660008181526001602090815260409182902093909355805185518152858401516001600160801b03908116948201949094528582015190931690830152907fb71880d7a0c514d48c0296b2721b0a4f9641a45117960f2ca86b5b7873c4ab2f9060600160405180910390a25050505050565b6103a2610429565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610483565b50565b610420610429565b6104158161039a565b6000546001600160a01b0316331461010a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461041557600080fd5b60008083601f8401126104fa57600080fd5b50813567ffffffffffffffff81111561051257600080fd5b60208301915083602082850101111561052a57600080fd5b9250929050565b60008060006040848603121561054657600080fd5b8335610551816104d3565b9250602084013567ffffffffffffffff81111561056d57600080fd5b610579868287016104e8565b9497909650939450505050565b6000806020838503121561059957600080fd5b823567ffffffffffffffff8111156105b057600080fd5b6105bc858286016104e8565b90969095509350505050565b6000602082840312156105da57600080fd5b81356105e5816104d3565b9392505050565b6000602082840312156105fe57600080fd5b5035919050565b80356001600160801b038116811461061c57600080fd5b919050565b600080828403608081121561063557600080fd5b8335610640816104d3565b92506060601f198201121561065457600080fd5b506040516060810181811067ffffffffffffffff8211171561068657634e487b7160e01b600052604160045260246000fd5b80604052506020840135815261069e60408501610605565b60208201526106af60608501610605565b6040820152809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106e8576106e86106bf565b92915050565b6001600160801b0381811683821601908082111561070e5761070e6106bf565b5092915050565b808201808211156106e8576106e86106bf56fea2646970667358221220af04065c5d35d3460abc2711367000a2134970c84818233d66386f35794dfb5b64736f6c63430008130033a2646970667358221220022e94d4ec2e139486be793ccd0a8adc660dbcb526c820d52e52c49b3ca0a2c064736f6c63430008130033",
|
|
110
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632ab8b1151461004657806350f9c5ba1461007557806388d49a6214610088575b600080fd5b610059610054366004610289565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b610059610083366004610289565b61012a565b6100596100963660046102b3565b6101a5565b60008082846040516100ac90610260565b6001600160a01b0390911681526020018190604051809103906000f59050801580156100dc573d6000803e3d6000fd5b50604080516001600160a01b038088168252831660208201529192507f5b0ee1fb14fdb4a34ba9f0dda6790b059be11d8b3a954905dbad3c025c05c9c6910160405180910390a19392505050565b600061019e826040518060200161014090610260565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301520160408051601f198184030181529082905261018392916020016102fe565b6040516020818303038152906040528051906020012061022e565b9392505050565b600080826040516101b590610260565b6001600160a01b039091168152602001604051809103906000f0801580156101e1573d6000803e3d6000fd5b50604080516001600160a01b038087168252831660208201529192507f5b0ee1fb14fdb4a34ba9f0dda6790b059be11d8b3a954905dbad3c025c05c9c6910160405180910390a192915050565b600061019e8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b61091e8061031c83390190565b80356001600160a01b038116811461028457600080fd5b919050565b6000806040838503121561029c57600080fd5b6102a58361026d565b946020939093013593505050565b6000602082840312156102c557600080fd5b61019e8261026d565b6000815160005b818110156102ef57602081850181015186830152016102d5565b50600093019283525090919050565b600061031361030d83866102ce565b846102ce565b94935050505056fe608060405234801561001057600080fd5b5060405161091e38038061091e83398101604081905261002f91610181565b61003833610057565b6001600160a01b038116331461005157610051816100a7565b506101b1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6100af610125565b6001600160a01b0381166101195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61012281610057565b50565b6000546001600160a01b0316331461017f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610110565b565b60006020828403121561019357600080fd5b81516001600160a01b03811681146101aa57600080fd5b9392505050565b61075e806101c06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638da5cb5b14610071578063d79a824014610091578063ddfdfbb0146100bf578063f2fde38b146100d2578063fc411683146100e5575b600080fd5b61006f6100f8565b005b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100a461009f366004610531565b61010c565b60408051938452602084019290925290820152606001610088565b61006f6100cd366004610586565b6101bf565b61006f6100e03660046105c8565b61039a565b61006f6100f33660046105c8565b610418565b610100610429565b61010a6000610483565b565b600080808061011d858701876105ec565b6001600160a01b038816600090815260016020526040902054909150808210610159576040516387332c0160e01b815260040160405180910390fd5b506001600160a01b0396909616600090815260026020908152604080832098835297815290879020875160608101895281548082526001909201546001600160801b03808216948301859052600160801b90910416980188905297909695509350505050565b6101c7610429565b6000806101d683850185610621565b9150915080604001516001600160801b031681602001516001600160801b031611156102155760405163123974fd60e01b815260040160405180910390fd5b6001600160a01b038216600090815260016020526040902054801561028e576001600160a01b0383166000908152600260205260408120906102586001846106d5565b815260200190815260200160002060010160109054906101000a90046001600160801b0316600161028991906106ee565b610291565b60005b6001600160801b031682602001516001600160801b0316146102c65760405163118b891b60e01b815260040160405180910390fd5b6001600160a01b03831660009081526002602090815260408083208484528252918290208451815590840151918401516001600160801b03908116600160801b0292169190911760019182015561031e908290610715565b6001600160a01b03841660008181526001602090815260409182902093909355805185518152858401516001600160801b03908116948201949094528582015190931690830152907fb71880d7a0c514d48c0296b2721b0a4f9641a45117960f2ca86b5b7873c4ab2f9060600160405180910390a25050505050565b6103a2610429565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610483565b50565b610420610429565b6104158161039a565b6000546001600160a01b0316331461010a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461041557600080fd5b60008083601f8401126104fa57600080fd5b50813567ffffffffffffffff81111561051257600080fd5b60208301915083602082850101111561052a57600080fd5b9250929050565b60008060006040848603121561054657600080fd5b8335610551816104d3565b9250602084013567ffffffffffffffff81111561056d57600080fd5b610579868287016104e8565b9497909650939450505050565b6000806020838503121561059957600080fd5b823567ffffffffffffffff8111156105b057600080fd5b6105bc858286016104e8565b90969095509350505050565b6000602082840312156105da57600080fd5b81356105e5816104d3565b9392505050565b6000602082840312156105fe57600080fd5b5035919050565b80356001600160801b038116811461061c57600080fd5b919050565b600080828403608081121561063557600080fd5b8335610640816104d3565b92506060601f198201121561065457600080fd5b506040516060810181811067ffffffffffffffff8211171561068657634e487b7160e01b600052604160045260246000fd5b80604052506020840135815261069e60408501610605565b60208201526106af60608501610605565b6040820152809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106e8576106e86106bf565b92915050565b6001600160801b0381811683821601908082111561070e5761070e6106bf565b5092915050565b808201808211156106e8576106e86106bf56fea2646970667358221220af04065c5d35d3460abc2711367000a2134970c84818233d66386f35794dfb5b64736f6c63430008130033a2646970667358221220022e94d4ec2e139486be793ccd0a8adc660dbcb526c820d52e52c49b3ca0a2c064736f6c63430008130033",
|
|
111
|
+
"devdoc": {
|
|
112
|
+
"events": {
|
|
113
|
+
"HistoryCreated(address,address)": {
|
|
114
|
+
"details": "MUST be triggered on a successful call to `newHistory`.",
|
|
115
|
+
"params": {
|
|
116
|
+
"history": "The history",
|
|
117
|
+
"historyOwner": "The initial history owner"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"kind": "dev",
|
|
122
|
+
"methods": {
|
|
123
|
+
"calculateHistoryAddress(address,bytes32)": {
|
|
124
|
+
"details": "Beware that only the `newHistory` function with the `_salt` parameter is able to deterministically deploy a history.",
|
|
125
|
+
"params": {
|
|
126
|
+
"_historyOwner": "The initial history owner",
|
|
127
|
+
"_salt": "The salt used to deterministically generate the history address"
|
|
128
|
+
},
|
|
129
|
+
"returns": {
|
|
130
|
+
"_0": "The deterministic history address"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"newHistory(address)": {
|
|
134
|
+
"details": "On success, MUST emit a `HistoryCreated` event.",
|
|
135
|
+
"params": {
|
|
136
|
+
"_historyOwner": "The initial history owner"
|
|
137
|
+
},
|
|
138
|
+
"returns": {
|
|
139
|
+
"_0": "The history"
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"newHistory(address,bytes32)": {
|
|
143
|
+
"details": "On success, MUST emit a `HistoryCreated` event.",
|
|
144
|
+
"params": {
|
|
145
|
+
"_historyOwner": "The initial history owner",
|
|
146
|
+
"_salt": "The salt used to deterministically generate the history address"
|
|
147
|
+
},
|
|
148
|
+
"returns": {
|
|
149
|
+
"_0": "The history"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"title": "History Factory",
|
|
154
|
+
"version": 1
|
|
155
|
+
},
|
|
156
|
+
"userdoc": {
|
|
157
|
+
"events": {
|
|
158
|
+
"HistoryCreated(address,address)": {
|
|
159
|
+
"notice": "A new history was deployed."
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"kind": "user",
|
|
163
|
+
"methods": {
|
|
164
|
+
"calculateHistoryAddress(address,bytes32)": {
|
|
165
|
+
"notice": "Calculate the address of a history to be deployed deterministically."
|
|
166
|
+
},
|
|
167
|
+
"newHistory(address)": {
|
|
168
|
+
"notice": "Deploy a new history."
|
|
169
|
+
},
|
|
170
|
+
"newHistory(address,bytes32)": {
|
|
171
|
+
"notice": "Deploy a new history deterministically."
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"notice": "Allows anyone to reliably deploy a new `History` contract.",
|
|
175
|
+
"version": 1
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
{
|
|
2
|
+
"address": "0x59b22D57D4f067708AB0c00552767405926dc768",
|
|
3
|
+
"abi": [
|
|
4
|
+
{
|
|
5
|
+
"inputs": [],
|
|
6
|
+
"name": "InputSizeExceedsLimit",
|
|
7
|
+
"type": "error"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"anonymous": false,
|
|
11
|
+
"inputs": [
|
|
12
|
+
{
|
|
13
|
+
"indexed": true,
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "dapp",
|
|
16
|
+
"type": "address"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"indexed": true,
|
|
20
|
+
"internalType": "uint256",
|
|
21
|
+
"name": "inputIndex",
|
|
22
|
+
"type": "uint256"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"indexed": false,
|
|
26
|
+
"internalType": "address",
|
|
27
|
+
"name": "sender",
|
|
28
|
+
"type": "address"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"indexed": false,
|
|
32
|
+
"internalType": "bytes",
|
|
33
|
+
"name": "input",
|
|
34
|
+
"type": "bytes"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"name": "InputAdded",
|
|
38
|
+
"type": "event"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"inputs": [
|
|
42
|
+
{
|
|
43
|
+
"internalType": "address",
|
|
44
|
+
"name": "_dapp",
|
|
45
|
+
"type": "address"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"internalType": "bytes",
|
|
49
|
+
"name": "_input",
|
|
50
|
+
"type": "bytes"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"name": "addInput",
|
|
54
|
+
"outputs": [
|
|
55
|
+
{
|
|
56
|
+
"internalType": "bytes32",
|
|
57
|
+
"name": "",
|
|
58
|
+
"type": "bytes32"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"stateMutability": "nonpayable",
|
|
62
|
+
"type": "function"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"inputs": [
|
|
66
|
+
{
|
|
67
|
+
"internalType": "address",
|
|
68
|
+
"name": "_dapp",
|
|
69
|
+
"type": "address"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"internalType": "uint256",
|
|
73
|
+
"name": "_index",
|
|
74
|
+
"type": "uint256"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"name": "getInputHash",
|
|
78
|
+
"outputs": [
|
|
79
|
+
{
|
|
80
|
+
"internalType": "bytes32",
|
|
81
|
+
"name": "",
|
|
82
|
+
"type": "bytes32"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"stateMutability": "view",
|
|
86
|
+
"type": "function"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"inputs": [
|
|
90
|
+
{
|
|
91
|
+
"internalType": "address",
|
|
92
|
+
"name": "_dapp",
|
|
93
|
+
"type": "address"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"name": "getNumberOfInputs",
|
|
97
|
+
"outputs": [
|
|
98
|
+
{
|
|
99
|
+
"internalType": "uint256",
|
|
100
|
+
"name": "",
|
|
101
|
+
"type": "uint256"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"stateMutability": "view",
|
|
105
|
+
"type": "function"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"transactionHash": "0x2bede5a07ad7341838ed6007eb5436a5386c8c1c00de9d0e8be7865c623c6843",
|
|
109
|
+
"receipt": {
|
|
110
|
+
"to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
|
|
111
|
+
"from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
112
|
+
"contractAddress": null,
|
|
113
|
+
"transactionIndex": 0,
|
|
114
|
+
"gasUsed": "260728",
|
|
115
|
+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
116
|
+
"blockHash": "0x20c03348e399eebdb9f4b93627e7c1f2bd647043873be433c407d0447b3ad235",
|
|
117
|
+
"transactionHash": "0x2bede5a07ad7341838ed6007eb5436a5386c8c1c00de9d0e8be7865c623c6843",
|
|
118
|
+
"logs": [],
|
|
119
|
+
"blockNumber": 7,
|
|
120
|
+
"cumulativeGasUsed": "260728",
|
|
121
|
+
"status": 1,
|
|
122
|
+
"byzantium": true
|
|
123
|
+
},
|
|
124
|
+
"args": [],
|
|
125
|
+
"numDeployments": 1,
|
|
126
|
+
"bytecode": "0x608060405234801561001057600080fd5b506103be806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631789cd631461004657806361a93c871461006b578063677087c914610094575b600080fd5b610059610054366004610253565b6100a7565b60405190815260200160405180910390f35b6100596100793660046102d6565b6001600160a01b031660009081526020819052604090205490565b6100596100a23660046102f8565b61013b565b6001600160a01b03831660009081526020819052604081208054826100d0334342898987610178565b83546001810185556000858152602090200181905560405190915082906001600160a01b038916907f6aaa400068bf4ca337265e2a1e1e841f66b8597fd5b452fdc52a44bed28a0784906101299033908b908b90610322565b60405180910390a39695505050505050565b6001600160a01b038216600090815260208190526040812080548390811061016557610165610362565b9060005260206000200154905092915050565b6000621fffc083111561019e57604051634273a49560e11b815260040160405180910390fd5b604080516001600160a01b03891660208201529081018790526060810186905260006080820181905260a082018490529060c001604051602081830303815290604052805190602001209050600085856040516101fc929190610378565b604080519182900382206020808401959095528282015280518083038201815260609092019052805192019190912098975050505050505050565b80356001600160a01b038116811461024e57600080fd5b919050565b60008060006040848603121561026857600080fd5b61027184610237565b9250602084013567ffffffffffffffff8082111561028e57600080fd5b818601915086601f8301126102a257600080fd5b8135818111156102b157600080fd5b8760208285010111156102c357600080fd5b6020830194508093505050509250925092565b6000602082840312156102e857600080fd5b6102f182610237565b9392505050565b6000806040838503121561030b57600080fd5b61031483610237565b946020939093013593505050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052603260045260246000fd5b818382376000910190815291905056fea264697066735822122043b0a58952371efb5f75573ec65e82305da7154e6338f4e9c00f5cc07f92c4af64736f6c63430008130033",
|
|
127
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80631789cd631461004657806361a93c871461006b578063677087c914610094575b600080fd5b610059610054366004610253565b6100a7565b60405190815260200160405180910390f35b6100596100793660046102d6565b6001600160a01b031660009081526020819052604090205490565b6100596100a23660046102f8565b61013b565b6001600160a01b03831660009081526020819052604081208054826100d0334342898987610178565b83546001810185556000858152602090200181905560405190915082906001600160a01b038916907f6aaa400068bf4ca337265e2a1e1e841f66b8597fd5b452fdc52a44bed28a0784906101299033908b908b90610322565b60405180910390a39695505050505050565b6001600160a01b038216600090815260208190526040812080548390811061016557610165610362565b9060005260206000200154905092915050565b6000621fffc083111561019e57604051634273a49560e11b815260040160405180910390fd5b604080516001600160a01b03891660208201529081018790526060810186905260006080820181905260a082018490529060c001604051602081830303815290604052805190602001209050600085856040516101fc929190610378565b604080519182900382206020808401959095528282015280518083038201815260609092019052805192019190912098975050505050505050565b80356001600160a01b038116811461024e57600080fd5b919050565b60008060006040848603121561026857600080fd5b61027184610237565b9250602084013567ffffffffffffffff8082111561028e57600080fd5b818601915086601f8301126102a257600080fd5b8135818111156102b157600080fd5b8760208285010111156102c357600080fd5b6020830194508093505050509250925092565b6000602082840312156102e857600080fd5b6102f182610237565b9392505050565b6000806040838503121561030b57600080fd5b61031483610237565b946020939093013593505050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052603260045260246000fd5b818382376000910190815291905056fea264697066735822122043b0a58952371efb5f75573ec65e82305da7154e6338f4e9c00f5cc07f92c4af64736f6c63430008130033",
|
|
128
|
+
"devdoc": {
|
|
129
|
+
"events": {
|
|
130
|
+
"InputAdded(address,uint256,address,bytes)": {
|
|
131
|
+
"details": "MUST be triggered on a successful call to `addInput`.",
|
|
132
|
+
"params": {
|
|
133
|
+
"dapp": "The address of the DApp",
|
|
134
|
+
"input": "The contents of the input",
|
|
135
|
+
"inputIndex": "The index of the input in the input box",
|
|
136
|
+
"sender": "The address that sent the input"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"kind": "dev",
|
|
141
|
+
"methods": {
|
|
142
|
+
"addInput(address,bytes)": {
|
|
143
|
+
"details": "MUST fire an `InputAdded` event accordingly. Input larger than machine limit will raise `InputSizeExceedsLimit` error.",
|
|
144
|
+
"params": {
|
|
145
|
+
"_dapp": "The address of the DApp",
|
|
146
|
+
"_input": "The contents of the input"
|
|
147
|
+
},
|
|
148
|
+
"returns": {
|
|
149
|
+
"_0": "The hash of the input plus some extra metadata"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"getInputHash(address,uint256)": {
|
|
153
|
+
"details": "`_index` MUST be in the interval `[0,n)` where `n` is the number of inputs in the DApp's input box. See the `getNumberOfInputs` function.",
|
|
154
|
+
"params": {
|
|
155
|
+
"_dapp": "The address of the DApp",
|
|
156
|
+
"_index": "The index of the input in the DApp's input box"
|
|
157
|
+
},
|
|
158
|
+
"returns": {
|
|
159
|
+
"_0": "The hash of the input at the provided index in the DApp's input box"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"getNumberOfInputs(address)": {
|
|
163
|
+
"params": {
|
|
164
|
+
"_dapp": "The address of the DApp"
|
|
165
|
+
},
|
|
166
|
+
"returns": {
|
|
167
|
+
"_0": "Number of inputs in the DApp's input box"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"stateVariables": {
|
|
172
|
+
"inputBoxes": {
|
|
173
|
+
"details": "See the `getNumberOfInputs`, `getInputHash` and `addInput` functions."
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"title": "Input Box",
|
|
177
|
+
"version": 1
|
|
178
|
+
},
|
|
179
|
+
"userdoc": {
|
|
180
|
+
"errors": {
|
|
181
|
+
"InputSizeExceedsLimit()": [
|
|
182
|
+
{
|
|
183
|
+
"notice": "Raised when input is larger than the machine limit."
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
"events": {
|
|
188
|
+
"InputAdded(address,uint256,address,bytes)": {
|
|
189
|
+
"notice": "Emitted when an input is added to a DApp's input box."
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"kind": "user",
|
|
193
|
+
"methods": {
|
|
194
|
+
"addInput(address,bytes)": {
|
|
195
|
+
"notice": "Add an input to a DApp's input box."
|
|
196
|
+
},
|
|
197
|
+
"getInputHash(address,uint256)": {
|
|
198
|
+
"notice": "Get the hash of an input in a DApp's input box."
|
|
199
|
+
},
|
|
200
|
+
"getNumberOfInputs(address)": {
|
|
201
|
+
"notice": "Get the number of inputs in a DApp's input box."
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"notice": "Trustless and permissionless contract that receives arbitrary blobs (called \"inputs\") from anyone and adds a compound hash to an append-only list (called \"input box\"). Each DApp has its own input box. The hash that is stored on-chain is composed by the hash of the input blob, the block number and timestamp, the input sender address, and the input index. Data availability is guaranteed by the emission of `InputAdded` events on every successful call to `addInput`. This ensures that inputs can be retrieved by anyone at any time, without having to rely on centralized data providers. From the perspective of this contract, inputs are encoding-agnostic byte arrays. It is up to the DApp to interpret, validate and act upon inputs.",
|
|
205
|
+
"version": 1
|
|
206
|
+
}
|
|
207
|
+
}
|