@cartesi/devnet 1.8.0 → 2.0.0-alpha.1
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/build/anvil_state.json +1 -1
- package/deployments/localhost/ApplicationFactory.json +227 -0
- package/deployments/localhost/AuthorityFactory.json +55 -44
- package/deployments/localhost/ERC1155BatchPortal.json +26 -26
- package/deployments/localhost/ERC1155SinglePortal.json +25 -25
- package/deployments/localhost/ERC20Portal.json +35 -23
- package/deployments/localhost/ERC721Portal.json +23 -23
- package/deployments/localhost/EtherPortal.json +21 -21
- package/deployments/localhost/InputBox.json +64 -58
- package/deployments/localhost/QuorumFactory.json +188 -0
- package/deployments/localhost/SafeERC20Transfer.json +118 -0
- package/deployments/localhost/SelfHostedApplicationFactory.json +71 -70
- package/deployments/localhost/TestMultiToken.json +18 -18
- package/deployments/localhost/TestNFT.json +24 -24
- package/deployments/localhost/TestToken.json +28 -28
- package/export/abi/localhost.json +234 -602
- package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +11 -22
- package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +4 -4
- package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +4 -4
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +3 -3
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +4 -4
- package/export/artifacts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol/ERC1155Utils.json +34 -0
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +3 -3
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +4 -4
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +3 -3
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol/ERC721Utils.json +33 -0
- package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +26 -3
- package/export/artifacts/@openzeppelin/contracts/utils/Comparators.sol/Comparators.json +34 -0
- package/export/artifacts/@openzeppelin/contracts/utils/Panic.sol/Panic.json +65 -0
- package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/utils/SlotDerivation.sol/SlotDerivation.json +42 -0
- package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +4 -3
- package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +3 -2
- package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +3 -3
- package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +1 -1
- package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +2 -2
- package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +11 -16
- package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +4 -3
- package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +4 -3
- package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +2 -2
- package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +3 -3
- package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +4 -4
- package/export/artifacts/contracts/TestToken.sol/TestToken.json +3 -3
- package/package.json +11 -11
- package/deployments/localhost/AuthorityHistoryPairFactory.json +0 -276
- package/deployments/localhost/Bitmask.json +0 -44
- package/deployments/localhost/CartesiDAppFactory.json +0 -231
- package/deployments/localhost/CartesiMathV2.json +0 -213
- package/deployments/localhost/DAppAddressRelay.json +0 -102
- package/deployments/localhost/HistoryFactory.json +0 -177
- package/deployments/localhost/MerkleV2.json +0 -217
- package/deployments/localhost/UnrolledCordic.json +0 -54
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
2
|
+
"address": "0xfa2292f6D85ea4e629B156A4f99219e30D12EE17",
|
|
3
3
|
"abi": [
|
|
4
4
|
{
|
|
5
5
|
"inputs": [
|
|
6
6
|
{
|
|
7
7
|
"internalType": "contract IInputBox",
|
|
8
|
-
"name": "
|
|
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": "
|
|
24
|
+
"name": "appContract",
|
|
25
25
|
"type": "address"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"internalType": "bytes",
|
|
29
|
-
"name": "
|
|
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": "
|
|
52
|
+
"transactionHash": "0x76369988f5c375e7b73285be6c033c5c6e8c9e6f3dd614a4747d77642675d260",
|
|
53
53
|
"receipt": {
|
|
54
54
|
"to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
|
|
55
55
|
"from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
56
56
|
"contractAddress": null,
|
|
57
57
|
"transactionIndex": 0,
|
|
58
|
-
"gasUsed": "
|
|
58
|
+
"gasUsed": "238142",
|
|
59
59
|
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
60
|
-
"blockHash": "
|
|
61
|
-
"transactionHash": "
|
|
60
|
+
"blockHash": "0xcd66917043763dfe432bb953f89c42b6874fb217cd2942b09b36cb1342fa466c",
|
|
61
|
+
"transactionHash": "0x76369988f5c375e7b73285be6c033c5c6e8c9e6f3dd614a4747d77642675d260",
|
|
62
62
|
"logs": [],
|
|
63
|
-
"blockNumber":
|
|
64
|
-
"cumulativeGasUsed": "
|
|
63
|
+
"blockNumber": 4,
|
|
64
|
+
"cumulativeGasUsed": "238142",
|
|
65
65
|
"status": 1,
|
|
66
66
|
"byzantium": true
|
|
67
67
|
},
|
|
68
68
|
"args": [
|
|
69
|
-
"
|
|
69
|
+
"0x593E5BCf894D6829Dd26D0810DA7F064406aebB6"
|
|
70
70
|
],
|
|
71
71
|
"numDeployments": 1,
|
|
72
|
-
"bytecode": "
|
|
73
|
-
"deployedBytecode": "
|
|
72
|
+
"bytecode": "0x60a060405234801561001057600080fd5b506040516103df3803806103df83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161034e61009160003960008181603c0152610128015261034e6000f3fe6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cc565b505050505050565b6060848484846040516020016101c394939291906102e5565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b03831681526000602060406020840152835180604085015260005b818110156102aa5785810183015185820160600152820161028e565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102de57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea2646970667358221220e52bd9bc274e5c6b8dd2815a9a07e76c86edd92be566abb0729d8f7b78e6ca4664736f6c63430008170033",
|
|
73
|
+
"deployedBytecode": "0x6080604052600436106100285760003560e01c8062aace9a1461002d578063938c054f14610077575b600080fd5b34801561003957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a6100853660046101dc565b61008c565b005b6000836001600160a01b03163460405160006040518083038185875af1925050503d80600081146100d9576040519150601f19603f3d011682016040523d82523d6000602084013e6100de565b606091505b505090508061010057604051630ce8f45160e31b815260040160405180910390fd5b600061010e333486866101aa565b604051631789cd6360e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631789cd639061015f908890859060040161026d565b6020604051808303816000875af115801561017e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a291906102cc565b505050505050565b6060848484846040516020016101c394939291906102e5565b6040516020818303038152906040529050949350505050565b6000806000604084860312156101f157600080fd5b83356001600160a01b038116811461020857600080fd5b9250602084013567ffffffffffffffff8082111561022557600080fd5b818601915086601f83011261023957600080fd5b81358181111561024857600080fd5b87602082850101111561025a57600080fd5b6020830194508093505050509250925092565b60018060a01b03831681526000602060406020840152835180604085015260005b818110156102aa5785810183015185820160600152820161028e565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156102de57600080fd5b5051919050565b6bffffffffffffffffffffffff198560601b1681528360148201528183603483013760009101603401908152939250505056fea2646970667358221220e52bd9bc274e5c6b8dd2815a9a07e76c86edd92be566abb0729d8f7b78e6ca4664736f6c63430008170033",
|
|
74
74
|
"devdoc": {
|
|
75
75
|
"kind": "dev",
|
|
76
76
|
"methods": {
|
|
77
77
|
"constructor": {
|
|
78
78
|
"params": {
|
|
79
|
-
"
|
|
79
|
+
"inputBox": "The input box used by the portal"
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
"depositEther(address,bytes)": {
|
|
83
|
-
"details": "
|
|
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
|
-
"
|
|
86
|
-
"
|
|
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": "
|
|
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
|
|
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
|
|
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
|
|
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": "
|
|
2
|
+
"address": "0x593E5BCf894D6829Dd26D0810DA7F064406aebB6",
|
|
3
3
|
"abi": [
|
|
4
4
|
{
|
|
5
|
-
"inputs": [
|
|
6
|
-
|
|
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": "
|
|
31
|
+
"name": "appContract",
|
|
16
32
|
"type": "address"
|
|
17
33
|
},
|
|
18
34
|
{
|
|
19
35
|
"indexed": true,
|
|
20
36
|
"internalType": "uint256",
|
|
21
|
-
"name": "
|
|
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": "
|
|
54
|
+
"name": "appContract",
|
|
45
55
|
"type": "address"
|
|
46
56
|
},
|
|
47
57
|
{
|
|
48
58
|
"internalType": "bytes",
|
|
49
|
-
"name": "
|
|
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": "
|
|
78
|
+
"name": "appContract",
|
|
69
79
|
"type": "address"
|
|
70
80
|
},
|
|
71
81
|
{
|
|
72
82
|
"internalType": "uint256",
|
|
73
|
-
"name": "
|
|
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": "
|
|
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": "
|
|
118
|
+
"transactionHash": "0xd6c10625dafee35aa184694a72f0065fbf7b94116b6bb75da9add82b91436b1c",
|
|
109
119
|
"receipt": {
|
|
110
120
|
"to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
|
|
111
121
|
"from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
112
122
|
"contractAddress": null,
|
|
113
123
|
"transactionIndex": 0,
|
|
114
|
-
"gasUsed": "
|
|
124
|
+
"gasUsed": "275862",
|
|
115
125
|
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
116
|
-
"blockHash": "
|
|
117
|
-
"transactionHash": "
|
|
126
|
+
"blockHash": "0x11a091612943380faf55d778caea8f694992f419320436ae5c566dd04bcb94a6",
|
|
127
|
+
"transactionHash": "0xd6c10625dafee35aa184694a72f0065fbf7b94116b6bb75da9add82b91436b1c",
|
|
118
128
|
"logs": [],
|
|
119
|
-
"blockNumber":
|
|
120
|
-
"cumulativeGasUsed": "
|
|
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": "
|
|
127
|
-
"deployedBytecode": "
|
|
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,
|
|
131
|
-
"details": "MUST be triggered on a successful call to `addInput`.",
|
|
151
|
+
"InputAdded(address,uint256,bytes)": {
|
|
132
152
|
"params": {
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
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
|
|
162
|
+
"details": "MUST fire an `InputAdded` event.",
|
|
144
163
|
"params": {
|
|
145
|
-
"
|
|
146
|
-
"
|
|
164
|
+
"appContract": "The application contract address",
|
|
165
|
+
"payload": "The input payload"
|
|
147
166
|
},
|
|
148
167
|
"returns": {
|
|
149
|
-
"_0": "The hash of the input
|
|
168
|
+
"_0": "The hash of the input blob"
|
|
150
169
|
}
|
|
151
170
|
},
|
|
152
171
|
"getInputHash(address,uint256)": {
|
|
153
|
-
"details": "
|
|
172
|
+
"details": "The provided index must be valid.",
|
|
154
173
|
"params": {
|
|
155
|
-
"
|
|
156
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
188
|
+
"InputTooLarge(address,uint256,uint256)": [
|
|
182
189
|
{
|
|
183
|
-
"notice": "
|
|
190
|
+
"notice": "Input is too large."
|
|
184
191
|
}
|
|
185
192
|
]
|
|
186
193
|
},
|
|
187
194
|
"events": {
|
|
188
|
-
"InputAdded(address,uint256,
|
|
189
|
-
"notice": "
|
|
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": "
|
|
202
|
+
"notice": "Send an input to an application."
|
|
196
203
|
},
|
|
197
204
|
"getInputHash(address,uint256)": {
|
|
198
|
-
"notice": "Get the hash of an input in
|
|
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
|
|
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": "0x4d37289ea06ad10e057de863fd30461637a901e0318820a851613afa42caa198",
|
|
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
|
+
}
|