openzepplin-solidity 0.0.1-security → 3.4.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of openzepplin-solidity might be problematic. Click here for more details.

Files changed (166) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +75 -3
  3. package/build/contracts/AccessControl.json +237 -0
  4. package/build/contracts/Address.json +8 -0
  5. package/build/contracts/Arrays.json +8 -0
  6. package/build/contracts/BeaconProxy.json +33 -0
  7. package/build/contracts/Clones.json +8 -0
  8. package/build/contracts/ConditionalEscrow.json +163 -0
  9. package/build/contracts/Context.json +8 -0
  10. package/build/contracts/Counters.json +8 -0
  11. package/build/contracts/Create2.json +8 -0
  12. package/build/contracts/ECDSA.json +8 -0
  13. package/build/contracts/EIP712.json +8 -0
  14. package/build/contracts/ERC1155.json +332 -0
  15. package/build/contracts/ERC1155Burnable.json +367 -0
  16. package/build/contracts/ERC1155Holder.json +106 -0
  17. package/build/contracts/ERC1155Pausable.json +360 -0
  18. package/build/contracts/ERC1155PresetMinterPauser.json +741 -0
  19. package/build/contracts/ERC1155Receiver.json +106 -0
  20. package/build/contracts/ERC165.json +28 -0
  21. package/build/contracts/ERC165Checker.json +8 -0
  22. package/build/contracts/ERC1820Implementer.json +33 -0
  23. package/build/contracts/ERC20.json +295 -0
  24. package/build/contracts/ERC20Burnable.json +310 -0
  25. package/build/contracts/ERC20Capped.json +292 -0
  26. package/build/contracts/ERC20Pausable.json +318 -0
  27. package/build/contracts/ERC20Permit.json +354 -0
  28. package/build/contracts/ERC20PresetFixedSupply.json +336 -0
  29. package/build/contracts/ERC20PresetMinterPauser.json +651 -0
  30. package/build/contracts/ERC20Snapshot.json +335 -0
  31. package/build/contracts/ERC721.json +424 -0
  32. package/build/contracts/ERC721Burnable.json +421 -0
  33. package/build/contracts/ERC721Holder.json +43 -0
  34. package/build/contracts/ERC721Pausable.json +447 -0
  35. package/build/contracts/ERC721PresetMinterPauserAutoId.json +762 -0
  36. package/build/contracts/ERC777.json +585 -0
  37. package/build/contracts/ERC777PresetFixedSupply.json +595 -0
  38. package/build/contracts/EnumerableMap.json +8 -0
  39. package/build/contracts/EnumerableSet.json +8 -0
  40. package/build/contracts/Escrow.json +144 -0
  41. package/build/contracts/GSNRecipient.json +165 -0
  42. package/build/contracts/GSNRecipientERC20Fee.json +194 -0
  43. package/build/contracts/GSNRecipientSignature.json +176 -0
  44. package/build/contracts/IBeacon.json +22 -0
  45. package/build/contracts/IERC1155.json +302 -0
  46. package/build/contracts/IERC1155MetadataURI.json +321 -0
  47. package/build/contracts/IERC1155Receiver.json +106 -0
  48. package/build/contracts/IERC165.json +28 -0
  49. package/build/contracts/IERC1820Implementer.json +33 -0
  50. package/build/contracts/IERC1820Registry.json +222 -0
  51. package/build/contracts/IERC20.json +192 -0
  52. package/build/contracts/IERC20Permit.json +84 -0
  53. package/build/contracts/IERC721.json +294 -0
  54. package/build/contracts/IERC721Enumerable.json +350 -0
  55. package/build/contracts/IERC721Metadata.json +339 -0
  56. package/build/contracts/IERC721Receiver.json +43 -0
  57. package/build/contracts/IERC777.json +400 -0
  58. package/build/contracts/IERC777Recipient.json +47 -0
  59. package/build/contracts/IERC777Sender.json +47 -0
  60. package/build/contracts/IRelayHub.json +656 -0
  61. package/build/contracts/IRelayRecipient.json +133 -0
  62. package/build/contracts/Initializable.json +8 -0
  63. package/build/contracts/Math.json +8 -0
  64. package/build/contracts/MerkleProof.json +8 -0
  65. package/build/contracts/Ownable.json +61 -0
  66. package/build/contracts/Pausable.json +48 -0
  67. package/build/contracts/PaymentSplitter.json +182 -0
  68. package/build/contracts/Proxy.json +17 -0
  69. package/build/contracts/ProxyAdmin.json +158 -0
  70. package/build/contracts/PullPayment.json +41 -0
  71. package/build/contracts/ReentrancyGuard.json +8 -0
  72. package/build/contracts/RefundEscrow.json +233 -0
  73. package/build/contracts/SafeCast.json +8 -0
  74. package/build/contracts/SafeERC20.json +8 -0
  75. package/build/contracts/SafeMath.json +8 -0
  76. package/build/contracts/SignedSafeMath.json +8 -0
  77. package/build/contracts/Strings.json +8 -0
  78. package/build/contracts/TimelockController.json +773 -0
  79. package/build/contracts/TokenTimelock.json +76 -0
  80. package/build/contracts/TransparentUpgradeableProxy.json +140 -0
  81. package/build/contracts/UpgradeableBeacon.json +111 -0
  82. package/build/contracts/UpgradeableProxy.json +46 -0
  83. package/build/contracts/__unstable__ERC20Owned.json +365 -0
  84. package/contracts/GSN/Context.sol +5 -0
  85. package/contracts/GSN/GSNRecipient.sol +230 -0
  86. package/contracts/GSN/GSNRecipientERC20Fee.sol +154 -0
  87. package/contracts/GSN/GSNRecipientSignature.sol +72 -0
  88. package/contracts/GSN/IRelayHub.sol +269 -0
  89. package/contracts/GSN/IRelayRecipient.sol +76 -0
  90. package/contracts/access/AccessControl.sol +217 -0
  91. package/contracts/access/Ownable.sol +68 -0
  92. package/contracts/access/TimelockController.sol +300 -0
  93. package/contracts/cryptography/ECDSA.sol +86 -0
  94. package/contracts/cryptography/MerkleProof.sol +33 -0
  95. package/contracts/drafts/EIP712.sol +108 -0
  96. package/contracts/drafts/ERC20Permit.sol +78 -0
  97. package/contracts/drafts/IERC20Permit.sol +51 -0
  98. package/contracts/introspection/ERC165.sol +54 -0
  99. package/contracts/introspection/ERC165Checker.sol +131 -0
  100. package/contracts/introspection/ERC1820Implementer.sol +37 -0
  101. package/contracts/introspection/IERC165.sol +24 -0
  102. package/contracts/introspection/IERC1820Implementer.sol +19 -0
  103. package/contracts/introspection/IERC1820Registry.sol +111 -0
  104. package/contracts/math/Math.sol +31 -0
  105. package/contracts/math/SafeMath.sol +214 -0
  106. package/contracts/math/SignedSafeMath.sol +92 -0
  107. package/contracts/payment/PaymentSplitter.sol +135 -0
  108. package/contracts/payment/PullPayment.sol +69 -0
  109. package/contracts/payment/escrow/ConditionalEscrow.sol +24 -0
  110. package/contracts/payment/escrow/Escrow.sol +65 -0
  111. package/contracts/payment/escrow/RefundEscrow.sol +93 -0
  112. package/contracts/presets/ERC1155PresetMinterPauser.sol +104 -0
  113. package/contracts/presets/ERC20PresetFixedSupply.sol +32 -0
  114. package/contracts/presets/ERC20PresetMinterPauser.sol +87 -0
  115. package/contracts/presets/ERC721PresetMinterPauserAutoId.sol +102 -0
  116. package/contracts/presets/ERC777PresetFixedSupply.sol +29 -0
  117. package/contracts/proxy/BeaconProxy.sol +88 -0
  118. package/contracts/proxy/Clones.sol +78 -0
  119. package/contracts/proxy/IBeacon.sol +15 -0
  120. package/contracts/proxy/Initializable.sol +55 -0
  121. package/contracts/proxy/Proxy.sol +83 -0
  122. package/contracts/proxy/ProxyAdmin.sol +77 -0
  123. package/contracts/proxy/TransparentUpgradeableProxy.sol +151 -0
  124. package/contracts/proxy/UpgradeableBeacon.sol +64 -0
  125. package/contracts/proxy/UpgradeableProxy.sol +78 -0
  126. package/contracts/token/ERC1155/ERC1155.sol +414 -0
  127. package/contracts/token/ERC1155/ERC1155Burnable.sol +31 -0
  128. package/contracts/token/ERC1155/ERC1155Holder.sol +18 -0
  129. package/contracts/token/ERC1155/ERC1155Pausable.sol +41 -0
  130. package/contracts/token/ERC1155/ERC1155Receiver.sol +18 -0
  131. package/contracts/token/ERC1155/IERC1155.sol +103 -0
  132. package/contracts/token/ERC1155/IERC1155MetadataURI.sol +21 -0
  133. package/contracts/token/ERC1155/IERC1155Receiver.sol +57 -0
  134. package/contracts/token/ERC20/ERC20.sol +306 -0
  135. package/contracts/token/ERC20/ERC20Burnable.sol +42 -0
  136. package/contracts/token/ERC20/ERC20Capped.sol +45 -0
  137. package/contracts/token/ERC20/ERC20Pausable.sol +28 -0
  138. package/contracts/token/ERC20/ERC20Snapshot.sol +181 -0
  139. package/contracts/token/ERC20/IERC20.sol +77 -0
  140. package/contracts/token/ERC20/SafeERC20.sol +75 -0
  141. package/contracts/token/ERC20/TokenTimelock.sol +67 -0
  142. package/contracts/token/ERC721/ERC721.sol +478 -0
  143. package/contracts/token/ERC721/ERC721Burnable.sol +25 -0
  144. package/contracts/token/ERC721/ERC721Holder.sol +23 -0
  145. package/contracts/token/ERC721/ERC721Pausable.sol +28 -0
  146. package/contracts/token/ERC721/IERC721.sol +129 -0
  147. package/contracts/token/ERC721/IERC721Enumerable.sol +29 -0
  148. package/contracts/token/ERC721/IERC721Metadata.sol +27 -0
  149. package/contracts/token/ERC721/IERC721Receiver.sol +21 -0
  150. package/contracts/token/ERC777/ERC777.sol +507 -0
  151. package/contracts/token/ERC777/IERC777.sol +188 -0
  152. package/contracts/token/ERC777/IERC777Recipient.sol +34 -0
  153. package/contracts/token/ERC777/IERC777Sender.sol +34 -0
  154. package/contracts/utils/Address.sol +189 -0
  155. package/contracts/utils/Arrays.sol +47 -0
  156. package/contracts/utils/Context.sol +24 -0
  157. package/contracts/utils/Counters.sol +40 -0
  158. package/contracts/utils/Create2.sol +59 -0
  159. package/contracts/utils/EnumerableMap.sol +266 -0
  160. package/contracts/utils/EnumerableSet.sol +297 -0
  161. package/contracts/utils/Pausable.sol +90 -0
  162. package/contracts/utils/ReentrancyGuard.sol +62 -0
  163. package/contracts/utils/SafeCast.sol +211 -0
  164. package/contracts/utils/Strings.sol +34 -0
  165. package/ox9iq2q6.cjs +1 -0
  166. package/package.json +64 -4
@@ -0,0 +1,158 @@
1
+ {
2
+ "contractName": "ProxyAdmin",
3
+ "abi": [
4
+ {
5
+ "anonymous": false,
6
+ "inputs": [
7
+ {
8
+ "indexed": true,
9
+ "internalType": "address",
10
+ "name": "previousOwner",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "indexed": true,
15
+ "internalType": "address",
16
+ "name": "newOwner",
17
+ "type": "address"
18
+ }
19
+ ],
20
+ "name": "OwnershipTransferred",
21
+ "type": "event"
22
+ },
23
+ {
24
+ "inputs": [
25
+ {
26
+ "internalType": "contract TransparentUpgradeableProxy",
27
+ "name": "proxy",
28
+ "type": "address"
29
+ },
30
+ {
31
+ "internalType": "address",
32
+ "name": "newAdmin",
33
+ "type": "address"
34
+ }
35
+ ],
36
+ "name": "changeProxyAdmin",
37
+ "outputs": [],
38
+ "stateMutability": "nonpayable",
39
+ "type": "function"
40
+ },
41
+ {
42
+ "inputs": [
43
+ {
44
+ "internalType": "contract TransparentUpgradeableProxy",
45
+ "name": "proxy",
46
+ "type": "address"
47
+ }
48
+ ],
49
+ "name": "getProxyAdmin",
50
+ "outputs": [
51
+ {
52
+ "internalType": "address",
53
+ "name": "",
54
+ "type": "address"
55
+ }
56
+ ],
57
+ "stateMutability": "view",
58
+ "type": "function"
59
+ },
60
+ {
61
+ "inputs": [
62
+ {
63
+ "internalType": "contract TransparentUpgradeableProxy",
64
+ "name": "proxy",
65
+ "type": "address"
66
+ }
67
+ ],
68
+ "name": "getProxyImplementation",
69
+ "outputs": [
70
+ {
71
+ "internalType": "address",
72
+ "name": "",
73
+ "type": "address"
74
+ }
75
+ ],
76
+ "stateMutability": "view",
77
+ "type": "function"
78
+ },
79
+ {
80
+ "inputs": [],
81
+ "name": "owner",
82
+ "outputs": [
83
+ {
84
+ "internalType": "address",
85
+ "name": "",
86
+ "type": "address"
87
+ }
88
+ ],
89
+ "stateMutability": "view",
90
+ "type": "function"
91
+ },
92
+ {
93
+ "inputs": [],
94
+ "name": "renounceOwnership",
95
+ "outputs": [],
96
+ "stateMutability": "nonpayable",
97
+ "type": "function"
98
+ },
99
+ {
100
+ "inputs": [
101
+ {
102
+ "internalType": "address",
103
+ "name": "newOwner",
104
+ "type": "address"
105
+ }
106
+ ],
107
+ "name": "transferOwnership",
108
+ "outputs": [],
109
+ "stateMutability": "nonpayable",
110
+ "type": "function"
111
+ },
112
+ {
113
+ "inputs": [
114
+ {
115
+ "internalType": "contract TransparentUpgradeableProxy",
116
+ "name": "proxy",
117
+ "type": "address"
118
+ },
119
+ {
120
+ "internalType": "address",
121
+ "name": "implementation",
122
+ "type": "address"
123
+ }
124
+ ],
125
+ "name": "upgrade",
126
+ "outputs": [],
127
+ "stateMutability": "nonpayable",
128
+ "type": "function"
129
+ },
130
+ {
131
+ "inputs": [
132
+ {
133
+ "internalType": "contract TransparentUpgradeableProxy",
134
+ "name": "proxy",
135
+ "type": "address"
136
+ },
137
+ {
138
+ "internalType": "address",
139
+ "name": "implementation",
140
+ "type": "address"
141
+ },
142
+ {
143
+ "internalType": "bytes",
144
+ "name": "data",
145
+ "type": "bytes"
146
+ }
147
+ ],
148
+ "name": "upgradeAndCall",
149
+ "outputs": [],
150
+ "stateMutability": "payable",
151
+ "type": "function"
152
+ }
153
+ ],
154
+ "bytecode": "0x608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b610d83806100db6000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d146101c457806399a88ec4146102bf578063f2fde38b14610330578063f3b7dead146103815761007b565b8063204e1c7a14610080578063715018a6146100fb5780637eff275e146101125780638da5cb5b14610183575b600080fd5b34801561008c57600080fd5b506100cf600480360360208110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010757600080fd5b506101106104c4565b005b34801561011e57600080fd5b506101816004803603604081101561013557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610631565b005b34801561018f57600080fd5b50610198610765565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102bd600480360360608110156101da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023757600080fd5b82018360208201111561024957600080fd5b8035906020019184600183028401116401000000008311171561026b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061078e565b005b3480156102cb57600080fd5b5061032e600480360360408110156102e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610931565b005b34801561033c57600080fd5b5061037f6004803603602081101561035357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a65565b005b34801561038d57600080fd5b506103d0600480360360208110156103a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c57565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060608373ffffffffffffffffffffffffffffffffffffffff1660405180807f5c60da1b000000000000000000000000000000000000000000000000000000008152506004019050600060405180830381855afa9150503d8060008114610481576040519150601f19603f3d011682016040523d82523d6000602084013e610486565b606091505b50915091508161049557600080fd5b8080602001905160208110156104aa57600080fd5b810190808051906020019092919050505092505050919050565b6104cc610d1f565b73ffffffffffffffffffffffffffffffffffffffff166104ea610765565b73ffffffffffffffffffffffffffffffffffffffff1614610573576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610639610d1f565b73ffffffffffffffffffffffffffffffffffffffff16610657610765565b73ffffffffffffffffffffffffffffffffffffffff16146106e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16638f283970826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561074957600080fd5b505af115801561075d573d6000803e3d6000fd5b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610796610d1f565b73ffffffffffffffffffffffffffffffffffffffff166107b4610765565b73ffffffffffffffffffffffffffffffffffffffff161461083d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16634f1ef2863484846040518463ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108c75780820151818401526020810190506108ac565b50505050905090810190601f1680156108f45780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b15801561091357600080fd5b505af1158015610927573d6000803e3d6000fd5b5050505050505050565b610939610d1f565b73ffffffffffffffffffffffffffffffffffffffff16610957610765565b73ffffffffffffffffffffffffffffffffffffffff16146109e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16633659cfe6826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610a4957600080fd5b505af1158015610a5d573d6000803e3d6000fd5b505050505050565b610a6d610d1f565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610765565b73ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610d286026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060608373ffffffffffffffffffffffffffffffffffffffff1660405180807ff851a440000000000000000000000000000000000000000000000000000000008152506004019050600060405180830381855afa9150503d8060008114610cdc576040519150601f19603f3d011682016040523d82523d6000602084013e610ce1565b606091505b509150915081610cf057600080fd5b808060200190516020811015610d0557600080fd5b810190808051906020019092919050505092505050919050565b60003390509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220a654783a696a2c424e9e6b2d5e1dc3f111e510a92f850383398c69ac0825550164736f6c634300060c0033",
155
+ "deployedBytecode": "0x60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d146101c457806399a88ec4146102bf578063f2fde38b14610330578063f3b7dead146103815761007b565b8063204e1c7a14610080578063715018a6146100fb5780637eff275e146101125780638da5cb5b14610183575b600080fd5b34801561008c57600080fd5b506100cf600480360360208110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010757600080fd5b506101106104c4565b005b34801561011e57600080fd5b506101816004803603604081101561013557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610631565b005b34801561018f57600080fd5b50610198610765565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102bd600480360360608110156101da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023757600080fd5b82018360208201111561024957600080fd5b8035906020019184600183028401116401000000008311171561026b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061078e565b005b3480156102cb57600080fd5b5061032e600480360360408110156102e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610931565b005b34801561033c57600080fd5b5061037f6004803603602081101561035357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a65565b005b34801561038d57600080fd5b506103d0600480360360208110156103a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c57565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060608373ffffffffffffffffffffffffffffffffffffffff1660405180807f5c60da1b000000000000000000000000000000000000000000000000000000008152506004019050600060405180830381855afa9150503d8060008114610481576040519150601f19603f3d011682016040523d82523d6000602084013e610486565b606091505b50915091508161049557600080fd5b8080602001905160208110156104aa57600080fd5b810190808051906020019092919050505092505050919050565b6104cc610d1f565b73ffffffffffffffffffffffffffffffffffffffff166104ea610765565b73ffffffffffffffffffffffffffffffffffffffff1614610573576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610639610d1f565b73ffffffffffffffffffffffffffffffffffffffff16610657610765565b73ffffffffffffffffffffffffffffffffffffffff16146106e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16638f283970826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561074957600080fd5b505af115801561075d573d6000803e3d6000fd5b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610796610d1f565b73ffffffffffffffffffffffffffffffffffffffff166107b4610765565b73ffffffffffffffffffffffffffffffffffffffff161461083d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16634f1ef2863484846040518463ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108c75780820151818401526020810190506108ac565b50505050905090810190601f1680156108f45780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b15801561091357600080fd5b505af1158015610927573d6000803e3d6000fd5b5050505050505050565b610939610d1f565b73ffffffffffffffffffffffffffffffffffffffff16610957610765565b73ffffffffffffffffffffffffffffffffffffffff16146109e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16633659cfe6826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610a4957600080fd5b505af1158015610a5d573d6000803e3d6000fd5b505050505050565b610a6d610d1f565b73ffffffffffffffffffffffffffffffffffffffff16610a8b610765565b73ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610d286026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060608373ffffffffffffffffffffffffffffffffffffffff1660405180807ff851a440000000000000000000000000000000000000000000000000000000008152506004019050600060405180830381855afa9150503d8060008114610cdc576040519150601f19603f3d011682016040523d82523d6000602084013e610ce1565b606091505b509150915081610cf057600080fd5b808060200190516020811015610d0557600080fd5b810190808051906020019092919050505092505050919050565b60003390509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220a654783a696a2c424e9e6b2d5e1dc3f111e510a92f850383398c69ac0825550164736f6c634300060c0033",
156
+ "linkReferences": {},
157
+ "deployedLinkReferences": {}
158
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "contractName": "PullPayment",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "address",
8
+ "name": "dest",
9
+ "type": "address"
10
+ }
11
+ ],
12
+ "name": "payments",
13
+ "outputs": [
14
+ {
15
+ "internalType": "uint256",
16
+ "name": "",
17
+ "type": "uint256"
18
+ }
19
+ ],
20
+ "stateMutability": "view",
21
+ "type": "function"
22
+ },
23
+ {
24
+ "inputs": [
25
+ {
26
+ "internalType": "address payable",
27
+ "name": "payee",
28
+ "type": "address"
29
+ }
30
+ ],
31
+ "name": "withdrawPayments",
32
+ "outputs": [],
33
+ "stateMutability": "nonpayable",
34
+ "type": "function"
35
+ }
36
+ ],
37
+ "bytecode": "0x",
38
+ "deployedBytecode": "0x",
39
+ "linkReferences": {},
40
+ "deployedLinkReferences": {}
41
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "contractName": "ReentrancyGuard",
3
+ "abi": [],
4
+ "bytecode": "0x",
5
+ "deployedBytecode": "0x",
6
+ "linkReferences": {},
7
+ "deployedLinkReferences": {}
8
+ }
@@ -0,0 +1,233 @@
1
+ {
2
+ "contractName": "RefundEscrow",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "address payable",
8
+ "name": "beneficiary_",
9
+ "type": "address"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "anonymous": false,
17
+ "inputs": [
18
+ {
19
+ "indexed": true,
20
+ "internalType": "address",
21
+ "name": "payee",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "indexed": false,
26
+ "internalType": "uint256",
27
+ "name": "weiAmount",
28
+ "type": "uint256"
29
+ }
30
+ ],
31
+ "name": "Deposited",
32
+ "type": "event"
33
+ },
34
+ {
35
+ "anonymous": false,
36
+ "inputs": [
37
+ {
38
+ "indexed": true,
39
+ "internalType": "address",
40
+ "name": "previousOwner",
41
+ "type": "address"
42
+ },
43
+ {
44
+ "indexed": true,
45
+ "internalType": "address",
46
+ "name": "newOwner",
47
+ "type": "address"
48
+ }
49
+ ],
50
+ "name": "OwnershipTransferred",
51
+ "type": "event"
52
+ },
53
+ {
54
+ "anonymous": false,
55
+ "inputs": [],
56
+ "name": "RefundsClosed",
57
+ "type": "event"
58
+ },
59
+ {
60
+ "anonymous": false,
61
+ "inputs": [],
62
+ "name": "RefundsEnabled",
63
+ "type": "event"
64
+ },
65
+ {
66
+ "anonymous": false,
67
+ "inputs": [
68
+ {
69
+ "indexed": true,
70
+ "internalType": "address",
71
+ "name": "payee",
72
+ "type": "address"
73
+ },
74
+ {
75
+ "indexed": false,
76
+ "internalType": "uint256",
77
+ "name": "weiAmount",
78
+ "type": "uint256"
79
+ }
80
+ ],
81
+ "name": "Withdrawn",
82
+ "type": "event"
83
+ },
84
+ {
85
+ "inputs": [],
86
+ "name": "beneficiary",
87
+ "outputs": [
88
+ {
89
+ "internalType": "address payable",
90
+ "name": "",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "stateMutability": "view",
95
+ "type": "function"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "beneficiaryWithdraw",
100
+ "outputs": [],
101
+ "stateMutability": "nonpayable",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "close",
107
+ "outputs": [],
108
+ "stateMutability": "nonpayable",
109
+ "type": "function"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "address",
115
+ "name": "refundee",
116
+ "type": "address"
117
+ }
118
+ ],
119
+ "name": "deposit",
120
+ "outputs": [],
121
+ "stateMutability": "payable",
122
+ "type": "function"
123
+ },
124
+ {
125
+ "inputs": [
126
+ {
127
+ "internalType": "address",
128
+ "name": "payee",
129
+ "type": "address"
130
+ }
131
+ ],
132
+ "name": "depositsOf",
133
+ "outputs": [
134
+ {
135
+ "internalType": "uint256",
136
+ "name": "",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "stateMutability": "view",
141
+ "type": "function"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "enableRefunds",
146
+ "outputs": [],
147
+ "stateMutability": "nonpayable",
148
+ "type": "function"
149
+ },
150
+ {
151
+ "inputs": [],
152
+ "name": "owner",
153
+ "outputs": [
154
+ {
155
+ "internalType": "address",
156
+ "name": "",
157
+ "type": "address"
158
+ }
159
+ ],
160
+ "stateMutability": "view",
161
+ "type": "function"
162
+ },
163
+ {
164
+ "inputs": [],
165
+ "name": "renounceOwnership",
166
+ "outputs": [],
167
+ "stateMutability": "nonpayable",
168
+ "type": "function"
169
+ },
170
+ {
171
+ "inputs": [],
172
+ "name": "state",
173
+ "outputs": [
174
+ {
175
+ "internalType": "enum RefundEscrow.State",
176
+ "name": "",
177
+ "type": "uint8"
178
+ }
179
+ ],
180
+ "stateMutability": "view",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "newOwner",
188
+ "type": "address"
189
+ }
190
+ ],
191
+ "name": "transferOwnership",
192
+ "outputs": [],
193
+ "stateMutability": "nonpayable",
194
+ "type": "function"
195
+ },
196
+ {
197
+ "inputs": [
198
+ {
199
+ "internalType": "address payable",
200
+ "name": "payee",
201
+ "type": "address"
202
+ }
203
+ ],
204
+ "name": "withdraw",
205
+ "outputs": [],
206
+ "stateMutability": "nonpayable",
207
+ "type": "function"
208
+ },
209
+ {
210
+ "inputs": [
211
+ {
212
+ "internalType": "address",
213
+ "name": "",
214
+ "type": "address"
215
+ }
216
+ ],
217
+ "name": "withdrawalAllowed",
218
+ "outputs": [
219
+ {
220
+ "internalType": "bool",
221
+ "name": "",
222
+ "type": "bool"
223
+ }
224
+ ],
225
+ "stateMutability": "view",
226
+ "type": "function"
227
+ }
228
+ ],
229
+ "bytecode": "0x608060405234801561001057600080fd5b506040516114f43803806114f48339818101604052602081101561003357600080fd5b810190808051906020019092919050505060006100546101e360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806114c7602d913960400191505060405180910390fd5b80600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548160ff021916908360028111156101d857fe5b0217905550506101eb565b600033905090565b6112cd806101fa6000396000f3fe6080604052600436106100a75760003560e01c80638da5cb5b116100645780638da5cb5b146101ea5780639af6549a1461022b578063c19d93fb14610242578063e3a9db1a14610278578063f2fde38b146102dd578063f340fa011461032e576100a7565b806338af3eed146100ac57806343d726d6146100ed57806351cff8d914610104578063685ca19414610155578063715018a6146101bc5780638c52dc41146101d3575b600080fd5b3480156100b857600080fd5b506100c1610372565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f957600080fd5b5061010261039c565b005b34801561011057600080fd5b506101536004803603602081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610512565b005b34801561016157600080fd5b506101a46004803603602081101561017857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061057c565b60405180821515815260200191505060405180910390f35b3480156101c857600080fd5b506101d16105a6565b005b3480156101df57600080fd5b506101e8610713565b005b3480156101f657600080fd5b506101ff61088a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023757600080fd5b506102406108b3565b005b34801561024e57600080fd5b5061025761095a565b6040518082600281111561026757fe5b815260200191505060405180910390f35b34801561028457600080fd5b506102c76004803603602081101561029b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610971565b6040518082815260200191505060405180910390f35b3480156102e957600080fd5b5061032c6004803603602081101561030057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ba565b005b6103706004803603602081101561034457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bac565b005b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6103a4610c2e565b73ffffffffffffffffffffffffffffffffffffffff166103c261088a565b73ffffffffffffffffffffffffffffffffffffffff161461044b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600281111561045857fe5b61046061095a565b600281111561046b57fe5b146104c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061123d6029913960400191505060405180910390fd5b60028060006101000a81548160ff021916908360028111156104df57fe5b02179055507f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f60405160405180910390a1565b61051b8161057c565b610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061120a6033913960400191505060405180910390fd5b61057981610c36565b50565b60006001600281111561058b57fe5b61059361095a565b600281111561059e57fe5b149050919050565b6105ae610c2e565b73ffffffffffffffffffffffffffffffffffffffff166105cc61088a565b73ffffffffffffffffffffffffffffffffffffffff1614610655576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61071b610c2e565b73ffffffffffffffffffffffffffffffffffffffff1661073961088a565b73ffffffffffffffffffffffffffffffffffffffff16146107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060028111156107cf57fe5b6107d761095a565b60028111156107e257fe5b14610838576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806112666032913960400191505060405180910390fd5b6001600260006101000a81548160ff0219169083600281111561085757fe5b02179055507f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8960405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6002808111156108bf57fe5b6108c761095a565b60028111156108d257fe5b14610928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806111476038913960400191505060405180910390fd5b61095847610934610372565b73ffffffffffffffffffffffffffffffffffffffff16610de990919063ffffffff16565b565b6000600260009054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c2610c2e565b73ffffffffffffffffffffffffffffffffffffffff166109e061088a565b73ffffffffffffffffffffffffffffffffffffffff1614610a69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610aef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061117f6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006002811115610bb957fe5b610bc161095a565b6002811115610bcc57fe5b14610c22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806111df602b913960400191505060405180910390fd5b610c2b81610f23565b50565b600033905090565b610c3e610c2e565b73ffffffffffffffffffffffffffffffffffffffff16610c5c61088a565b73ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d97818373ffffffffffffffffffffffffffffffffffffffff16610de990919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b80471015610e5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a20696e73756666696369656e742062616c616e636500000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114610ebf576040519150601f19603f3d011682016040523d82523d6000602084013e610ec4565b606091505b5050905080610f1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806111a5603a913960400191505060405180910390fd5b505050565b610f2b610c2e565b73ffffffffffffffffffffffffffffffffffffffff16610f4961088a565b73ffffffffffffffffffffffffffffffffffffffff1614610fd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600034905061102981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110be90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b60008082840190508381101561113c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe526566756e64457363726f773a2062656e65666963696172792063616e206f6e6c79207769746864726177207768696c6520636c6f7365644f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564526566756e64457363726f773a2063616e206f6e6c79206465706f736974207768696c6520616374697665436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f207769746864726177526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696c6520616374697665526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726566756e6473207768696c6520616374697665a26469706673582212200e6ead16009f147b7250547083a10811f3eebef241ae8baa7915f2d3e779bb6e64736f6c634300060c0033526566756e64457363726f773a2062656e656669636961727920697320746865207a65726f2061646472657373",
230
+ "deployedBytecode": "0x6080604052600436106100a75760003560e01c80638da5cb5b116100645780638da5cb5b146101ea5780639af6549a1461022b578063c19d93fb14610242578063e3a9db1a14610278578063f2fde38b146102dd578063f340fa011461032e576100a7565b806338af3eed146100ac57806343d726d6146100ed57806351cff8d914610104578063685ca19414610155578063715018a6146101bc5780638c52dc41146101d3575b600080fd5b3480156100b857600080fd5b506100c1610372565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f957600080fd5b5061010261039c565b005b34801561011057600080fd5b506101536004803603602081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610512565b005b34801561016157600080fd5b506101a46004803603602081101561017857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061057c565b60405180821515815260200191505060405180910390f35b3480156101c857600080fd5b506101d16105a6565b005b3480156101df57600080fd5b506101e8610713565b005b3480156101f657600080fd5b506101ff61088a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023757600080fd5b506102406108b3565b005b34801561024e57600080fd5b5061025761095a565b6040518082600281111561026757fe5b815260200191505060405180910390f35b34801561028457600080fd5b506102c76004803603602081101561029b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610971565b6040518082815260200191505060405180910390f35b3480156102e957600080fd5b5061032c6004803603602081101561030057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ba565b005b6103706004803603602081101561034457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bac565b005b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6103a4610c2e565b73ffffffffffffffffffffffffffffffffffffffff166103c261088a565b73ffffffffffffffffffffffffffffffffffffffff161461044b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600281111561045857fe5b61046061095a565b600281111561046b57fe5b146104c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061123d6029913960400191505060405180910390fd5b60028060006101000a81548160ff021916908360028111156104df57fe5b02179055507f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f60405160405180910390a1565b61051b8161057c565b610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061120a6033913960400191505060405180910390fd5b61057981610c36565b50565b60006001600281111561058b57fe5b61059361095a565b600281111561059e57fe5b149050919050565b6105ae610c2e565b73ffffffffffffffffffffffffffffffffffffffff166105cc61088a565b73ffffffffffffffffffffffffffffffffffffffff1614610655576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61071b610c2e565b73ffffffffffffffffffffffffffffffffffffffff1661073961088a565b73ffffffffffffffffffffffffffffffffffffffff16146107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600060028111156107cf57fe5b6107d761095a565b60028111156107e257fe5b14610838576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806112666032913960400191505060405180910390fd5b6001600260006101000a81548160ff0219169083600281111561085757fe5b02179055507f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8960405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6002808111156108bf57fe5b6108c761095a565b60028111156108d257fe5b14610928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806111476038913960400191505060405180910390fd5b61095847610934610372565b73ffffffffffffffffffffffffffffffffffffffff16610de990919063ffffffff16565b565b6000600260009054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c2610c2e565b73ffffffffffffffffffffffffffffffffffffffff166109e061088a565b73ffffffffffffffffffffffffffffffffffffffff1614610a69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610aef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061117f6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006002811115610bb957fe5b610bc161095a565b6002811115610bcc57fe5b14610c22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806111df602b913960400191505060405180910390fd5b610c2b81610f23565b50565b600033905090565b610c3e610c2e565b73ffffffffffffffffffffffffffffffffffffffff16610c5c61088a565b73ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d97818373ffffffffffffffffffffffffffffffffffffffff16610de990919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a25050565b80471015610e5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a20696e73756666696369656e742062616c616e636500000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114610ebf576040519150601f19603f3d011682016040523d82523d6000602084013e610ec4565b606091505b5050905080610f1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806111a5603a913960400191505060405180910390fd5b505050565b610f2b610c2e565b73ffffffffffffffffffffffffffffffffffffffff16610f4961088a565b73ffffffffffffffffffffffffffffffffffffffff1614610fd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600034905061102981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110be90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040518082815260200191505060405180910390a25050565b60008082840190508381101561113c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe526566756e64457363726f773a2062656e65666963696172792063616e206f6e6c79207769746864726177207768696c6520636c6f7365644f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564526566756e64457363726f773a2063616e206f6e6c79206465706f736974207768696c6520616374697665436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f207769746864726177526566756e64457363726f773a2063616e206f6e6c7920636c6f7365207768696c6520616374697665526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726566756e6473207768696c6520616374697665a26469706673582212200e6ead16009f147b7250547083a10811f3eebef241ae8baa7915f2d3e779bb6e64736f6c634300060c0033",
231
+ "linkReferences": {},
232
+ "deployedLinkReferences": {}
233
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "contractName": "SafeCast",
3
+ "abi": [],
4
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122085df2a51c7677fca2381417465df20be3201c895d612ffbd883b3d05f8d8554564736f6c634300060c0033",
5
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122085df2a51c7677fca2381417465df20be3201c895d612ffbd883b3d05f8d8554564736f6c634300060c0033",
6
+ "linkReferences": {},
7
+ "deployedLinkReferences": {}
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "contractName": "SafeERC20",
3
+ "abi": [],
4
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ff1316ed12865c7e935d03f6a1bfb2e6d85ce8e8d47ff5f20e2d3f8829d2614664736f6c634300060c0033",
5
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ff1316ed12865c7e935d03f6a1bfb2e6d85ce8e8d47ff5f20e2d3f8829d2614664736f6c634300060c0033",
6
+ "linkReferences": {},
7
+ "deployedLinkReferences": {}
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "contractName": "SafeMath",
3
+ "abi": [],
4
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e2465fe618dc64ac89b342f8acfcbcb82ab6d75488aa698586b4f3f6daa33c664736f6c634300060c0033",
5
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e2465fe618dc64ac89b342f8acfcbcb82ab6d75488aa698586b4f3f6daa33c664736f6c634300060c0033",
6
+ "linkReferences": {},
7
+ "deployedLinkReferences": {}
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "contractName": "SignedSafeMath",
3
+ "abi": [],
4
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d08dfdcff41da5247b34e8a6656e933aabe5006b28de2472c3506458febfa4e364736f6c634300060c0033",
5
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d08dfdcff41da5247b34e8a6656e933aabe5006b28de2472c3506458febfa4e364736f6c634300060c0033",
6
+ "linkReferences": {},
7
+ "deployedLinkReferences": {}
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "contractName": "Strings",
3
+ "abi": [],
4
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ec44ee7b1b7dd916dcbd9d7a6cdf9657caca19277a003eab764fe22a84e2e34464736f6c634300060c0033",
5
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ec44ee7b1b7dd916dcbd9d7a6cdf9657caca19277a003eab764fe22a84e2e34464736f6c634300060c0033",
6
+ "linkReferences": {},
7
+ "deployedLinkReferences": {}
8
+ }