@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.
Files changed (67) hide show
  1. package/build/anvil_state.json +1 -1
  2. package/deployments/localhost/ApplicationFactory.json +227 -0
  3. package/deployments/localhost/AuthorityFactory.json +55 -44
  4. package/deployments/localhost/ERC1155BatchPortal.json +26 -26
  5. package/deployments/localhost/ERC1155SinglePortal.json +25 -25
  6. package/deployments/localhost/ERC20Portal.json +35 -23
  7. package/deployments/localhost/ERC721Portal.json +23 -23
  8. package/deployments/localhost/EtherPortal.json +21 -21
  9. package/deployments/localhost/InputBox.json +64 -58
  10. package/deployments/localhost/QuorumFactory.json +188 -0
  11. package/deployments/localhost/SafeERC20Transfer.json +118 -0
  12. package/deployments/localhost/SelfHostedApplicationFactory.json +71 -70
  13. package/deployments/localhost/TestMultiToken.json +18 -18
  14. package/deployments/localhost/TestNFT.json +24 -24
  15. package/deployments/localhost/TestToken.json +28 -28
  16. package/export/abi/localhost.json +234 -602
  17. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +11 -22
  18. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +4 -4
  19. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +1 -1
  20. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +1 -1
  21. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +2 -2
  22. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +1 -1
  23. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +4 -4
  24. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +3 -3
  25. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +4 -4
  26. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol/ERC1155Utils.json +34 -0
  27. package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +2 -2
  28. package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +1 -1
  29. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +1 -1
  30. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +2 -2
  31. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +3 -3
  32. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +1 -1
  33. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +1 -1
  34. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +2 -2
  35. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +4 -4
  36. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +2 -2
  37. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +2 -2
  38. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +3 -3
  39. package/export/artifacts/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol/ERC721Utils.json +33 -0
  40. package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +26 -3
  41. package/export/artifacts/@openzeppelin/contracts/utils/Comparators.sol/Comparators.json +34 -0
  42. package/export/artifacts/@openzeppelin/contracts/utils/Panic.sol/Panic.json +65 -0
  43. package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +2 -2
  44. package/export/artifacts/@openzeppelin/contracts/utils/SlotDerivation.sol/SlotDerivation.json +42 -0
  45. package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +4 -3
  46. package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +3 -2
  47. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +2 -2
  48. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +2 -2
  49. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +3 -3
  50. package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +1 -1
  51. package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +2 -2
  52. package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +11 -16
  53. package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +4 -3
  54. package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +4 -3
  55. package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +2 -2
  56. package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +3 -3
  57. package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +4 -4
  58. package/export/artifacts/contracts/TestToken.sol/TestToken.json +3 -3
  59. package/package.json +11 -11
  60. package/deployments/localhost/AuthorityHistoryPairFactory.json +0 -276
  61. package/deployments/localhost/Bitmask.json +0 -44
  62. package/deployments/localhost/CartesiDAppFactory.json +0 -231
  63. package/deployments/localhost/CartesiMathV2.json +0 -213
  64. package/deployments/localhost/DAppAddressRelay.json +0 -102
  65. package/deployments/localhost/HistoryFactory.json +0 -177
  66. package/deployments/localhost/MerkleV2.json +0 -217
  67. package/deployments/localhost/UnrolledCordic.json +0 -54
@@ -1,231 +0,0 @@
1
- {
2
- "address": "0x7122cd1221C20892234186facfE8615e6743Ab02",
3
- "abi": [
4
- {
5
- "anonymous": false,
6
- "inputs": [
7
- {
8
- "indexed": true,
9
- "internalType": "contract IConsensus",
10
- "name": "consensus",
11
- "type": "address"
12
- },
13
- {
14
- "indexed": false,
15
- "internalType": "address",
16
- "name": "dappOwner",
17
- "type": "address"
18
- },
19
- {
20
- "indexed": false,
21
- "internalType": "bytes32",
22
- "name": "templateHash",
23
- "type": "bytes32"
24
- },
25
- {
26
- "indexed": false,
27
- "internalType": "contract CartesiDApp",
28
- "name": "application",
29
- "type": "address"
30
- }
31
- ],
32
- "name": "ApplicationCreated",
33
- "type": "event"
34
- },
35
- {
36
- "inputs": [
37
- {
38
- "internalType": "contract IConsensus",
39
- "name": "_consensus",
40
- "type": "address"
41
- },
42
- {
43
- "internalType": "address",
44
- "name": "_dappOwner",
45
- "type": "address"
46
- },
47
- {
48
- "internalType": "bytes32",
49
- "name": "_templateHash",
50
- "type": "bytes32"
51
- },
52
- {
53
- "internalType": "bytes32",
54
- "name": "_salt",
55
- "type": "bytes32"
56
- }
57
- ],
58
- "name": "calculateApplicationAddress",
59
- "outputs": [
60
- {
61
- "internalType": "address",
62
- "name": "",
63
- "type": "address"
64
- }
65
- ],
66
- "stateMutability": "view",
67
- "type": "function"
68
- },
69
- {
70
- "inputs": [
71
- {
72
- "internalType": "contract IConsensus",
73
- "name": "_consensus",
74
- "type": "address"
75
- },
76
- {
77
- "internalType": "address",
78
- "name": "_dappOwner",
79
- "type": "address"
80
- },
81
- {
82
- "internalType": "bytes32",
83
- "name": "_templateHash",
84
- "type": "bytes32"
85
- },
86
- {
87
- "internalType": "bytes32",
88
- "name": "_salt",
89
- "type": "bytes32"
90
- }
91
- ],
92
- "name": "newApplication",
93
- "outputs": [
94
- {
95
- "internalType": "contract CartesiDApp",
96
- "name": "",
97
- "type": "address"
98
- }
99
- ],
100
- "stateMutability": "nonpayable",
101
- "type": "function"
102
- },
103
- {
104
- "inputs": [
105
- {
106
- "internalType": "contract IConsensus",
107
- "name": "_consensus",
108
- "type": "address"
109
- },
110
- {
111
- "internalType": "address",
112
- "name": "_dappOwner",
113
- "type": "address"
114
- },
115
- {
116
- "internalType": "bytes32",
117
- "name": "_templateHash",
118
- "type": "bytes32"
119
- }
120
- ],
121
- "name": "newApplication",
122
- "outputs": [
123
- {
124
- "internalType": "contract CartesiDApp",
125
- "name": "",
126
- "type": "address"
127
- }
128
- ],
129
- "stateMutability": "nonpayable",
130
- "type": "function"
131
- }
132
- ],
133
- "transactionHash": "0xb38f7ac561b24171c27ee3fcda415224d85cfb34d167a4488d105a6650ab4f7b",
134
- "receipt": {
135
- "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
136
- "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
137
- "contractAddress": null,
138
- "transactionIndex": 0,
139
- "gasUsed": "1546312",
140
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
141
- "blockHash": "0xa1348953f4ddc80f97b4f874652211eeb16f0222887f4135cdd29ad2dcd7e625",
142
- "transactionHash": "0xb38f7ac561b24171c27ee3fcda415224d85cfb34d167a4488d105a6650ab4f7b",
143
- "logs": [],
144
- "blockNumber": 17,
145
- "cumulativeGasUsed": "1546312",
146
- "status": 1,
147
- "byzantium": true
148
- },
149
- "args": [],
150
- "numDeployments": 1,
151
- "bytecode": "0x608060405234801561001057600080fd5b50611af9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630e1a07f5146100465780633648bfb514610075578063bd4f121914610088575b600080fd5b6100596100543660046102df565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b610059610083366004610325565b610148565b6100596100963660046102df565b6101ef565b600080828686866040516100ae906102ba565b6001600160a01b03938416815292909116602083015260408201526060018190604051809103906000f59050801580156100ec573d6000803e3d6000fd5b50604080516001600160a01b03888116825260208201889052838116828401529151929350908816917fe73165c2d277daf8713fd08b40845cb6bb7a20b2b543f3d35324a475660fcebd9181900360600190a295945050505050565b60008084848460405161015a906102ba565b6001600160a01b0393841681529290911660208301526040820152606001604051809103906000f080158015610194573d6000803e3d6000fd5b50604080516001600160a01b03878116825260208201879052838116828401529151929350908716917fe73165c2d277daf8713fd08b40845cb6bb7a20b2b543f3d35324a475660fcebd9181900360600190a2949350505050565b60006102738260405180602001610205906102ba565b601f1982820381018352601f9091011660408181526001600160a01b038a811660208401528916908201526060810187905260800160408051601f19818403018152908290526102589291602001610396565b6040516020818303038152906040528051906020012061027c565b95945050505050565b6000610289838330610290565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b611710806103b483390190565b6001600160a01b03811681146102dc57600080fd5b50565b600080600080608085870312156102f557600080fd5b8435610300816102c7565b93506020850135610310816102c7565b93969395505050506040820135916060013590565b60008060006060848603121561033a57600080fd5b8335610345816102c7565b92506020840135610355816102c7565b929592945050506040919091013590565b6000815160005b81811015610387576020818501810151868301520161036d565b50600093019283525090919050565b60006103ab6103a58386610366565b84610366565b94935050505056fe60a06040523480156200001157600080fd5b506040516200171038038062001710833981016040819052620000349162000212565b6200003f33620000cb565b600180556200004e826200011b565b6080819052600380546001600160a01b0319166001600160a01b0385169081179091556040805163b688a36360e01b8152905163b688a3639160048082019260009290919082900301818387803b158015620000a957600080fd5b505af1158015620000be573d6000803e3d6000fd5b505050505050506200025a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620001256200019e565b6001600160a01b038116620001905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6200019b81620000cb565b50565b6000546001600160a01b03163314620001fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000187565b565b6001600160a01b03811681146200019b57600080fd5b6000806000606084860312156200022857600080fd5b83516200023581620001fc565b60208501519093506200024881620001fc565b80925050604084015190509250925092565b60805161149a6200027660003960006101ec015261149a6000f3fe6080604052600436106100e15760003560e01c80638da5cb5b1161007f578063bc197c8111610059578063bc197c8114610288578063f23a6e61146102b4578063f2fde38b146102e0578063fc4116831461030057600080fd5b80638da5cb5b1461022a57806396487d46146102485780639d9b11451461026857600080fd5b8063179e740b116100bb578063179e740b14610186578063522f6815146101b857806361b12c66146101da578063715018a61461021557600080fd5b806301ffc9a7146100ed5780631250482f14610122578063150b7a021461014257600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004610d2a565b610320565b60405190151581526020015b60405180910390f35b34801561012e57600080fd5b5061010d61013d366004610dd0565b610357565b34801561014e57600080fd5b5061016d61015d366004610f00565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610119565b34801561019257600080fd5b506003546001600160a01b03165b6040516001600160a01b039091168152602001610119565b3480156101c457600080fd5b506101d86101d3366004610f5f565b61053c565b005b3480156101e657600080fd5b506040517f00000000000000000000000000000000000000000000000000000000000000008152602001610119565b34801561022157600080fd5b506101d86105d5565b34801561023657600080fd5b506000546001600160a01b03166101a0565b34801561025457600080fd5b5061010d610263366004610f8b565b6105e9565b34801561027457600080fd5b5061010d610283366004610ff3565b61063a565b34801561029457600080fd5b5061016d6102a3366004611094565b63bc197c8160e01b95945050505050565b3480156102c057600080fd5b5061016d6102cf366004611141565b63f23a6e6160e01b95945050505050565b3480156102ec57600080fd5b506101d86102fb3660046111a9565b61064c565b34801561030c57600080fd5b506101d861031b3660046111a9565b6106ca565b60006001600160e01b03198216630271189760e51b148061035157506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061036161077f565b600080808061037b61037660208801886111c6565b6107d8565b919550935091506103988383610391898061120c565b919061085f565b90506103b4898989876103ab8b8061120c565b939291906108a5565b60006103e86103c3888061120c565b6103d490604081019060200161122c565b6001600160401b03168360809190911b1790565b90506103f3816108da565b15610411576040516370de22b760e01b815260040160405180910390fd5b60008a6001600160a01b03168a8a60405161042d929190611255565b6000604051808303816000865af19150503d806000811461046a576040519150601f19603f3d011682016040523d82523d6000602084013e61046f565b606091505b505090508015610524576040516306449da160e41b815260026004820152602481018390526001604482015273F5B2d8c81cDE4D6238bBf20D3D77DB37df13f73590636449da109060640160006040518083038186803b1580156104d257600080fd5b505af41580156104e6573d6000803e3d6000fd5b505050507f0eb7ee080f865f1cadc4f54daf58cc3b8879e888832867d13351edcec0fbdc548260405161051b91815260200190565b60405180910390a15b9550505050505061053460018055565b949350505050565b33301461055c5760405163a08d601d60e01b815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146105a9576040519150601f19603f3d011682016040523d82523d6000602084013e6105ae565b606091505b50509050806105d057604051630ce8f45160e31b815260040160405180910390fd5b505050565b6105dd610958565b6105e760006109b2565b565b60008080806105fe61037660208701876111c6565b919450925090506106148282610391888061120c565b5061062d878785610625898061120c565b929190610a02565b5060019695505050505050565b6000608082901b8317610534816108da565b610654610958565b6001600160a01b0381166106be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6106c7816109b2565b50565b6106d2610958565b600380546001600160a01b0319166001600160a01b0383169081179091556040805163b688a36360e01b8152905163b688a3639160048082019260009290919082900301818387803b15801561072757600080fd5b505af115801561073b573d6000803e3d6000fd5b50506040516001600160a01b03841681527f4991c6f37185659e276ff918a96f3e20e6c5abcd8c9aab450dc19c2f7ad35cb59250602001905060405180910390a150565b6002600154036107d15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106b5565b6002600155565b60035460405163035e6a0960e61b8152600091829182916001600160a01b03169063d79a8240906108119030908990899060040161128e565b606060405180830381865afa15801561082e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085291906112bc565b9250925092509250925092565b60008061086f602086018661122c565b610882906001600160401b0316856112ea565b9050828111156105345760405163fd9ae91f60e01b815260040160405180910390fd5b60006108b2858585610a29565b90506108d2868284606083013560255b6001600160401b03166015610a58565b505050505050565b6040516303fbaf7360e01b8152600260048201526024810182905260009073F5B2d8c81cDE4D6238bBf20D3D77DB37df13f735906303fbaf7390604401602060405180830381865af4158015610934573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610351919061130b565b6000546001600160a01b031633146105e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610a0e8484610cfe565b9050610a22858284608083013560256108c2565b5050505050565b6060838383604051602001610a409392919061128e565b60405160208183030381529060405290509392505050565b6040805160608089013560208301526080808a01359383019390935260a0890135908201528591016040516020818303038152906040528051906020012014610ab457604051636fbd3b7160e11b815260040160405180910390fd5b827333436035441927Df1a73FE3AAC5906854632e53d6379de4601610af0610adf60208b018b61122c565b60051b681fffffffffffffffe01690565b60058660408c0135610b0560e08e018e61132d565b6040518763ffffffff1660e01b8152600401610b2696959493929190611376565b602060405180830381865af4158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6791906113d9565b14610b8557604051634371daa160e11b815260040160405180910390fd5b60007333436035441927Df1a73FE3AAC5906854632e53d63c84583a18780519060200120604051602001610bbb91815260200190565b60408051601f19818403018152908290526001600160e01b031960e084901b168252610bec916005906004016113f2565b602060405180830381865af4158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d91906113d9565b905086604001357333436035441927Df1a73FE3AAC5906854632e53d6379de4601610c648a6020016020810190610adf919061122c565b60058686610c7560c08f018f61132d565b6040518763ffffffff1660e01b8152600401610c9696959493929190611376565b602060405180830381865af4158015610cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd791906113d9565b14610cf55760405163017c689560e61b815260040160405180910390fd5b50505050505050565b60608282604051602001610d13929190611450565b604051602081830303815290604052905092915050565b600060208284031215610d3c57600080fd5b81356001600160e01b031981168114610d5457600080fd5b9392505050565b6001600160a01b03811681146106c757600080fd5b60008083601f840112610d8257600080fd5b5081356001600160401b03811115610d9957600080fd5b602083019150836020828501011115610db157600080fd5b9250929050565b600060408284031215610dca57600080fd5b50919050565b60008060008060608587031215610de657600080fd5b8435610df181610d5b565b935060208501356001600160401b0380821115610e0d57600080fd5b610e1988838901610d70565b90955093506040870135915080821115610e3257600080fd5b50610e3f87828801610db8565b91505092959194509250565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610e8957610e89610e4b565b604052919050565b600082601f830112610ea257600080fd5b81356001600160401b03811115610ebb57610ebb610e4b565b610ece601f8201601f1916602001610e61565b818152846020838601011115610ee357600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215610f1657600080fd5b8435610f2181610d5b565b93506020850135610f3181610d5b565b92506040850135915060608501356001600160401b03811115610f5357600080fd5b610e3f87828801610e91565b60008060408385031215610f7257600080fd5b8235610f7d81610d5b565b946020939093013593505050565b600080600060408486031215610fa057600080fd5b83356001600160401b0380821115610fb757600080fd5b610fc387838801610d70565b90955093506020860135915080821115610fdc57600080fd5b50610fe986828701610db8565b9150509250925092565b6000806040838503121561100657600080fd5b50508035926020909101359150565b600082601f83011261102657600080fd5b813560206001600160401b0382111561104157611041610e4b565b8160051b611050828201610e61565b928352848101820192828101908785111561106a57600080fd5b83870192505b8483101561108957823582529183019190830190611070565b979650505050505050565b600080600080600060a086880312156110ac57600080fd5b85356110b781610d5b565b945060208601356110c781610d5b565b935060408601356001600160401b03808211156110e357600080fd5b6110ef89838a01611015565b9450606088013591508082111561110557600080fd5b61111189838a01611015565b9350608088013591508082111561112757600080fd5b5061113488828901610e91565b9150509295509295909350565b600080600080600060a0868803121561115957600080fd5b853561116481610d5b565b9450602086013561117481610d5b565b9350604086013592506060860135915060808601356001600160401b0381111561119d57600080fd5b61113488828901610e91565b6000602082840312156111bb57600080fd5b8135610d5481610d5b565b6000808335601e198436030181126111dd57600080fd5b8301803591506001600160401b038211156111f757600080fd5b602001915036819003821315610db157600080fd5b6000823560fe1983360301811261122257600080fd5b9190910192915050565b60006020828403121561123e57600080fd5b81356001600160401b0381168114610d5457600080fd5b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906112b39083018486611265565b95945050505050565b6000806000606084860312156112d157600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561035157634e487b7160e01b600052601160045260246000fd5b60006020828403121561131d57600080fd5b81518015158114610d5457600080fd5b6000808335601e1984360301811261134457600080fd5b8301803591506001600160401b0382111561135e57600080fd5b6020019150600581901b3603821315610db157600080fd5b6001600160401b03878116825286166020820152604081018590526060810184905260a060808201819052810182905260006001600160fb1b038311156113bc57600080fd5b8260051b808560c08501379190910160c001979650505050505050565b6000602082840312156113eb57600080fd5b5051919050565b604081526000835180604084015260005b818110156114205760208187018101516060868401015201611403565b506000606082850101526060601f19601f8301168401019150506001600160401b03831660208301529392505050565b60208152600061053460208301848661126556fea2646970667358221220981835fbbf44aedaeb41e0c0c9001ffe55187a0b5606db0cdbf7500fc7c5e30e64736f6c63430008130033a2646970667358221220a12c770ef21751c306949fd9ed57ed453446a67f2dfb1d63d08c918461eca99764736f6c63430008130033",
152
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80630e1a07f5146100465780633648bfb514610075578063bd4f121914610088575b600080fd5b6100596100543660046102df565b61009b565b6040516001600160a01b03909116815260200160405180910390f35b610059610083366004610325565b610148565b6100596100963660046102df565b6101ef565b600080828686866040516100ae906102ba565b6001600160a01b03938416815292909116602083015260408201526060018190604051809103906000f59050801580156100ec573d6000803e3d6000fd5b50604080516001600160a01b03888116825260208201889052838116828401529151929350908816917fe73165c2d277daf8713fd08b40845cb6bb7a20b2b543f3d35324a475660fcebd9181900360600190a295945050505050565b60008084848460405161015a906102ba565b6001600160a01b0393841681529290911660208301526040820152606001604051809103906000f080158015610194573d6000803e3d6000fd5b50604080516001600160a01b03878116825260208201879052838116828401529151929350908716917fe73165c2d277daf8713fd08b40845cb6bb7a20b2b543f3d35324a475660fcebd9181900360600190a2949350505050565b60006102738260405180602001610205906102ba565b601f1982820381018352601f9091011660408181526001600160a01b038a811660208401528916908201526060810187905260800160408051601f19818403018152908290526102589291602001610396565b6040516020818303038152906040528051906020012061027c565b95945050505050565b6000610289838330610290565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b611710806103b483390190565b6001600160a01b03811681146102dc57600080fd5b50565b600080600080608085870312156102f557600080fd5b8435610300816102c7565b93506020850135610310816102c7565b93969395505050506040820135916060013590565b60008060006060848603121561033a57600080fd5b8335610345816102c7565b92506020840135610355816102c7565b929592945050506040919091013590565b6000815160005b81811015610387576020818501810151868301520161036d565b50600093019283525090919050565b60006103ab6103a58386610366565b84610366565b94935050505056fe60a06040523480156200001157600080fd5b506040516200171038038062001710833981016040819052620000349162000212565b6200003f33620000cb565b600180556200004e826200011b565b6080819052600380546001600160a01b0319166001600160a01b0385169081179091556040805163b688a36360e01b8152905163b688a3639160048082019260009290919082900301818387803b158015620000a957600080fd5b505af1158015620000be573d6000803e3d6000fd5b505050505050506200025a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620001256200019e565b6001600160a01b038116620001905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6200019b81620000cb565b50565b6000546001600160a01b03163314620001fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000187565b565b6001600160a01b03811681146200019b57600080fd5b6000806000606084860312156200022857600080fd5b83516200023581620001fc565b60208501519093506200024881620001fc565b80925050604084015190509250925092565b60805161149a6200027660003960006101ec015261149a6000f3fe6080604052600436106100e15760003560e01c80638da5cb5b1161007f578063bc197c8111610059578063bc197c8114610288578063f23a6e61146102b4578063f2fde38b146102e0578063fc4116831461030057600080fd5b80638da5cb5b1461022a57806396487d46146102485780639d9b11451461026857600080fd5b8063179e740b116100bb578063179e740b14610186578063522f6815146101b857806361b12c66146101da578063715018a61461021557600080fd5b806301ffc9a7146100ed5780631250482f14610122578063150b7a021461014257600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004610d2a565b610320565b60405190151581526020015b60405180910390f35b34801561012e57600080fd5b5061010d61013d366004610dd0565b610357565b34801561014e57600080fd5b5061016d61015d366004610f00565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610119565b34801561019257600080fd5b506003546001600160a01b03165b6040516001600160a01b039091168152602001610119565b3480156101c457600080fd5b506101d86101d3366004610f5f565b61053c565b005b3480156101e657600080fd5b506040517f00000000000000000000000000000000000000000000000000000000000000008152602001610119565b34801561022157600080fd5b506101d86105d5565b34801561023657600080fd5b506000546001600160a01b03166101a0565b34801561025457600080fd5b5061010d610263366004610f8b565b6105e9565b34801561027457600080fd5b5061010d610283366004610ff3565b61063a565b34801561029457600080fd5b5061016d6102a3366004611094565b63bc197c8160e01b95945050505050565b3480156102c057600080fd5b5061016d6102cf366004611141565b63f23a6e6160e01b95945050505050565b3480156102ec57600080fd5b506101d86102fb3660046111a9565b61064c565b34801561030c57600080fd5b506101d861031b3660046111a9565b6106ca565b60006001600160e01b03198216630271189760e51b148061035157506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061036161077f565b600080808061037b61037660208801886111c6565b6107d8565b919550935091506103988383610391898061120c565b919061085f565b90506103b4898989876103ab8b8061120c565b939291906108a5565b60006103e86103c3888061120c565b6103d490604081019060200161122c565b6001600160401b03168360809190911b1790565b90506103f3816108da565b15610411576040516370de22b760e01b815260040160405180910390fd5b60008a6001600160a01b03168a8a60405161042d929190611255565b6000604051808303816000865af19150503d806000811461046a576040519150601f19603f3d011682016040523d82523d6000602084013e61046f565b606091505b505090508015610524576040516306449da160e41b815260026004820152602481018390526001604482015273__$f57eb21c11c6dae369da3ca36f4f48eb77$__90636449da109060640160006040518083038186803b1580156104d257600080fd5b505af41580156104e6573d6000803e3d6000fd5b505050507f0eb7ee080f865f1cadc4f54daf58cc3b8879e888832867d13351edcec0fbdc548260405161051b91815260200190565b60405180910390a15b9550505050505061053460018055565b949350505050565b33301461055c5760405163a08d601d60e01b815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146105a9576040519150601f19603f3d011682016040523d82523d6000602084013e6105ae565b606091505b50509050806105d057604051630ce8f45160e31b815260040160405180910390fd5b505050565b6105dd610958565b6105e760006109b2565b565b60008080806105fe61037660208701876111c6565b919450925090506106148282610391888061120c565b5061062d878785610625898061120c565b929190610a02565b5060019695505050505050565b6000608082901b8317610534816108da565b610654610958565b6001600160a01b0381166106be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6106c7816109b2565b50565b6106d2610958565b600380546001600160a01b0319166001600160a01b0383169081179091556040805163b688a36360e01b8152905163b688a3639160048082019260009290919082900301818387803b15801561072757600080fd5b505af115801561073b573d6000803e3d6000fd5b50506040516001600160a01b03841681527f4991c6f37185659e276ff918a96f3e20e6c5abcd8c9aab450dc19c2f7ad35cb59250602001905060405180910390a150565b6002600154036107d15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106b5565b6002600155565b60035460405163035e6a0960e61b8152600091829182916001600160a01b03169063d79a8240906108119030908990899060040161128e565b606060405180830381865afa15801561082e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085291906112bc565b9250925092509250925092565b60008061086f602086018661122c565b610882906001600160401b0316856112ea565b9050828111156105345760405163fd9ae91f60e01b815260040160405180910390fd5b60006108b2858585610a29565b90506108d2868284606083013560255b6001600160401b03166015610a58565b505050505050565b6040516303fbaf7360e01b8152600260048201526024810182905260009073__$f57eb21c11c6dae369da3ca36f4f48eb77$__906303fbaf7390604401602060405180830381865af4158015610934573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610351919061130b565b6000546001600160a01b031633146105e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610a0e8484610cfe565b9050610a22858284608083013560256108c2565b5050505050565b6060838383604051602001610a409392919061128e565b60405160208183030381529060405290509392505050565b6040805160608089013560208301526080808a01359383019390935260a0890135908201528591016040516020818303038152906040528051906020012014610ab457604051636fbd3b7160e11b815260040160405180910390fd5b8273__$2a7ef22e717e9afc55afc95d018bf1a85b$__6379de4601610af0610adf60208b018b61122c565b60051b681fffffffffffffffe01690565b60058660408c0135610b0560e08e018e61132d565b6040518763ffffffff1660e01b8152600401610b2696959493929190611376565b602060405180830381865af4158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6791906113d9565b14610b8557604051634371daa160e11b815260040160405180910390fd5b600073__$2a7ef22e717e9afc55afc95d018bf1a85b$__63c84583a18780519060200120604051602001610bbb91815260200190565b60408051601f19818403018152908290526001600160e01b031960e084901b168252610bec916005906004016113f2565b602060405180830381865af4158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d91906113d9565b9050866040013573__$2a7ef22e717e9afc55afc95d018bf1a85b$__6379de4601610c648a6020016020810190610adf919061122c565b60058686610c7560c08f018f61132d565b6040518763ffffffff1660e01b8152600401610c9696959493929190611376565b602060405180830381865af4158015610cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd791906113d9565b14610cf55760405163017c689560e61b815260040160405180910390fd5b50505050505050565b60608282604051602001610d13929190611450565b604051602081830303815290604052905092915050565b600060208284031215610d3c57600080fd5b81356001600160e01b031981168114610d5457600080fd5b9392505050565b6001600160a01b03811681146106c757600080fd5b60008083601f840112610d8257600080fd5b5081356001600160401b03811115610d9957600080fd5b602083019150836020828501011115610db157600080fd5b9250929050565b600060408284031215610dca57600080fd5b50919050565b60008060008060608587031215610de657600080fd5b8435610df181610d5b565b935060208501356001600160401b0380821115610e0d57600080fd5b610e1988838901610d70565b90955093506040870135915080821115610e3257600080fd5b50610e3f87828801610db8565b91505092959194509250565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610e8957610e89610e4b565b604052919050565b600082601f830112610ea257600080fd5b81356001600160401b03811115610ebb57610ebb610e4b565b610ece601f8201601f1916602001610e61565b818152846020838601011115610ee357600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215610f1657600080fd5b8435610f2181610d5b565b93506020850135610f3181610d5b565b92506040850135915060608501356001600160401b03811115610f5357600080fd5b610e3f87828801610e91565b60008060408385031215610f7257600080fd5b8235610f7d81610d5b565b946020939093013593505050565b600080600060408486031215610fa057600080fd5b83356001600160401b0380821115610fb757600080fd5b610fc387838801610d70565b90955093506020860135915080821115610fdc57600080fd5b50610fe986828701610db8565b9150509250925092565b6000806040838503121561100657600080fd5b50508035926020909101359150565b600082601f83011261102657600080fd5b813560206001600160401b0382111561104157611041610e4b565b8160051b611050828201610e61565b928352848101820192828101908785111561106a57600080fd5b83870192505b8483101561108957823582529183019190830190611070565b979650505050505050565b600080600080600060a086880312156110ac57600080fd5b85356110b781610d5b565b945060208601356110c781610d5b565b935060408601356001600160401b03808211156110e357600080fd5b6110ef89838a01611015565b9450606088013591508082111561110557600080fd5b61111189838a01611015565b9350608088013591508082111561112757600080fd5b5061113488828901610e91565b9150509295509295909350565b600080600080600060a0868803121561115957600080fd5b853561116481610d5b565b9450602086013561117481610d5b565b9350604086013592506060860135915060808601356001600160401b0381111561119d57600080fd5b61113488828901610e91565b6000602082840312156111bb57600080fd5b8135610d5481610d5b565b6000808335601e198436030181126111dd57600080fd5b8301803591506001600160401b038211156111f757600080fd5b602001915036819003821315610db157600080fd5b6000823560fe1983360301811261122257600080fd5b9190910192915050565b60006020828403121561123e57600080fd5b81356001600160401b0381168114610d5457600080fd5b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906112b39083018486611265565b95945050505050565b6000806000606084860312156112d157600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561035157634e487b7160e01b600052601160045260246000fd5b60006020828403121561131d57600080fd5b81518015158114610d5457600080fd5b6000808335601e1984360301811261134457600080fd5b8301803591506001600160401b0382111561135e57600080fd5b6020019150600581901b3603821315610db157600080fd5b6001600160401b03878116825286166020820152604081018590526060810184905260a060808201819052810182905260006001600160fb1b038311156113bc57600080fd5b8260051b808560c08501379190910160c001979650505050505050565b6000602082840312156113eb57600080fd5b5051919050565b604081526000835180604084015260005b818110156114205760208187018101516060868401015201611403565b506000606082850101526060601f19601f8301168401019150506001600160401b03831660208301529392505050565b60208152600061053460208301848661126556fea2646970667358221220981835fbbf44aedaeb41e0c0c9001ffe55187a0b5606db0cdbf7500fc7c5e30e64736f6c63430008130033a2646970667358221220a12c770ef21751c306949fd9ed57ed453446a67f2dfb1d63d08c918461eca99764736f6c63430008130033",
153
- "libraries": {
154
- "Bitmask": "0xF5B2d8c81cDE4D6238bBf20D3D77DB37df13f735",
155
- "MerkleV2": "0x33436035441927Df1a73FE3AAC5906854632e53d"
156
- },
157
- "devdoc": {
158
- "events": {
159
- "ApplicationCreated(address,address,bytes32,address)": {
160
- "details": "MUST be triggered on a successful call to `newApplication`.",
161
- "params": {
162
- "application": "The application",
163
- "consensus": "The initial consensus contract",
164
- "dappOwner": "The initial DApp owner",
165
- "templateHash": "The initial machine state hash"
166
- }
167
- }
168
- },
169
- "kind": "dev",
170
- "methods": {
171
- "calculateApplicationAddress(address,address,bytes32,bytes32)": {
172
- "details": "Beware that only the `newApplication` function with the `_salt` parameter is able to deterministically deploy an application.",
173
- "params": {
174
- "_consensus": "The initial consensus contract",
175
- "_dappOwner": "The initial DApp owner",
176
- "_salt": "The salt used to deterministically generate the DApp address",
177
- "_templateHash": "The initial machine state hash"
178
- },
179
- "returns": {
180
- "_0": "The deterministic application address"
181
- }
182
- },
183
- "newApplication(address,address,bytes32)": {
184
- "details": "On success, MUST emit an `ApplicationCreated` event.",
185
- "params": {
186
- "_consensus": "The initial consensus contract",
187
- "_dappOwner": "The initial DApp owner",
188
- "_templateHash": "The initial machine state hash"
189
- },
190
- "returns": {
191
- "_0": "The application"
192
- }
193
- },
194
- "newApplication(address,address,bytes32,bytes32)": {
195
- "details": "On success, MUST emit an `ApplicationCreated` event.",
196
- "params": {
197
- "_consensus": "The initial consensus contract",
198
- "_dappOwner": "The initial DApp owner",
199
- "_salt": "The salt used to deterministically generate the DApp address",
200
- "_templateHash": "The initial machine state hash"
201
- },
202
- "returns": {
203
- "_0": "The application"
204
- }
205
- }
206
- },
207
- "title": "Cartesi DApp Factory",
208
- "version": 1
209
- },
210
- "userdoc": {
211
- "events": {
212
- "ApplicationCreated(address,address,bytes32,address)": {
213
- "notice": "A new application was deployed."
214
- }
215
- },
216
- "kind": "user",
217
- "methods": {
218
- "calculateApplicationAddress(address,address,bytes32,bytes32)": {
219
- "notice": "Calculate the address of an application to be deployed deterministically."
220
- },
221
- "newApplication(address,address,bytes32)": {
222
- "notice": "Deploy a new application."
223
- },
224
- "newApplication(address,address,bytes32,bytes32)": {
225
- "notice": "Deploy a new application deterministically."
226
- }
227
- },
228
- "notice": "Allows anyone to reliably deploy a new `CartesiDApp` contract.",
229
- "version": 1
230
- }
231
- }
@@ -1,213 +0,0 @@
1
- {
2
- "address": "0xB634F716BEd5Dd5A2b9a91C92474C499e50Cb27D",
3
- "abi": [
4
- {
5
- "inputs": [
6
- {
7
- "internalType": "uint256",
8
- "name": "_num",
9
- "type": "uint256"
10
- }
11
- ],
12
- "name": "clz",
13
- "outputs": [
14
- {
15
- "internalType": "uint256",
16
- "name": "",
17
- "type": "uint256"
18
- }
19
- ],
20
- "stateMutability": "pure",
21
- "type": "function"
22
- },
23
- {
24
- "inputs": [
25
- {
26
- "internalType": "uint256",
27
- "name": "_num",
28
- "type": "uint256"
29
- }
30
- ],
31
- "name": "ctz",
32
- "outputs": [
33
- {
34
- "internalType": "uint256",
35
- "name": "",
36
- "type": "uint256"
37
- }
38
- ],
39
- "stateMutability": "pure",
40
- "type": "function"
41
- },
42
- {
43
- "inputs": [
44
- {
45
- "internalType": "uint256",
46
- "name": "_num",
47
- "type": "uint256"
48
- }
49
- ],
50
- "name": "getLog2Floor",
51
- "outputs": [
52
- {
53
- "internalType": "uint8",
54
- "name": "",
55
- "type": "uint8"
56
- }
57
- ],
58
- "stateMutability": "pure",
59
- "type": "function"
60
- },
61
- {
62
- "inputs": [
63
- {
64
- "internalType": "uint256",
65
- "name": "_num",
66
- "type": "uint256"
67
- }
68
- ],
69
- "name": "getLog2TableTimes1M",
70
- "outputs": [
71
- {
72
- "internalType": "uint256",
73
- "name": "",
74
- "type": "uint256"
75
- }
76
- ],
77
- "stateMutability": "pure",
78
- "type": "function"
79
- },
80
- {
81
- "inputs": [
82
- {
83
- "internalType": "uint256",
84
- "name": "_num",
85
- "type": "uint256"
86
- }
87
- ],
88
- "name": "isPowerOf2",
89
- "outputs": [
90
- {
91
- "internalType": "bool",
92
- "name": "",
93
- "type": "bool"
94
- }
95
- ],
96
- "stateMutability": "pure",
97
- "type": "function"
98
- },
99
- {
100
- "inputs": [
101
- {
102
- "internalType": "uint256",
103
- "name": "_num",
104
- "type": "uint256"
105
- }
106
- ],
107
- "name": "log2ApproxTimes1M",
108
- "outputs": [
109
- {
110
- "internalType": "uint256",
111
- "name": "",
112
- "type": "uint256"
113
- }
114
- ],
115
- "stateMutability": "pure",
116
- "type": "function"
117
- }
118
- ],
119
- "transactionHash": "0x9e68c669a60072106e300304902f34895ec3a70249ba0ee1df57989de628d685",
120
- "receipt": {
121
- "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
122
- "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
123
- "contractAddress": null,
124
- "transactionIndex": 0,
125
- "gasUsed": "490151",
126
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
127
- "blockHash": "0xd17f46d501f151553b52480ecf3ad9251fd954de6331800bbe11a2b0cdb26bc2",
128
- "transactionHash": "0x9e68c669a60072106e300304902f34895ec3a70249ba0ee1df57989de628d685",
129
- "logs": [],
130
- "blockNumber": 4,
131
- "cumulativeGasUsed": "490151",
132
- "status": 1,
133
- "byzantium": true
134
- },
135
- "args": [],
136
- "numDeployments": 1,
137
- "bytecode": "0x6107e261003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806306c8e54b14610071578063296e7af81461009b57806330244f7a146100bc57806332ef283b146100cf578063d82ae4b1146100e2578063e3581b6814610105575b600080fd5b61008461007f366004610568565b610118565b60405160ff90911681526020015b60405180910390f35b6100ae6100a9366004610568565b610189565b604051908152602001610092565b6100ae6100ca366004610568565b6102b5565b6100ae6100dd366004610568565b6103f5565b6100f56100f0366004610568565b6104a6565b6040519015158152602001610092565b6100ae610113366004610568565b6104cc565b60008160000361016f5760405162461bcd60e51b815260206004820152601860248201527f6c6f67206f66207a65726f20697320756e646566696e6564000000000000000060448201526064015b60405180910390fd5b610178826102b5565b6101839060ff610597565b92915050565b60008160000361019c5750610100919050565b6000826fffffffffffffffffffffffffffffffff166000036101cd576101c38160806105aa565b9050608083901c92505b8267ffffffffffffffff166000036101f4576101ea8160406105aa565b9050604083901c92505b8263ffffffff166000036102175761020d8160206105aa565b9050602083901c92505b8261ffff166000036102385761022e8160106105aa565b9050601083901c92505b8260ff166000036102585761024e8160086105aa565b9050600883901c92505b82600f166000036102785761026e8160046105aa565b9050600483901c92505b826003166000036102985761028e8160026105aa565b9050600283901c92505b82600116600003610183576102ae8160016105aa565b9392505050565b6000816000036102c85750610100919050565b6000826fffffffffffffffffffffffffffffffff19166000036102fa576102f08160806105aa565b9050608083901b92505b826001600160c01b031916600003610321576103178160406105aa565b9050604083901b92505b826001600160e01b0319166000036103485761033e8160206105aa565b9050602083901b92505b826001600160f01b03191660000361036f576103658160106105aa565b9050601083901b92505b826001600160f81b0319166000036103965761038c8160086105aa565b9050600883901b92505b82600f60fc1b166000036103b9576103af8160046105aa565b9050600483901b92505b82600360fe1b166000036103dc576103d28160026105aa565b9050600283901b92505b82600160ff1b16600003610183576102ae8160016105aa565b600080805b60038160ff16101561049c576000604051806101a00160405280610180815260200161062d610180913960ff8316610433600188610597565b61043e9060036105bd565b61044891906105aa565b81518110610458576104586105d4565b01602001516001600160f81b03191690506104748260086105ea565b60ff16816001600160e81b031916901c831792505080806104949061060d565b9150506103fa565b5060e81c92915050565b6000816000036104b857506000919050565b6104c3600183610597565b90911615919050565b60008082116105155760405162461bcd60e51b81526020600482015260156024820152744e756d6265722063616e6e6f74206265207a65726f60581b6044820152606401610166565b6000826001036105285750600092915050565b608083111561054857600192831c9261054190826105aa565b9050610528565b610551836103f5565b61055e620f4240836105bd565b6102ae91906105aa565b60006020828403121561057a57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561018357610183610581565b8082018082111561018357610183610581565b808202811582820484141761018357610183610581565b634e487b7160e01b600052603260045260246000fd5b60ff818116838216029081169081811461060657610606610581565b5092915050565b600060ff821660ff810361062357610623610581565b6001019291505056fe0000000f4240182f421e8480236e082771822ad63a2dc6c0305e8532b04834c96736b3c23876d73a187a3b9d4a3d09003e5ea63fa0c540d17741f28843057d440ba745062945f60246dc1047b917488dc7495aba4a207c4adf8a4b98544c4b404cf8aa4da0e64e44434ee3054f7d6d5013b750a61a5134c851bff05247bd52cc58534de753cc8d54486954c19c55384255ac75561e50568de956fb575766b057d00758376f589cfa5900ba5962bc59c3135a21ca5a7ef15ada945b34bf5b8d805be4df5c3aea5c8fa95ce3265d356c5d86835dd6735e25455e73005ebfad5f0b525f55f75f9fa25fe85a60302460770860bd0a61023061467f6189fd61ccae620e98624fbf62902762cfd5630ecd634d12638aa963c7966403dc643f7f647a8264b4e864eeb56527ec6560906598a365d029660724663d9766738566a8f066ddda6712476746386779af67acaf67df3a6811526842fa68743268a4fc68d55c6905536934e169640a6992cf69c13169ef326a1cd46a4a186a76ff6aa38c6acfc0a26469706673582212201ecec337bf7d70d1c6fbf67bfe6ec479ae3ee824b29f7aae05f18fc4ddc31cfd64736f6c63430008140033",
138
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806306c8e54b14610071578063296e7af81461009b57806330244f7a146100bc57806332ef283b146100cf578063d82ae4b1146100e2578063e3581b6814610105575b600080fd5b61008461007f366004610568565b610118565b60405160ff90911681526020015b60405180910390f35b6100ae6100a9366004610568565b610189565b604051908152602001610092565b6100ae6100ca366004610568565b6102b5565b6100ae6100dd366004610568565b6103f5565b6100f56100f0366004610568565b6104a6565b6040519015158152602001610092565b6100ae610113366004610568565b6104cc565b60008160000361016f5760405162461bcd60e51b815260206004820152601860248201527f6c6f67206f66207a65726f20697320756e646566696e6564000000000000000060448201526064015b60405180910390fd5b610178826102b5565b6101839060ff610597565b92915050565b60008160000361019c5750610100919050565b6000826fffffffffffffffffffffffffffffffff166000036101cd576101c38160806105aa565b9050608083901c92505b8267ffffffffffffffff166000036101f4576101ea8160406105aa565b9050604083901c92505b8263ffffffff166000036102175761020d8160206105aa565b9050602083901c92505b8261ffff166000036102385761022e8160106105aa565b9050601083901c92505b8260ff166000036102585761024e8160086105aa565b9050600883901c92505b82600f166000036102785761026e8160046105aa565b9050600483901c92505b826003166000036102985761028e8160026105aa565b9050600283901c92505b82600116600003610183576102ae8160016105aa565b9392505050565b6000816000036102c85750610100919050565b6000826fffffffffffffffffffffffffffffffff19166000036102fa576102f08160806105aa565b9050608083901b92505b826001600160c01b031916600003610321576103178160406105aa565b9050604083901b92505b826001600160e01b0319166000036103485761033e8160206105aa565b9050602083901b92505b826001600160f01b03191660000361036f576103658160106105aa565b9050601083901b92505b826001600160f81b0319166000036103965761038c8160086105aa565b9050600883901b92505b82600f60fc1b166000036103b9576103af8160046105aa565b9050600483901b92505b82600360fe1b166000036103dc576103d28160026105aa565b9050600283901b92505b82600160ff1b16600003610183576102ae8160016105aa565b600080805b60038160ff16101561049c576000604051806101a00160405280610180815260200161062d610180913960ff8316610433600188610597565b61043e9060036105bd565b61044891906105aa565b81518110610458576104586105d4565b01602001516001600160f81b03191690506104748260086105ea565b60ff16816001600160e81b031916901c831792505080806104949061060d565b9150506103fa565b5060e81c92915050565b6000816000036104b857506000919050565b6104c3600183610597565b90911615919050565b60008082116105155760405162461bcd60e51b81526020600482015260156024820152744e756d6265722063616e6e6f74206265207a65726f60581b6044820152606401610166565b6000826001036105285750600092915050565b608083111561054857600192831c9261054190826105aa565b9050610528565b610551836103f5565b61055e620f4240836105bd565b6102ae91906105aa565b60006020828403121561057a57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561018357610183610581565b8082018082111561018357610183610581565b808202811582820484141761018357610183610581565b634e487b7160e01b600052603260045260246000fd5b60ff818116838216029081169081811461060657610606610581565b5092915050565b600060ff821660ff810361062357610623610581565b6001019291505056fe0000000f4240182f421e8480236e082771822ad63a2dc6c0305e8532b04834c96736b3c23876d73a187a3b9d4a3d09003e5ea63fa0c540d17741f28843057d440ba745062945f60246dc1047b917488dc7495aba4a207c4adf8a4b98544c4b404cf8aa4da0e64e44434ee3054f7d6d5013b750a61a5134c851bff05247bd52cc58534de753cc8d54486954c19c55384255ac75561e50568de956fb575766b057d00758376f589cfa5900ba5962bc59c3135a21ca5a7ef15ada945b34bf5b8d805be4df5c3aea5c8fa95ce3265d356c5d86835dd6735e25455e73005ebfad5f0b525f55f75f9fa25fe85a60302460770860bd0a61023061467f6189fd61ccae620e98624fbf62902762cfd5630ecd634d12638aa963c7966403dc643f7f647a8264b4e864eeb56527ec6560906598a365d029660724663d9766738566a8f066ddda6712476746386779af67acaf67df3a6811526842fa68743268a4fc68d55c6905536934e169640a6992cf69c13169ef326a1cd46a4a186a76ff6aa38c6acfc0a26469706673582212201ecec337bf7d70d1c6fbf67bfe6ec479ae3ee824b29f7aae05f18fc4ddc31cfd64736f6c63430008140033",
139
- "devdoc": {
140
- "kind": "dev",
141
- "methods": {
142
- "clz(uint256)": {
143
- "details": "this a binary search implementation",
144
- "params": {
145
- "_num": "number you want the clz of"
146
- }
147
- },
148
- "ctz(uint256)": {
149
- "details": "this a binary search implementation",
150
- "params": {
151
- "_num": "number you want the ctz of"
152
- }
153
- },
154
- "getLog2Floor(uint256)": {
155
- "params": {
156
- "_num": "number to take floor(log2) of"
157
- },
158
- "returns": {
159
- "_0": "floor(log2) of _num"
160
- }
161
- },
162
- "getLog2TableTimes1M(uint256)": {
163
- "params": {
164
- "_num": "number to take log2 of"
165
- },
166
- "returns": {
167
- "_0": "result after table look-up"
168
- }
169
- },
170
- "isPowerOf2(uint256)": {
171
- "params": {
172
- "_num": "number to check"
173
- },
174
- "returns": {
175
- "_0": "true if number is power of 2, false if not"
176
- }
177
- },
178
- "log2ApproxTimes1M(uint256)": {
179
- "params": {
180
- "_num": "number to take log2 * 1M of"
181
- },
182
- "returns": {
183
- "_0": "approximate log2 times 1M"
184
- }
185
- }
186
- },
187
- "version": 1
188
- },
189
- "userdoc": {
190
- "kind": "user",
191
- "methods": {
192
- "clz(uint256)": {
193
- "notice": "count leading zeros"
194
- },
195
- "ctz(uint256)": {
196
- "notice": "count trailing zeros"
197
- },
198
- "getLog2Floor(uint256)": {
199
- "notice": "get floor of log2 of number"
200
- },
201
- "getLog2TableTimes1M(uint256)": {
202
- "notice": "navigates log2tableTimes1M"
203
- },
204
- "isPowerOf2(uint256)": {
205
- "notice": "checks if a number is Power of 2"
206
- },
207
- "log2ApproxTimes1M(uint256)": {
208
- "notice": "Approximates log2 * 1M"
209
- }
210
- },
211
- "version": 1
212
- }
213
- }
@@ -1,102 +0,0 @@
1
- {
2
- "address": "0xF5DE34d6BbC0446E2a45719E718efEbaaE179daE",
3
- "abi": [
4
- {
5
- "inputs": [
6
- {
7
- "internalType": "contract IInputBox",
8
- "name": "_inputBox",
9
- "type": "address"
10
- }
11
- ],
12
- "stateMutability": "nonpayable",
13
- "type": "constructor"
14
- },
15
- {
16
- "inputs": [],
17
- "name": "getInputBox",
18
- "outputs": [
19
- {
20
- "internalType": "contract IInputBox",
21
- "name": "",
22
- "type": "address"
23
- }
24
- ],
25
- "stateMutability": "view",
26
- "type": "function"
27
- },
28
- {
29
- "inputs": [
30
- {
31
- "internalType": "address",
32
- "name": "_dapp",
33
- "type": "address"
34
- }
35
- ],
36
- "name": "relayDAppAddress",
37
- "outputs": [],
38
- "stateMutability": "nonpayable",
39
- "type": "function"
40
- }
41
- ],
42
- "transactionHash": "0x4d2afa68b7c756874449e4730c32b6fca5eefe1572d1d184365b302d6aa38306",
43
- "receipt": {
44
- "to": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7",
45
- "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
46
- "contractAddress": null,
47
- "transactionIndex": 0,
48
- "gasUsed": "175472",
49
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
50
- "blockHash": "0x6e32d1c95d9f09cf0059de570e4b5950054787360539108db2032e1bec9b62d6",
51
- "transactionHash": "0x4d2afa68b7c756874449e4730c32b6fca5eefe1572d1d184365b302d6aa38306",
52
- "logs": [],
53
- "blockNumber": 13,
54
- "cumulativeGasUsed": "175472",
55
- "status": 1,
56
- "byzantium": true
57
- },
58
- "args": [
59
- "0x59b22D57D4f067708AB0c00552767405926dc768"
60
- ],
61
- "numDeployments": 1,
62
- "bytecode": "0x60a060405234801561001057600080fd5b506040516102bc3803806102bc83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161022c61009060003960008181603c015260c8015261022c6000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a5780633016f49e14610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a61008536600461014f565b61008c565b005b60408051606083901b6bffffffffffffffffffffffff19166020820152815180820360140181526034820192839052631789cd6360e01b9092527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631789cd6390610107908590859060380161017f565b6020604051808303816000875af1158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a91906101dd565b505050565b60006020828403121561016157600080fd5b81356001600160a01b038116811461017857600080fd5b9392505050565b60018060a01b038316815260006020604081840152835180604085015260005b818110156101bb5785810183015185820160600152820161019f565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156101ef57600080fd5b505191905056fea264697066735822122069e730f7a2a395fe8a69c595a0c196f1b1dfb520ea883a704bd8cac077623cce64736f6c63430008130033",
63
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100355760003560e01c8062aace9a1461003a5780633016f49e14610077575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b61008a61008536600461014f565b61008c565b005b60408051606083901b6bffffffffffffffffffffffff19166020820152815180820360140181526034820192839052631789cd6360e01b9092527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631789cd6390610107908590859060380161017f565b6020604051808303816000875af1158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a91906101dd565b505050565b60006020828403121561016157600080fd5b81356001600160a01b038116811461017857600080fd5b9392505050565b60018060a01b038316815260006020604081840152835180604085015260005b818110156101bb5785810183015185820160600152820161019f565b506000606082860101526060601f19601f830116850101925050509392505050565b6000602082840312156101ef57600080fd5b505191905056fea264697066735822122069e730f7a2a395fe8a69c595a0c196f1b1dfb520ea883a704bd8cac077623cce64736f6c63430008130033",
64
- "devdoc": {
65
- "kind": "dev",
66
- "methods": {
67
- "constructor": {
68
- "params": {
69
- "_inputBox": "The input box used by the relay"
70
- }
71
- },
72
- "getInputBox()": {
73
- "returns": {
74
- "_0": "The input box"
75
- }
76
- },
77
- "relayDAppAddress(address)": {
78
- "params": {
79
- "_dapp": "The address of the DApp"
80
- }
81
- }
82
- },
83
- "title": "DApp Address Relay",
84
- "version": 1
85
- },
86
- "userdoc": {
87
- "kind": "user",
88
- "methods": {
89
- "constructor": {
90
- "notice": "Constructs the relay."
91
- },
92
- "getInputBox()": {
93
- "notice": "Get the input box used by this input relay."
94
- },
95
- "relayDAppAddress(address)": {
96
- "notice": "Add an input to a DApp's input box with its address."
97
- }
98
- },
99
- "notice": "This contract allows anyone to inform the off-chain machine of the address of the DApp contract in a trustless and permissionless way.",
100
- "version": 1
101
- }
102
- }