@cartesi/devnet 1.8.0 → 2.0.0-alpha.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.
@@ -1,11 +1,11 @@
1
1
  {
2
- "address": "0xFfdbe43d4c855BF7e0f105c400A50857f53AB044",
2
+ "address": "0xfa2292f6D85ea4e629B156A4f99219e30D12EE17",
3
3
  "abi": [
4
4
  {
5
5
  "inputs": [
6
6
  {
7
7
  "internalType": "contract IInputBox",
8
- "name": "_inputBox",
8
+ "name": "inputBox",
9
9
  "type": "address"
10
10
  }
11
11
  ],
@@ -21,12 +21,12 @@
21
21
  "inputs": [
22
22
  {
23
23
  "internalType": "address",
24
- "name": "_dapp",
24
+ "name": "appContract",
25
25
  "type": "address"
26
26
  },
27
27
  {
28
28
  "internalType": "bytes",
29
- "name": "_execLayerData",
29
+ "name": "execLayerData",
30
30
  "type": "bytes"
31
31
  }
32
32
  ],
@@ -49,41 +49,41 @@
49
49
  "type": "function"
50
50
  }
51
51
  ],
52
- "transactionHash": "0x8f0218a6f2e1bb3ee7bb9755f4295aff6718b16cc9645cd0e8535d605e015afe",
52
+ "transactionHash": "0x76369988f5c375e7b73285be6c033c5c6e8c9e6f3dd614a4747d77642675d260",
53
53
  "receipt": {
54
54
  "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
55
55
  "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
56
56
  "contractAddress": null,
57
57
  "transactionIndex": 0,
58
- "gasUsed": "237926",
58
+ "gasUsed": "238142",
59
59
  "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
60
- "blockHash": "0xf08ff233b7f2e8a256de38541e9cb933be97909573b9c49e9c2b50e9551e31a3",
61
- "transactionHash": "0x8f0218a6f2e1bb3ee7bb9755f4295aff6718b16cc9645cd0e8535d605e015afe",
60
+ "blockHash": "0xf454d13190f5270c1984202523721602d583e5e79bcf62ef904e2ddd29e2917b",
61
+ "transactionHash": "0x76369988f5c375e7b73285be6c033c5c6e8c9e6f3dd614a4747d77642675d260",
62
62
  "logs": [],
63
- "blockNumber": 8,
64
- "cumulativeGasUsed": "237926",
63
+ "blockNumber": 4,
64
+ "cumulativeGasUsed": "238142",
65
65
  "status": 1,
66
66
  "byzantium": true
67
67
  },
68
68
  "args": [
69
- "0x59b22D57D4f067708AB0c00552767405926dc768"
69
+ "0x593E5BCf894D6829Dd26D0810DA7F064406aebB6"
70
70
  ],
71
71
  "numDeployments": 1,
72
- "bytecode": "0x60a060405234801561001057600080fd5b506040516103de3803806103de83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161034d61009160003960008181603c0152610128015261034d6000f3fe6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cb565b505050505050565b6060848484846040516020016101c394939291906102e4565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b038316815260006020604081840152835180604085015260005b818110156102a95785810183015185820160600152820161028d565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102dd57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea26469706673582212203555bb6cf9b2020729bb19c561673a225f367cd3219906075930d8b9f3fb219864736f6c63430008130033",
73
- "deployedBytecode": "0x6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cb565b505050505050565b6060848484846040516020016101c394939291906102e4565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b038316815260006020604081840152835180604085015260005b818110156102a95785810183015185820160600152820161028d565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102dd57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea26469706673582212203555bb6cf9b2020729bb19c561673a225f367cd3219906075930d8b9f3fb219864736f6c63430008130033",
72
+ "bytecode": "0x60a060405234801561001057600080fd5b506040516103df3803806103df83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161034e61009160003960008181603c0152610128015261034e6000f3fe6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cc565b505050505050565b6060848484846040516020016101c394939291906102e5565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b03831681526000602060406020840152835180604085015260005b818110156102aa5785810183015185820160600152820161028e565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102de57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea2646970667358221220e52bd9bc274e5c6b8dd2815a9a07e76c86edd92be566abb0729d8f7b78e6ca4664736f6c63430008170033",
73
+ "deployedBytecode": "0x6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cc565b505050505050565b6060848484846040516020016101c394939291906102e5565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b03831681526000602060406020840152835180604085015260005b818110156102aa5785810183015185820160600152820161028e565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102de57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea2646970667358221220e52bd9bc274e5c6b8dd2815a9a07e76c86edd92be566abb0729d8f7b78e6ca4664736f6c63430008170033",
74
74
  "devdoc": {
75
75
  "kind": "dev",
76
76
  "methods": {
77
77
  "constructor": {
78
78
  "params": {
79
- "_inputBox": "The input box used by the portal"
79
+ "inputBox": "The input box used by the portal"
80
80
  }
81
81
  },
82
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.",
83
+ "details": "Any Ether sent through this function will be forwarded to the application contract. If the transfer fails, an `EtherTransferFailed` error will be raised.",
84
84
  "params": {
85
- "_dapp": "The address of the DApp",
86
- "_execLayerData": "Additional data to be interpreted by the execution layer"
85
+ "appContract": "The application contract address",
86
+ "execLayerData": "Additional data to be interpreted by the execution layer"
87
87
  }
88
88
  },
89
89
  "getInputBox()": {
@@ -99,7 +99,7 @@
99
99
  "errors": {
100
100
  "EtherTransferFailed()": [
101
101
  {
102
- "notice": "Raised when the Ether transfer fails."
102
+ "notice": "Failed to transfer Ether to application"
103
103
  }
104
104
  ]
105
105
  },
@@ -109,13 +109,13 @@
109
109
  "notice": "Constructs the portal."
110
110
  },
111
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."
112
+ "notice": "Transfer Ether to an application contract and add an input to the application's input box to signal such operation."
113
113
  },
114
114
  "getInputBox()": {
115
- "notice": "Get the input box used by this input relay."
115
+ "notice": "Get the input box used by this portal."
116
116
  }
117
117
  },
118
- "notice": "This contract allows anyone to perform transfers of Ether to a DApp while informing the off-chain machine.",
118
+ "notice": "This contract allows anyone to perform transfers of Ether to an application contract while informing the off-chain machine.",
119
119
  "version": 1
120
120
  }
121
121
  }
@@ -1,9 +1,25 @@
1
1
  {
2
- "address": "0x59b22D57D4f067708AB0c00552767405926dc768",
2
+ "address": "0x593E5BCf894D6829Dd26D0810DA7F064406aebB6",
3
3
  "abi": [
4
4
  {
5
- "inputs": [],
6
- "name": "InputSizeExceedsLimit",
5
+ "inputs": [
6
+ {
7
+ "internalType": "address",
8
+ "name": "appContract",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "internalType": "uint256",
13
+ "name": "inputLength",
14
+ "type": "uint256"
15
+ },
16
+ {
17
+ "internalType": "uint256",
18
+ "name": "maxInputLength",
19
+ "type": "uint256"
20
+ }
21
+ ],
22
+ "name": "InputTooLarge",
7
23
  "type": "error"
8
24
  },
9
25
  {
@@ -12,21 +28,15 @@
12
28
  {
13
29
  "indexed": true,
14
30
  "internalType": "address",
15
- "name": "dapp",
31
+ "name": "appContract",
16
32
  "type": "address"
17
33
  },
18
34
  {
19
35
  "indexed": true,
20
36
  "internalType": "uint256",
21
- "name": "inputIndex",
37
+ "name": "index",
22
38
  "type": "uint256"
23
39
  },
24
- {
25
- "indexed": false,
26
- "internalType": "address",
27
- "name": "sender",
28
- "type": "address"
29
- },
30
40
  {
31
41
  "indexed": false,
32
42
  "internalType": "bytes",
@@ -41,12 +51,12 @@
41
51
  "inputs": [
42
52
  {
43
53
  "internalType": "address",
44
- "name": "_dapp",
54
+ "name": "appContract",
45
55
  "type": "address"
46
56
  },
47
57
  {
48
58
  "internalType": "bytes",
49
- "name": "_input",
59
+ "name": "payload",
50
60
  "type": "bytes"
51
61
  }
52
62
  ],
@@ -65,12 +75,12 @@
65
75
  "inputs": [
66
76
  {
67
77
  "internalType": "address",
68
- "name": "_dapp",
78
+ "name": "appContract",
69
79
  "type": "address"
70
80
  },
71
81
  {
72
82
  "internalType": "uint256",
73
- "name": "_index",
83
+ "name": "index",
74
84
  "type": "uint256"
75
85
  }
76
86
  ],
@@ -89,7 +99,7 @@
89
99
  "inputs": [
90
100
  {
91
101
  "internalType": "address",
92
- "name": "_dapp",
102
+ "name": "appContract",
93
103
  "type": "address"
94
104
  }
95
105
  ],
@@ -105,103 +115,99 @@
105
115
  "type": "function"
106
116
  }
107
117
  ],
108
- "transactionHash": "0x94edc9cacd15325b27b3a49336216ccd59d0e1486cad856d3a4d7c765a6b99d5",
118
+ "transactionHash": "0xd6c10625dafee35aa184694a72f0065fbf7b94116b6bb75da9add82b91436b1c",
109
119
  "receipt": {
110
120
  "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
111
121
  "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
112
122
  "contractAddress": null,
113
123
  "transactionIndex": 0,
114
- "gasUsed": "260728",
124
+ "gasUsed": "275862",
115
125
  "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
116
- "blockHash": "0x5ada618c12f968afae6f83566d14e9bf6183d4f826f76655d4d3906d7c8a44fb",
117
- "transactionHash": "0x94edc9cacd15325b27b3a49336216ccd59d0e1486cad856d3a4d7c765a6b99d5",
126
+ "blockHash": "0x57f4be815f36421fcf360458223816100337b9464a96efd9505e3217afa31c7e",
127
+ "transactionHash": "0xd6c10625dafee35aa184694a72f0065fbf7b94116b6bb75da9add82b91436b1c",
118
128
  "logs": [],
119
- "blockNumber": 7,
120
- "cumulativeGasUsed": "260728",
129
+ "blockNumber": 3,
130
+ "cumulativeGasUsed": "275862",
121
131
  "status": 1,
122
132
  "byzantium": true
123
133
  },
124
134
  "args": [],
125
135
  "numDeployments": 1,
126
- "bytecode": "0x608060405234801561001057600080fd5b506103be806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631789cd631461004657806361a93c871461006b578063677087c914610094575b600080fd5b610059610054366004610253565b6100a7565b60405190815260200160405180910390f35b6100596100793660046102d6565b6001600160a01b031660009081526020819052604090205490565b6100596100a23660046102f8565b61013b565b6001600160a01b03831660009081526020819052604081208054826100d0334342898987610178565b83546001810185556000858152602090200181905560405190915082906001600160a01b038916907f6aaa400068bf4ca337265e2a1e1e841f66b8597fd5b452fdc52a44bed28a0784906101299033908b908b90610322565b60405180910390a39695505050505050565b6001600160a01b038216600090815260208190526040812080548390811061016557610165610362565b9060005260206000200154905092915050565b6000621fffc083111561019e57604051634273a49560e11b815260040160405180910390fd5b604080516001600160a01b03891660208201529081018790526060810186905260006080820181905260a082018490529060c001604051602081830303815290604052805190602001209050600085856040516101fc929190610378565b604080519182900382206020808401959095528282015280518083038201815260609092019052805192019190912098975050505050505050565b80356001600160a01b038116811461024e57600080fd5b919050565b60008060006040848603121561026857600080fd5b61027184610237565b9250602084013567ffffffffffffffff8082111561028e57600080fd5b818601915086601f8301126102a257600080fd5b8135818111156102b157600080fd5b8760208285010111156102c357600080fd5b6020830194508093505050509250925092565b6000602082840312156102e857600080fd5b6102f182610237565b9392505050565b6000806040838503121561030b57600080fd5b61031483610237565b946020939093013593505050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052603260045260246000fd5b818382376000910190815291905056fea264697066735822122043b0a58952371efb5f75573ec65e82305da7154e6338f4e9c00f5cc07f92c4af64736f6c63430008130033",
127
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80631789cd631461004657806361a93c871461006b578063677087c914610094575b600080fd5b610059610054366004610253565b6100a7565b60405190815260200160405180910390f35b6100596100793660046102d6565b6001600160a01b031660009081526020819052604090205490565b6100596100a23660046102f8565b61013b565b6001600160a01b03831660009081526020819052604081208054826100d0334342898987610178565b83546001810185556000858152602090200181905560405190915082906001600160a01b038916907f6aaa400068bf4ca337265e2a1e1e841f66b8597fd5b452fdc52a44bed28a0784906101299033908b908b90610322565b60405180910390a39695505050505050565b6001600160a01b038216600090815260208190526040812080548390811061016557610165610362565b9060005260206000200154905092915050565b6000621fffc083111561019e57604051634273a49560e11b815260040160405180910390fd5b604080516001600160a01b03891660208201529081018790526060810186905260006080820181905260a082018490529060c001604051602081830303815290604052805190602001209050600085856040516101fc929190610378565b604080519182900382206020808401959095528282015280518083038201815260609092019052805192019190912098975050505050505050565b80356001600160a01b038116811461024e57600080fd5b919050565b60008060006040848603121561026857600080fd5b61027184610237565b9250602084013567ffffffffffffffff8082111561028e57600080fd5b818601915086601f8301126102a257600080fd5b8135818111156102b157600080fd5b8760208285010111156102c357600080fd5b6020830194508093505050509250925092565b6000602082840312156102e857600080fd5b6102f182610237565b9392505050565b6000806040838503121561030b57600080fd5b61031483610237565b946020939093013593505050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052603260045260246000fd5b818382376000910190815291905056fea264697066735822122043b0a58952371efb5f75573ec65e82305da7154e6338f4e9c00f5cc07f92c4af64736f6c63430008130033",
136
+ "bytecode": "0x608060405234801561001057600080fd5b50610404806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631789cd631461004657806361a93c871461006b578063677087c914610094575b600080fd5b610059610054366004610226565b6100a7565b60405190815260200160405180910390f35b6100596100793660046102a9565b6001600160a01b031660009081526020819052604090205490565b6100596100a23660046102cb565b6101cd565b6001600160a01b0383166000908152602081905260408082208054915190919083906100e79046908990339043904290449089908e908e906024016102f5565b60408051601f198184030181529190526020810180516001600160e01b031663415bf36360e01b179052805190915062200000101561015b5780516040516304f90dc560e51b81526001600160a01b0389166004820152602481019190915262200000604482015260640160405180910390fd5b8051602080830191909120845460018101865560008681529290922090910181905560405183906001600160a01b038a16907fc05d337121a6e8605c6ec0b72aa29c4210ffe6e5b9cefdd6a7058188a8f66f98906101ba908690610369565b60405180910390a3979650505050505050565b6001600160a01b03821660009081526020819052604081208054839081106101f7576101f76103b8565b9060005260206000200154905092915050565b80356001600160a01b038116811461022157600080fd5b919050565b60008060006040848603121561023b57600080fd5b6102448461020a565b9250602084013567ffffffffffffffff8082111561026157600080fd5b818601915086601f83011261027557600080fd5b81358181111561028457600080fd5b87602082850101111561029657600080fd5b6020830194508093505050509250925092565b6000602082840312156102bb57600080fd5b6102c48261020a565b9392505050565b600080604083850312156102de57600080fd5b6102e78361020a565b946020939093013593505050565b8981526001600160a01b03898116602083015288166040820152606081018790526080810186905260a0810185905260c0810184905261010060e08201819052810182905260006101208385828501376000838501820152601f909301601f19169091019091019998505050505050505050565b60006020808352835180602085015260005b818110156103975785810183015185820160400152820161037b565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052603260045260246000fdfea26469706673582212203788fdfb8b6a2c0572bcd866dab8de747866dc2030920f38cce6fb32a7b57abc64736f6c63430008170033",
137
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80631789cd631461004657806361a93c871461006b578063677087c914610094575b600080fd5b610059610054366004610226565b6100a7565b60405190815260200160405180910390f35b6100596100793660046102a9565b6001600160a01b031660009081526020819052604090205490565b6100596100a23660046102cb565b6101cd565b6001600160a01b0383166000908152602081905260408082208054915190919083906100e79046908990339043904290449089908e908e906024016102f5565b60408051601f198184030181529190526020810180516001600160e01b031663415bf36360e01b179052805190915062200000101561015b5780516040516304f90dc560e51b81526001600160a01b0389166004820152602481019190915262200000604482015260640160405180910390fd5b8051602080830191909120845460018101865560008681529290922090910181905560405183906001600160a01b038a16907fc05d337121a6e8605c6ec0b72aa29c4210ffe6e5b9cefdd6a7058188a8f66f98906101ba908690610369565b60405180910390a3979650505050505050565b6001600160a01b03821660009081526020819052604081208054839081106101f7576101f76103b8565b9060005260206000200154905092915050565b80356001600160a01b038116811461022157600080fd5b919050565b60008060006040848603121561023b57600080fd5b6102448461020a565b9250602084013567ffffffffffffffff8082111561026157600080fd5b818601915086601f83011261027557600080fd5b81358181111561028457600080fd5b87602082850101111561029657600080fd5b6020830194508093505050509250925092565b6000602082840312156102bb57600080fd5b6102c48261020a565b9392505050565b600080604083850312156102de57600080fd5b6102e78361020a565b946020939093013593505050565b8981526001600160a01b03898116602083015288166040820152606081018790526080810186905260a0810185905260c0810184905261010060e08201819052810182905260006101208385828501376000838501820152601f909301601f19169091019091019998505050505050505050565b60006020808352835180602085015260005b818110156103975785810183015185820160400152820161037b565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052603260045260246000fdfea26469706673582212203788fdfb8b6a2c0572bcd866dab8de747866dc2030920f38cce6fb32a7b57abc64736f6c63430008170033",
128
138
  "devdoc": {
139
+ "errors": {
140
+ "InputTooLarge(address,uint256,uint256)": [
141
+ {
142
+ "params": {
143
+ "appContract": "The application contract address",
144
+ "inputLength": "The input length",
145
+ "maxInputLength": "The maximum input length"
146
+ }
147
+ }
148
+ ]
149
+ },
129
150
  "events": {
130
- "InputAdded(address,uint256,address,bytes)": {
131
- "details": "MUST be triggered on a successful call to `addInput`.",
151
+ "InputAdded(address,uint256,bytes)": {
132
152
  "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"
153
+ "appContract": "The application contract address",
154
+ "index": "The input index",
155
+ "input": "The input blob"
137
156
  }
138
157
  }
139
158
  },
140
159
  "kind": "dev",
141
160
  "methods": {
142
161
  "addInput(address,bytes)": {
143
- "details": "MUST fire an `InputAdded` event accordingly. Input larger than machine limit will raise `InputSizeExceedsLimit` error.",
162
+ "details": "MUST fire an `InputAdded` event.",
144
163
  "params": {
145
- "_dapp": "The address of the DApp",
146
- "_input": "The contents of the input"
164
+ "appContract": "The application contract address",
165
+ "payload": "The input payload"
147
166
  },
148
167
  "returns": {
149
- "_0": "The hash of the input plus some extra metadata"
168
+ "_0": "The hash of the input blob"
150
169
  }
151
170
  },
152
171
  "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.",
172
+ "details": "The provided index must be valid.",
154
173
  "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"
174
+ "appContract": "The application contract address",
175
+ "index": "The input index"
160
176
  }
161
177
  },
162
178
  "getNumberOfInputs(address)": {
163
179
  "params": {
164
- "_dapp": "The address of the DApp"
165
- },
166
- "returns": {
167
- "_0": "Number of inputs in the DApp's input box"
180
+ "appContract": "The application contract address"
168
181
  }
169
182
  }
170
183
  },
171
- "stateVariables": {
172
- "inputBoxes": {
173
- "details": "See the `getNumberOfInputs`, `getInputHash` and `addInput` functions."
174
- }
175
- },
176
- "title": "Input Box",
177
184
  "version": 1
178
185
  },
179
186
  "userdoc": {
180
187
  "errors": {
181
- "InputSizeExceedsLimit()": [
188
+ "InputTooLarge(address,uint256,uint256)": [
182
189
  {
183
- "notice": "Raised when input is larger than the machine limit."
190
+ "notice": "Input is too large."
184
191
  }
185
192
  ]
186
193
  },
187
194
  "events": {
188
- "InputAdded(address,uint256,address,bytes)": {
189
- "notice": "Emitted when an input is added to a DApp's input box."
195
+ "InputAdded(address,uint256,bytes)": {
196
+ "notice": "MUST trigger when an input is added."
190
197
  }
191
198
  },
192
199
  "kind": "user",
193
200
  "methods": {
194
201
  "addInput(address,bytes)": {
195
- "notice": "Add an input to a DApp's input box."
202
+ "notice": "Send an input to an application."
196
203
  },
197
204
  "getInputHash(address,uint256)": {
198
- "notice": "Get the hash of an input in a DApp's input box."
205
+ "notice": "Get the hash of an input in an application's input box."
199
206
  },
200
207
  "getNumberOfInputs(address)": {
201
- "notice": "Get the number of inputs in a DApp's input box."
208
+ "notice": "Get the number of inputs sent to an application."
202
209
  }
203
210
  },
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
211
  "version": 1
206
212
  }
207
213
  }
@@ -0,0 +1,188 @@
1
+ {
2
+ "address": "0x22AFD9162079c7Ac0aF874054298Bf46F29157F1",
3
+ "abi": [
4
+ {
5
+ "anonymous": false,
6
+ "inputs": [
7
+ {
8
+ "indexed": false,
9
+ "internalType": "contract IQuorum",
10
+ "name": "quorum",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "QuorumCreated",
15
+ "type": "event"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address[]",
21
+ "name": "validators",
22
+ "type": "address[]"
23
+ },
24
+ {
25
+ "internalType": "uint256",
26
+ "name": "epochLength",
27
+ "type": "uint256"
28
+ },
29
+ {
30
+ "internalType": "bytes32",
31
+ "name": "salt",
32
+ "type": "bytes32"
33
+ }
34
+ ],
35
+ "name": "calculateQuorumAddress",
36
+ "outputs": [
37
+ {
38
+ "internalType": "address",
39
+ "name": "",
40
+ "type": "address"
41
+ }
42
+ ],
43
+ "stateMutability": "view",
44
+ "type": "function"
45
+ },
46
+ {
47
+ "inputs": [
48
+ {
49
+ "internalType": "address[]",
50
+ "name": "validators",
51
+ "type": "address[]"
52
+ },
53
+ {
54
+ "internalType": "uint256",
55
+ "name": "epochLength",
56
+ "type": "uint256"
57
+ },
58
+ {
59
+ "internalType": "bytes32",
60
+ "name": "salt",
61
+ "type": "bytes32"
62
+ }
63
+ ],
64
+ "name": "newQuorum",
65
+ "outputs": [
66
+ {
67
+ "internalType": "contract IQuorum",
68
+ "name": "",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "stateMutability": "nonpayable",
73
+ "type": "function"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address[]",
79
+ "name": "validators",
80
+ "type": "address[]"
81
+ },
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "epochLength",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "name": "newQuorum",
89
+ "outputs": [
90
+ {
91
+ "internalType": "contract IQuorum",
92
+ "name": "",
93
+ "type": "address"
94
+ }
95
+ ],
96
+ "stateMutability": "nonpayable",
97
+ "type": "function"
98
+ }
99
+ ],
100
+ "transactionHash": "0x56758cf1788b692818455c9a848e7f79931b1f6b94c5dd3935cf3b991be4aa0d",
101
+ "receipt": {
102
+ "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
103
+ "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
104
+ "contractAddress": null,
105
+ "transactionIndex": 0,
106
+ "gasUsed": "747585",
107
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
108
+ "blockHash": "0xb9390c447a1a4e4740de8729225deaaaec3d9ca834a035256bc7972b4e211877",
109
+ "transactionHash": "0x56758cf1788b692818455c9a848e7f79931b1f6b94c5dd3935cf3b991be4aa0d",
110
+ "logs": [],
111
+ "blockNumber": 10,
112
+ "cumulativeGasUsed": "747585",
113
+ "status": 1,
114
+ "byzantium": true
115
+ },
116
+ "args": [],
117
+ "numDeployments": 1,
118
+ "bytecode": "0x608060405234801561001057600080fd5b50610c90806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632f74f86214610046578063ca8f271c14610075578063d4af3bc814610088575b600080fd5b6100596100543660046102bb565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102bb565b610123565b61005961009636600461030c565b6101a2565b600080828686866040516100ae90610262565b6100ba93929190610358565b8190604051809103906000f59050801580156100da573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f446698b70271bce331e53210572bd37ac8c590b6cdca2e6763e6448243cba8029060200160405180910390a195945050505050565b6000610199826040518060200161013990610262565b601f1982820381018352601f90910116604081905261016090899089908990602001610358565b60408051601f198184030181529082905261017e92916020016103e4565b60405160208183030381529060405280519060200120610224565b95945050505050565b6000808484846040516101b490610262565b6101c093929190610358565b604051809103906000f0801580156101dc573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f446698b70271bce331e53210572bd37ac8c590b6cdca2e6763e6448243cba8029060200160405180910390a1949350505050565b6000610231838330610238565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6108598061040283390190565b60008083601f84011261028157600080fd5b50813567ffffffffffffffff81111561029957600080fd5b6020830191508360208260051b85010111156102b457600080fd5b9250929050565b600080600080606085870312156102d157600080fd5b843567ffffffffffffffff8111156102e857600080fd5b6102f48782880161026f565b90989097506020870135966040013595509350505050565b60008060006040848603121561032157600080fd5b833567ffffffffffffffff81111561033857600080fd5b6103448682870161026f565b909790965060209590950135949350505050565b604080825281018390526000846060830182805b878110156103a05783356001600160a01b03811680821461038b578384fd5b8452506020938401939092019160010161036c565b505060209390930193909352509392505050565b6000815160005b818110156103d557602081850181015186830152016103bb565b50600093019283525090919050565b60006103f96103f383866103b4565b846103b4565b94935050505056fe60c060405234801561001057600080fd5b5060405161085938038061085983398101604081905261002f9161016e565b80600081116100845760405162461bcd60e51b815260206004820152601d60248201527f65706f6368206c656e677468206d757374206e6f74206265207a65726f000000604482015260640160405180910390fd5b6080526000805b83518110156101305760008482815181106100a8576100a861023a565b6020026020010151905060016000826001600160a01b03166001600160a01b03168152602001908152602001600020546000036101275760006100ea84610250565b6001600160a01b03831660008181526001602090815260408083208590558483526002909152902080546001600160a01b03191690911790559350505b5060010161008b565b5060a052506102779050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b038116811461016957600080fd5b919050565b6000806040838503121561018157600080fd5b82516001600160401b038082111561019857600080fd5b818501915085601f8301126101ac57600080fd5b81516020828211156101c0576101c061013c565b8160051b604051601f19603f830116810181811086821117156101e5576101e561013c565b60405292835281830193508481018201928984111561020357600080fd5b948201945b838610156102285761021986610152565b85529482019493820193610208565b97909101519698969750505050505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161027057634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a0516105b66102a36000396000818161010c01526102f70152600061019001526105b66000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80636470af001161005b5780636470af00146101535780637051bfd5146101685780639618f35b1461017b578063cfe8a73b1461018e57600080fd5b80630a6f1fe81461008d5780631c45396a146100c95780631e526e451461010a5780634b84231c14610130575b600080fd5b6100b661009b36600461044b565b6001600160a01b031660009081526001602052604090205490565b6040519081526020015b60405180910390f35b6100f26100d736600461046d565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016100c0565b7f00000000000000000000000000000000000000000000000000000000000000006100b6565b61014361013e366004610486565b6101b4565b60405190151581526020016100c0565b6101666101613660046104bf565b6101f1565b005b6100b66101763660046104bf565b610353565b6101436101893660046104f2565b610369565b7f00000000000000000000000000000000000000000000000000000000000000006100b6565b60006101e8826101c5878787610395565b600882901c60009081526001918201602052604090205460ff9092161b16151590565b95945050505050565b33600090815260016020526040902054806102525760405162461bcd60e51b815260206004820152601f60248201527f51756f72756d3a2063616c6c6572206973206e6f742076616c696461746f7200604482015260640160405180910390fd5b60408051848152602081018490526001600160a01b0386169133917ff5a28e07a1b89d1ca3f9a2a7ef16bd650503a4791baf2e70dc401c21ee505f0a910160405180910390a360006102a5858585610395565b600883901c6000908152600180830160205260409091205491925060ff84161b1661034c57600882901c600090815260018281016020526040909120805460ff85169290921b909117905561031b60027f0000000000000000000000000000000000000000000000000000000000000000610532565b610326906001610554565b816000016000815461033790610567565b91829055500361034c5761034c8585856103c7565b5050505050565b6000610360848484610395565b54949350505050565b6001600160a01b03821660009081526020818152604080832084845290915290205460ff165b92915050565b6001600160a01b0383166000908152600360209081526040808320858452825280832084845290915290209392505050565b6001600160a01b038316600081815260208181526040808320858452825291829020805460ff1916600117905581518581529081018490527fd3e4892959c6ddb27e02bcaaebc0c1898d0f677b7360bf80339f10a8717957d3910160405180910390a2505050565b80356001600160a01b038116811461044657600080fd5b919050565b60006020828403121561045d57600080fd5b6104668261042f565b9392505050565b60006020828403121561047f57600080fd5b5035919050565b6000806000806080858703121561049c57600080fd5b6104a58561042f565b966020860135965060408601359560600135945092505050565b6000806000606084860312156104d457600080fd5b6104dd8461042f565b95602085013595506040909401359392505050565b6000806040838503121561050557600080fd5b61050e8361042f565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b60008261054f57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561038f5761038f61051c565b6000600182016105795761057961051c565b506001019056fea2646970667358221220642bb94e1d4dd60f0c8a41a3a000c90390997995461f65183db6e55f56e5032864736f6c63430008170033a264697066735822122056fc82af8dbf74e096ba755e657baedd2a8684ccc11e63a53a44d8ceb691249e64736f6c63430008170033",
119
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632f74f86214610046578063ca8f271c14610075578063d4af3bc814610088575b600080fd5b6100596100543660046102bb565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102bb565b610123565b61005961009636600461030c565b6101a2565b600080828686866040516100ae90610262565b6100ba93929190610358565b8190604051809103906000f59050801580156100da573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f446698b70271bce331e53210572bd37ac8c590b6cdca2e6763e6448243cba8029060200160405180910390a195945050505050565b6000610199826040518060200161013990610262565b601f1982820381018352601f90910116604081905261016090899089908990602001610358565b60408051601f198184030181529082905261017e92916020016103e4565b60405160208183030381529060405280519060200120610224565b95945050505050565b6000808484846040516101b490610262565b6101c093929190610358565b604051809103906000f0801580156101dc573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f446698b70271bce331e53210572bd37ac8c590b6cdca2e6763e6448243cba8029060200160405180910390a1949350505050565b6000610231838330610238565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6108598061040283390190565b60008083601f84011261028157600080fd5b50813567ffffffffffffffff81111561029957600080fd5b6020830191508360208260051b85010111156102b457600080fd5b9250929050565b600080600080606085870312156102d157600080fd5b843567ffffffffffffffff8111156102e857600080fd5b6102f48782880161026f565b90989097506020870135966040013595509350505050565b60008060006040848603121561032157600080fd5b833567ffffffffffffffff81111561033857600080fd5b6103448682870161026f565b909790965060209590950135949350505050565b604080825281018390526000846060830182805b878110156103a05783356001600160a01b03811680821461038b578384fd5b8452506020938401939092019160010161036c565b505060209390930193909352509392505050565b6000815160005b818110156103d557602081850181015186830152016103bb565b50600093019283525090919050565b60006103f96103f383866103b4565b846103b4565b94935050505056fe60c060405234801561001057600080fd5b5060405161085938038061085983398101604081905261002f9161016e565b80600081116100845760405162461bcd60e51b815260206004820152601d60248201527f65706f6368206c656e677468206d757374206e6f74206265207a65726f000000604482015260640160405180910390fd5b6080526000805b83518110156101305760008482815181106100a8576100a861023a565b6020026020010151905060016000826001600160a01b03166001600160a01b03168152602001908152602001600020546000036101275760006100ea84610250565b6001600160a01b03831660008181526001602090815260408083208590558483526002909152902080546001600160a01b03191690911790559350505b5060010161008b565b5060a052506102779050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b038116811461016957600080fd5b919050565b6000806040838503121561018157600080fd5b82516001600160401b038082111561019857600080fd5b818501915085601f8301126101ac57600080fd5b81516020828211156101c0576101c061013c565b8160051b604051601f19603f830116810181811086821117156101e5576101e561013c565b60405292835281830193508481018201928984111561020357600080fd5b948201945b838610156102285761021986610152565b85529482019493820193610208565b97909101519698969750505050505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161027057634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a0516105b66102a36000396000818161010c01526102f70152600061019001526105b66000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80636470af001161005b5780636470af00146101535780637051bfd5146101685780639618f35b1461017b578063cfe8a73b1461018e57600080fd5b80630a6f1fe81461008d5780631c45396a146100c95780631e526e451461010a5780634b84231c14610130575b600080fd5b6100b661009b36600461044b565b6001600160a01b031660009081526001602052604090205490565b6040519081526020015b60405180910390f35b6100f26100d736600461046d565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016100c0565b7f00000000000000000000000000000000000000000000000000000000000000006100b6565b61014361013e366004610486565b6101b4565b60405190151581526020016100c0565b6101666101613660046104bf565b6101f1565b005b6100b66101763660046104bf565b610353565b6101436101893660046104f2565b610369565b7f00000000000000000000000000000000000000000000000000000000000000006100b6565b60006101e8826101c5878787610395565b600882901c60009081526001918201602052604090205460ff9092161b16151590565b95945050505050565b33600090815260016020526040902054806102525760405162461bcd60e51b815260206004820152601f60248201527f51756f72756d3a2063616c6c6572206973206e6f742076616c696461746f7200604482015260640160405180910390fd5b60408051848152602081018490526001600160a01b0386169133917ff5a28e07a1b89d1ca3f9a2a7ef16bd650503a4791baf2e70dc401c21ee505f0a910160405180910390a360006102a5858585610395565b600883901c6000908152600180830160205260409091205491925060ff84161b1661034c57600882901c600090815260018281016020526040909120805460ff85169290921b909117905561031b60027f0000000000000000000000000000000000000000000000000000000000000000610532565b610326906001610554565b816000016000815461033790610567565b91829055500361034c5761034c8585856103c7565b5050505050565b6000610360848484610395565b54949350505050565b6001600160a01b03821660009081526020818152604080832084845290915290205460ff165b92915050565b6001600160a01b0383166000908152600360209081526040808320858452825280832084845290915290209392505050565b6001600160a01b038316600081815260208181526040808320858452825291829020805460ff1916600117905581518581529081018490527fd3e4892959c6ddb27e02bcaaebc0c1898d0f677b7360bf80339f10a8717957d3910160405180910390a2505050565b80356001600160a01b038116811461044657600080fd5b919050565b60006020828403121561045d57600080fd5b6104668261042f565b9392505050565b60006020828403121561047f57600080fd5b5035919050565b6000806000806080858703121561049c57600080fd5b6104a58561042f565b966020860135965060408601359560600135945092505050565b6000806000606084860312156104d457600080fd5b6104dd8461042f565b95602085013595506040909401359392505050565b6000806040838503121561050557600080fd5b61050e8361042f565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b60008261054f57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561038f5761038f61051c565b6000600182016105795761057961051c565b506001019056fea2646970667358221220642bb94e1d4dd60f0c8a41a3a000c90390997995461f65183db6e55f56e5032864736f6c63430008170033a264697066735822122056fc82af8dbf74e096ba755e657baedd2a8684ccc11e63a53a44d8ceb691249e64736f6c63430008170033",
120
+ "devdoc": {
121
+ "events": {
122
+ "QuorumCreated(address)": {
123
+ "details": "MUST be triggered on a successful call to `newQuorum`.",
124
+ "params": {
125
+ "quorum": "The quorum"
126
+ }
127
+ }
128
+ },
129
+ "kind": "dev",
130
+ "methods": {
131
+ "calculateQuorumAddress(address[],uint256,bytes32)": {
132
+ "details": "Beware that only the `newQuorum` function with the `salt` parameter is able to deterministically deploy a quorum.",
133
+ "params": {
134
+ "epochLength": "The epoch length",
135
+ "salt": "The salt used to deterministically generate the quorum address",
136
+ "validators": "the list of validators"
137
+ },
138
+ "returns": {
139
+ "_0": "The deterministic quorum address"
140
+ }
141
+ },
142
+ "newQuorum(address[],uint256)": {
143
+ "details": "On success, MUST emit a `QuorumCreated` event.Duplicates in the `validators` array are ignored.Reverts if the epoch length is zero.",
144
+ "params": {
145
+ "epochLength": "The epoch length",
146
+ "validators": "the list of validators"
147
+ },
148
+ "returns": {
149
+ "_0": "The quorum"
150
+ }
151
+ },
152
+ "newQuorum(address[],uint256,bytes32)": {
153
+ "details": "On success, MUST emit a `QuorumCreated` event.Duplicates in the `validators` array are ignored.Reverts if the epoch length is zero.",
154
+ "params": {
155
+ "epochLength": "The epoch length",
156
+ "salt": "The salt used to deterministically generate the quorum address",
157
+ "validators": "the list of validators"
158
+ },
159
+ "returns": {
160
+ "_0": "The quorum"
161
+ }
162
+ }
163
+ },
164
+ "title": "Quorum Factory",
165
+ "version": 1
166
+ },
167
+ "userdoc": {
168
+ "events": {
169
+ "QuorumCreated(address)": {
170
+ "notice": "A new quorum was deployed."
171
+ }
172
+ },
173
+ "kind": "user",
174
+ "methods": {
175
+ "calculateQuorumAddress(address[],uint256,bytes32)": {
176
+ "notice": "Calculate the address of a quorum to be deployed deterministically."
177
+ },
178
+ "newQuorum(address[],uint256)": {
179
+ "notice": "Deploy a new quorum."
180
+ },
181
+ "newQuorum(address[],uint256,bytes32)": {
182
+ "notice": "Deploy a new quorum deterministically."
183
+ }
184
+ },
185
+ "notice": "Allows anyone to reliably deploy a new `IQuorum` contract.",
186
+ "version": 1
187
+ }
188
+ }