polkamarkets-js 3.4.1 → 3.4.3

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 (318) hide show
  1. package/package.json +1 -1
  2. package/script/AddAdminToLand.s.sol +1 -1
  3. package/script/ClaimMerkleRoot.s.sol +29 -29
  4. package/script/CreateLand.s.sol +1 -1
  5. package/script/DeployMerkleRewardsDistributor.s.sol +21 -21
  6. package/script/MintTokens.s.sol +1 -1
  7. package/script/PublishMerkleRoot.s.sol +50 -50
  8. package/script/UpdateMarket.s.sol +55 -0
  9. package/script/copy-abis.js +57 -0
  10. package/src/Application.js +12 -1
  11. package/src/models/IContract.js +87 -1
  12. package/src/models/PolkamarketsSmartAccount.js +23 -0
  13. package/src/models/PredictionMarketV3Contract.js +49 -16
  14. package/abis/AccessControlUpgradeable.json +0 -1
  15. package/abis/AddAdminToLand.json +0 -1
  16. package/abis/AddressUpgradeable.json +0 -1
  17. package/abis/ClaimMerkleRoot.json +0 -1
  18. package/abis/CreateLand.json +0 -1
  19. package/abis/CreateMarkets.json +0 -1
  20. package/abis/DeployContracts.json +0 -1
  21. package/abis/DeployMerkleRewardsDistributor.json +0 -1
  22. package/abis/DeployToken.json +0 -1
  23. package/abis/DeployUSDT.json +0 -1
  24. package/abis/ECDSA.json +0 -1
  25. package/abis/ERC165Upgradeable.json +0 -1
  26. package/abis/ERC1967UpgradeUpgradeable.json +0 -1
  27. package/abis/Hashes.json +0 -1
  28. package/abis/IBeaconUpgradeable.json +0 -1
  29. package/abis/IERC1822ProxiableUpgradeable.json +0 -1
  30. package/abis/IERC20PermitUpgradeable.json +0 -1
  31. package/abis/IERC20Upgradeable.json +0 -1
  32. package/abis/Manager.json +0 -1
  33. package/abis/MerkleProof.json +0 -1
  34. package/abis/MerkleRewardsDistributor.json +0 -1
  35. package/abis/MerkleRewardsDistributorTest.json +0 -1
  36. package/abis/MessageHashUtils.json +0 -1
  37. package/abis/MintTokens.json +0 -1
  38. package/abis/Nonces.json +0 -1
  39. package/abis/Panic.json +0 -1
  40. package/abis/PublishMerkleRoot.json +0 -1
  41. package/abis/ResolveMarket.json +0 -1
  42. package/abis/RewardsDistributor.json +0 -1
  43. package/abis/RewardsDistributorTest.json +0 -1
  44. package/abis/SafeCast.json +0 -1
  45. package/abis/SafeERC20Upgradeable.json +0 -1
  46. package/abis/SignedMath.json +0 -1
  47. package/abis/StorageSlotUpgradeable.json +0 -1
  48. package/abis/TradeMarket.json +0 -1
  49. package/abis/USDT.json +0 -1
  50. package/abis/UpdateMarket.json +0 -1
  51. package/abis/UpdateTest.json +0 -1
  52. package/abis/WhaleTest.json +0 -1
  53. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +0 -22
  54. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +0 -109
  55. package/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +0 -9
  56. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +0 -25
  57. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +0 -24
  58. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +0 -23
  59. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +0 -14
  60. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +0 -16
  61. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +0 -17
  62. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +0 -20
  63. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +0 -37
  64. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +0 -80
  65. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +0 -21
  66. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +0 -32
  67. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +0 -28
  68. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +0 -21
  69. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +0 -7
  70. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +0 -11
  71. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +0 -26
  72. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +0 -19
  73. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +0 -27
  74. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +0 -15
  75. package/lib/openzeppelin-contracts/docs/README.md +0 -16
  76. package/lib/openzeppelin-contracts/docs/antora.yml +0 -7
  77. package/lib/openzeppelin-contracts/docs/config.js +0 -21
  78. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +0 -97
  79. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +0 -47
  80. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +0 -99
  81. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  82. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  83. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  84. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  85. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  86. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  87. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  88. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  89. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  90. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  91. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  92. package/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +0 -29
  93. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +0 -288
  94. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +0 -100
  95. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +0 -354
  96. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +0 -50
  97. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +0 -143
  98. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +0 -118
  99. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +0 -71
  100. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +0 -67
  101. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +0 -214
  102. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +0 -47
  103. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +0 -58
  104. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +0 -51
  105. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +0 -13
  106. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +0 -239
  107. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +0 -70
  108. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +0 -306
  109. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +0 -31
  110. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +0 -77
  111. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +0 -591
  112. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +0 -15
  113. package/lib/openzeppelin-contracts/docs/templates/contract.hbs +0 -141
  114. package/lib/openzeppelin-contracts/docs/templates/helpers.js +0 -46
  115. package/lib/openzeppelin-contracts/docs/templates/page.hbs +0 -4
  116. package/lib/openzeppelin-contracts/docs/templates/properties.js +0 -88
  117. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC20WithAutoMinerRewardUpgradeable.sol +0 -28
  118. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC4626FeesUpgradeable.sol +0 -115
  119. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/MyNFTUpgradeable.sol +0 -14
  120. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintBaseUpgradeable.sol +0 -31
  121. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintMissingUpgradeable.sol +0 -30
  122. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRoleUpgradeable.sol +0 -29
  123. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlModifiedUpgradeable.sol +0 -20
  124. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessManagedERC20MintBaseUpgradeable.sol +0 -22
  125. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/MyContractOwnableUpgradeable.sol +0 -22
  126. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyAccountERC7702Upgradeable.sol +0 -26
  127. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyFactoryAccountUpgradeable.sol +0 -42
  128. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyGovernorUpgradeable.sol +0 -92
  129. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenTimestampBasedUpgradeable.sol +0 -39
  130. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenUpgradeable.sol +0 -28
  131. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenWrappedUpgradeable.sol +0 -39
  132. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/GameItemsUpgradeable.sol +0 -27
  133. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/MyERC115HolderContractUpgradeable.sol +0 -13
  134. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC20/GLDTokenUpgradeable.sol +0 -17
  135. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC6909/ERC6909GameItemsUpgradeable.sol +0 -31
  136. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC721/GameItemUpgradeable.sol +0 -24
  137. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/Base64NFTUpgradeable.sol +0 -32
  138. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/MulticallUpgradeable.sol +0 -21
  139. package/lib/openzeppelin-contracts-upgradeable/docs/README.md +0 -16
  140. package/lib/openzeppelin-contracts-upgradeable/docs/antora.yml +0 -7
  141. package/lib/openzeppelin-contracts-upgradeable/docs/config.js +0 -21
  142. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-control-multiple.svg +0 -97
  143. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager-functions.svg +0 -47
  144. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager.svg +0 -99
  145. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  146. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  147. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  148. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  149. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  150. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  151. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  152. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  153. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  154. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/tally-exec.png +0 -0
  155. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/tally-vote.png +0 -0
  156. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/nav.adoc +0 -29
  157. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/access-control.adoc +0 -288
  158. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/account-abstraction.adoc +0 -100
  159. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/accounts.adoc +0 -354
  160. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/backwards-compatibility.adoc +0 -50
  161. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/eoa-delegation.adoc +0 -143
  162. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc1155.adoc +0 -118
  163. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20-supply.adoc +0 -71
  164. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20.adoc +0 -67
  165. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc4626.adoc +0 -214
  166. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc6909.adoc +0 -47
  167. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc721.adoc +0 -58
  168. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/extending-contracts.adoc +0 -51
  169. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/faq.adoc +0 -13
  170. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/governance.adoc +0 -239
  171. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/index.adoc +0 -70
  172. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/multisig.adoc +0 -306
  173. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/tokens.adoc +0 -31
  174. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/upgradeable.adoc +0 -77
  175. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/utilities.adoc +0 -591
  176. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/wizard.adoc +0 -15
  177. package/lib/openzeppelin-contracts-upgradeable/docs/templates/contract.hbs +0 -141
  178. package/lib/openzeppelin-contracts-upgradeable/docs/templates/helpers.js +0 -46
  179. package/lib/openzeppelin-contracts-upgradeable/docs/templates/page.hbs +0 -4
  180. package/lib/openzeppelin-contracts-upgradeable/docs/templates/properties.js +0 -88
  181. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +0 -22
  182. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +0 -109
  183. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +0 -9
  184. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +0 -25
  185. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +0 -24
  186. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +0 -23
  187. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +0 -14
  188. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +0 -16
  189. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +0 -17
  190. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +0 -20
  191. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +0 -37
  192. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +0 -80
  193. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +0 -21
  194. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +0 -32
  195. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +0 -28
  196. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +0 -21
  197. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +0 -7
  198. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +0 -11
  199. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +0 -26
  200. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +0 -19
  201. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +0 -27
  202. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +0 -15
  203. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/README.md +0 -16
  204. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/antora.yml +0 -7
  205. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/config.js +0 -21
  206. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +0 -97
  207. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +0 -47
  208. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +0 -99
  209. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  210. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  211. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  212. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  213. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  214. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  215. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  216. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  217. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  218. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  219. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  220. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +0 -29
  221. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +0 -288
  222. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +0 -100
  223. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +0 -354
  224. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +0 -50
  225. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +0 -143
  226. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +0 -118
  227. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +0 -71
  228. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +0 -67
  229. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +0 -214
  230. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +0 -47
  231. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +0 -58
  232. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +0 -51
  233. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +0 -13
  234. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +0 -239
  235. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +0 -70
  236. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +0 -306
  237. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +0 -31
  238. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +0 -77
  239. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +0 -591
  240. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +0 -15
  241. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/contract.hbs +0 -141
  242. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/helpers.js +0 -46
  243. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/page.hbs +0 -4
  244. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/properties.js +0 -88
  245. package/lib/openzeppelin-contracts-upgradeable.git/docs/antora.yml +0 -6
  246. package/lib/openzeppelin-contracts-upgradeable.git/docs/config.js +0 -21
  247. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/images/tally-exec.png +0 -0
  248. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/images/tally-vote.png +0 -0
  249. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/nav.adoc +0 -23
  250. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/access-control.adoc +0 -217
  251. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  252. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  253. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/drafts.adoc +0 -19
  254. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc1155.adoc +0 -153
  255. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc20-supply.adoc +0 -113
  256. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc20.adoc +0 -85
  257. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc721.adoc +0 -90
  258. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc777.adoc +0 -73
  259. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/extending-contracts.adoc +0 -129
  260. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/governance.adoc +0 -321
  261. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/index.adoc +0 -63
  262. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  263. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/tokens.adoc +0 -32
  264. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/upgradeable.adoc +0 -73
  265. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/utilities.adoc +0 -190
  266. package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/wizard.adoc +0 -15
  267. package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/contract.hbs +0 -85
  268. package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/helpers.js +0 -46
  269. package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/page.hbs +0 -4
  270. package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/properties.js +0 -49
  271. package/lib/openzeppelin-contracts.git/docs/antora.yml +0 -6
  272. package/lib/openzeppelin-contracts.git/docs/config.js +0 -21
  273. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/images/tally-exec.png +0 -0
  274. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/images/tally-vote.png +0 -0
  275. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/nav.adoc +0 -23
  276. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/access-control.adoc +0 -217
  277. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  278. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  279. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/drafts.adoc +0 -19
  280. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc1155.adoc +0 -153
  281. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc20-supply.adoc +0 -113
  282. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc20.adoc +0 -85
  283. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc721.adoc +0 -90
  284. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc777.adoc +0 -73
  285. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/extending-contracts.adoc +0 -129
  286. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/governance.adoc +0 -321
  287. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/index.adoc +0 -63
  288. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  289. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/tokens.adoc +0 -32
  290. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/upgradeable.adoc +0 -73
  291. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/utilities.adoc +0 -190
  292. package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/wizard.adoc +0 -15
  293. package/lib/openzeppelin-contracts.git/docs/templates/contract.hbs +0 -85
  294. package/lib/openzeppelin-contracts.git/docs/templates/helpers.js +0 -46
  295. package/lib/openzeppelin-contracts.git/docs/templates/page.hbs +0 -4
  296. package/lib/openzeppelin-contracts.git/docs/templates/properties.js +0 -49
  297. package/lib/reality-eth-monorepo/packages/docs/Audit_Reality_v3_202108.pdf +0 -0
  298. package/lib/reality-eth-monorepo/packages/docs/Makefile +0 -20
  299. package/lib/reality-eth-monorepo/packages/docs/arbitrators.rst +0 -85
  300. package/lib/reality-eth-monorepo/packages/docs/audit.rst +0 -12
  301. package/lib/reality-eth-monorepo/packages/docs/audit_v2.rst +0 -249
  302. package/lib/reality-eth-monorepo/packages/docs/audit_v2_ERC20.rst +0 -1075
  303. package/lib/reality-eth-monorepo/packages/docs/audit_v3.rst +0 -70
  304. package/lib/reality-eth-monorepo/packages/docs/conf.py +0 -155
  305. package/lib/reality-eth-monorepo/packages/docs/contract_explanation.rst +0 -82
  306. package/lib/reality-eth-monorepo/packages/docs/contracts.rst +0 -277
  307. package/lib/reality-eth-monorepo/packages/docs/dapp.rst +0 -126
  308. package/lib/reality-eth-monorepo/packages/docs/dapp_links.rst +0 -67
  309. package/lib/reality-eth-monorepo/packages/docs/fees.rst +0 -89
  310. package/lib/reality-eth-monorepo/packages/docs/index.rst +0 -26
  311. package/lib/reality-eth-monorepo/packages/docs/javascript.rst +0 -142
  312. package/lib/reality-eth-monorepo/packages/docs/make.bat +0 -36
  313. package/lib/reality-eth-monorepo/packages/docs/question_box.png +0 -0
  314. package/lib/reality-eth-monorepo/packages/docs/requirements.txt +0 -24
  315. package/lib/reality-eth-monorepo/packages/docs/whitepaper.rst +0 -165
  316. package/test/UpdateTest.t.sol +0 -55
  317. package/test/WhaleTest.t.sol +0 -188
  318. package/tooling/docs/jsdoc.json +0 -6
@@ -1,109 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.20;
4
-
5
- import {IERC20} from "../../token/ERC20/IERC20.sol";
6
- import {ERC4626} from "../../token/ERC20/extensions/ERC4626.sol";
7
- import {SafeERC20} from "../../token/ERC20/utils/SafeERC20.sol";
8
- import {Math} from "../../utils/math/Math.sol";
9
-
10
- /// @dev ERC-4626 vault with entry/exit fees expressed in https://en.wikipedia.org/wiki/Basis_point[basis point (bp)].
11
- ///
12
- /// NOTE: The contract charges fees in terms of assets, not shares. This means that the fees are calculated based on the
13
- /// amount of assets that are being deposited or withdrawn, and not based on the amount of shares that are being minted or
14
- /// redeemed. This is an opinionated design decision that should be taken into account when integrating this contract.
15
- ///
16
- /// WARNING: This contract has not been audited and shouldn't be considered production ready. Consider using it with caution.
17
- abstract contract ERC4626Fees is ERC4626 {
18
- using Math for uint256;
19
-
20
- uint256 private constant _BASIS_POINT_SCALE = 1e4;
21
-
22
- // === Overrides ===
23
-
24
- /// @dev Preview taking an entry fee on deposit. See {IERC4626-previewDeposit}.
25
- function previewDeposit(uint256 assets) public view virtual override returns (uint256) {
26
- uint256 fee = _feeOnTotal(assets, _entryFeeBasisPoints());
27
- return super.previewDeposit(assets - fee);
28
- }
29
-
30
- /// @dev Preview adding an entry fee on mint. See {IERC4626-previewMint}.
31
- function previewMint(uint256 shares) public view virtual override returns (uint256) {
32
- uint256 assets = super.previewMint(shares);
33
- return assets + _feeOnRaw(assets, _entryFeeBasisPoints());
34
- }
35
-
36
- /// @dev Preview adding an exit fee on withdraw. See {IERC4626-previewWithdraw}.
37
- function previewWithdraw(uint256 assets) public view virtual override returns (uint256) {
38
- uint256 fee = _feeOnRaw(assets, _exitFeeBasisPoints());
39
- return super.previewWithdraw(assets + fee);
40
- }
41
-
42
- /// @dev Preview taking an exit fee on redeem. See {IERC4626-previewRedeem}.
43
- function previewRedeem(uint256 shares) public view virtual override returns (uint256) {
44
- uint256 assets = super.previewRedeem(shares);
45
- return assets - _feeOnTotal(assets, _exitFeeBasisPoints());
46
- }
47
-
48
- /// @dev Send entry fee to {_entryFeeRecipient}. See {IERC4626-_deposit}.
49
- function _deposit(address caller, address receiver, uint256 assets, uint256 shares) internal virtual override {
50
- uint256 fee = _feeOnTotal(assets, _entryFeeBasisPoints());
51
- address recipient = _entryFeeRecipient();
52
-
53
- super._deposit(caller, receiver, assets, shares);
54
-
55
- if (fee > 0 && recipient != address(this)) {
56
- SafeERC20.safeTransfer(IERC20(asset()), recipient, fee);
57
- }
58
- }
59
-
60
- /// @dev Send exit fee to {_exitFeeRecipient}. See {IERC4626-_deposit}.
61
- function _withdraw(
62
- address caller,
63
- address receiver,
64
- address owner,
65
- uint256 assets,
66
- uint256 shares
67
- ) internal virtual override {
68
- uint256 fee = _feeOnRaw(assets, _exitFeeBasisPoints());
69
- address recipient = _exitFeeRecipient();
70
-
71
- super._withdraw(caller, receiver, owner, assets, shares);
72
-
73
- if (fee > 0 && recipient != address(this)) {
74
- SafeERC20.safeTransfer(IERC20(asset()), recipient, fee);
75
- }
76
- }
77
-
78
- // === Fee configuration ===
79
-
80
- function _entryFeeBasisPoints() internal view virtual returns (uint256) {
81
- return 0; // replace with e.g. 100 for 1%
82
- }
83
-
84
- function _exitFeeBasisPoints() internal view virtual returns (uint256) {
85
- return 0; // replace with e.g. 100 for 1%
86
- }
87
-
88
- function _entryFeeRecipient() internal view virtual returns (address) {
89
- return address(0); // replace with e.g. a treasury address
90
- }
91
-
92
- function _exitFeeRecipient() internal view virtual returns (address) {
93
- return address(0); // replace with e.g. a treasury address
94
- }
95
-
96
- // === Fee operations ===
97
-
98
- /// @dev Calculates the fees that should be added to an amount `assets` that does not already include fees.
99
- /// Used in {IERC4626-mint} and {IERC4626-withdraw} operations.
100
- function _feeOnRaw(uint256 assets, uint256 feeBasisPoints) private pure returns (uint256) {
101
- return assets.mulDiv(feeBasisPoints, _BASIS_POINT_SCALE, Math.Rounding.Ceil);
102
- }
103
-
104
- /// @dev Calculates the fee part of an amount `assets` that already includes fees.
105
- /// Used in {IERC4626-deposit} and {IERC4626-redeem} operations.
106
- function _feeOnTotal(uint256 assets, uint256 feeBasisPoints) private pure returns (uint256) {
107
- return assets.mulDiv(feeBasisPoints, feeBasisPoints + _BASIS_POINT_SCALE, Math.Rounding.Ceil);
108
- }
109
- }
@@ -1,9 +0,0 @@
1
- // contracts/MyNFT.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {ERC721} from "../../token/ERC721/ERC721.sol";
6
-
7
- contract MyNFT is ERC721 {
8
- constructor() ERC721("MyNFT", "MNFT") {}
9
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessControl} from "../../../access/AccessControl.sol";
5
- import {ERC20} from "../../../token/ERC20/ERC20.sol";
6
-
7
- contract AccessControlERC20MintBase is ERC20, AccessControl {
8
- // Create a new role identifier for the minter role
9
- bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
10
-
11
- error CallerNotMinter(address caller);
12
-
13
- constructor(address minter) ERC20("MyToken", "TKN") {
14
- // Grant the minter role to a specified account
15
- _grantRole(MINTER_ROLE, minter);
16
- }
17
-
18
- function mint(address to, uint256 amount) public {
19
- // Check that the calling account has the minter role
20
- if (!hasRole(MINTER_ROLE, msg.sender)) {
21
- revert CallerNotMinter(msg.sender);
22
- }
23
- _mint(to, amount);
24
- }
25
- }
@@ -1,24 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessControl} from "../../../access/AccessControl.sol";
5
- import {ERC20} from "../../../token/ERC20/ERC20.sol";
6
-
7
- contract AccessControlERC20MintMissing is ERC20, AccessControl {
8
- bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
9
- bytes32 public constant BURNER_ROLE = keccak256("BURNER_ROLE");
10
-
11
- constructor() ERC20("MyToken", "TKN") {
12
- // Grant the contract deployer the default admin role: it will be able
13
- // to grant and revoke any roles
14
- _grantRole(DEFAULT_ADMIN_ROLE, msg.sender);
15
- }
16
-
17
- function mint(address to, uint256 amount) public onlyRole(MINTER_ROLE) {
18
- _mint(to, amount);
19
- }
20
-
21
- function burn(address from, uint256 amount) public onlyRole(BURNER_ROLE) {
22
- _burn(from, amount);
23
- }
24
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessControl} from "../../../access/AccessControl.sol";
5
- import {ERC20} from "../../../token/ERC20/ERC20.sol";
6
-
7
- contract AccessControlERC20Mint is ERC20, AccessControl {
8
- bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
9
- bytes32 public constant BURNER_ROLE = keccak256("BURNER_ROLE");
10
-
11
- constructor(address minter, address burner) ERC20("MyToken", "TKN") {
12
- _grantRole(MINTER_ROLE, minter);
13
- _grantRole(BURNER_ROLE, burner);
14
- }
15
-
16
- function mint(address to, uint256 amount) public onlyRole(MINTER_ROLE) {
17
- _mint(to, amount);
18
- }
19
-
20
- function burn(address from, uint256 amount) public onlyRole(BURNER_ROLE) {
21
- _burn(from, amount);
22
- }
23
- }
@@ -1,14 +0,0 @@
1
- // contracts/AccessControlModified.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {AccessControl} from "../../../access/AccessControl.sol";
6
-
7
- contract AccessControlModified is AccessControl {
8
- error AccessControlNonRevocable();
9
-
10
- // Override the revokeRole function
11
- function revokeRole(bytes32, address) public pure override {
12
- revert AccessControlNonRevocable();
13
- }
14
- }
@@ -1,16 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessManaged} from "../../../access/manager/AccessManaged.sol";
5
- import {ERC20} from "../../../token/ERC20/ERC20.sol";
6
-
7
- contract AccessManagedERC20Mint is ERC20, AccessManaged {
8
- constructor(address manager) ERC20("MyToken", "TKN") AccessManaged(manager) {}
9
-
10
- // Minting is restricted according to the manager rules for this function.
11
- // The function is identified by its selector: 0x40c10f19.
12
- // Calculated with bytes4(keccak256('mint(address,uint256)'))
13
- function mint(address to, uint256 amount) public restricted {
14
- _mint(to, amount);
15
- }
16
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.20;
4
-
5
- import {Ownable} from "../../../access/Ownable.sol";
6
-
7
- contract MyContract is Ownable {
8
- constructor(address initialOwner) Ownable(initialOwner) {}
9
-
10
- function normalThing() public {
11
- // anyone can call this normalThing()
12
- }
13
-
14
- function specialThing() public onlyOwner {
15
- // only the owner can call specialThing()!
16
- }
17
- }
@@ -1,20 +0,0 @@
1
- // contracts/MyAccountERC7702.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {Account} from "../../../account/Account.sol";
6
- import {ERC721Holder} from "../../../token/ERC721/utils/ERC721Holder.sol";
7
- import {ERC1155Holder} from "../../../token/ERC1155/utils/ERC1155Holder.sol";
8
- import {ERC7821} from "../../../account/extensions/draft-ERC7821.sol";
9
- import {SignerERC7702} from "../../../utils/cryptography/signers/SignerERC7702.sol";
10
-
11
- contract MyAccountERC7702 is Account, SignerERC7702, ERC7821, ERC721Holder, ERC1155Holder {
12
- /// @dev Allows the entry point as an authorized executor.
13
- function _erc7821AuthorizedExecutor(
14
- address caller,
15
- bytes32 mode,
16
- bytes calldata executionData
17
- ) internal view virtual override returns (bool) {
18
- return caller == address(entryPoint()) || super._erc7821AuthorizedExecutor(caller, mode, executionData);
19
- }
20
- }
@@ -1,37 +0,0 @@
1
- // contracts/MyFactoryAccount.sol
2
- // SPDX-License-Identifier: MIT
3
-
4
- pragma solidity ^0.8.20;
5
-
6
- import {Clones} from "../../../proxy/Clones.sol";
7
- import {Address} from "../../../utils/Address.sol";
8
-
9
- /**
10
- * @dev A factory contract to create accounts on demand.
11
- */
12
- contract MyFactoryAccount {
13
- using Clones for address;
14
- using Address for address;
15
-
16
- address private immutable _impl;
17
-
18
- constructor(address impl_) {
19
- require(impl_.code.length > 0);
20
- _impl = impl_;
21
- }
22
-
23
- /// @dev Predict the address of the account
24
- function predictAddress(bytes calldata callData) public view returns (address) {
25
- return _impl.predictDeterministicAddress(keccak256(callData), address(this));
26
- }
27
-
28
- /// @dev Create clone accounts on demand
29
- function cloneAndInitialize(bytes calldata callData) public returns (address) {
30
- address predicted = predictAddress(callData);
31
- if (predicted.code.length == 0) {
32
- _impl.cloneDeterministic(keccak256(callData));
33
- predicted.functionCall(callData);
34
- }
35
- return predicted;
36
- }
37
- }
@@ -1,80 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.24;
3
-
4
- import {Governor} from "../../../governance/Governor.sol";
5
- import {GovernorCountingSimple} from "../../../governance/extensions/GovernorCountingSimple.sol";
6
- import {GovernorVotes} from "../../../governance/extensions/GovernorVotes.sol";
7
- import {GovernorVotesQuorumFraction} from "../../../governance/extensions/GovernorVotesQuorumFraction.sol";
8
- import {GovernorTimelockControl} from "../../../governance/extensions/GovernorTimelockControl.sol";
9
- import {TimelockController} from "../../../governance/TimelockController.sol";
10
- import {IVotes} from "../../../governance/utils/IVotes.sol";
11
-
12
- contract MyGovernor is
13
- Governor,
14
- GovernorCountingSimple,
15
- GovernorVotes,
16
- GovernorVotesQuorumFraction,
17
- GovernorTimelockControl
18
- {
19
- constructor(
20
- IVotes _token,
21
- TimelockController _timelock
22
- ) Governor("MyGovernor") GovernorVotes(_token) GovernorVotesQuorumFraction(4) GovernorTimelockControl(_timelock) {}
23
-
24
- function votingDelay() public pure override returns (uint256) {
25
- return 7200; // 1 day
26
- }
27
-
28
- function votingPeriod() public pure override returns (uint256) {
29
- return 50400; // 1 week
30
- }
31
-
32
- function proposalThreshold() public pure override returns (uint256) {
33
- return 0;
34
- }
35
-
36
- // The functions below are overrides required by Solidity.
37
-
38
- function state(uint256 proposalId) public view override(Governor, GovernorTimelockControl) returns (ProposalState) {
39
- return super.state(proposalId);
40
- }
41
-
42
- function proposalNeedsQueuing(
43
- uint256 proposalId
44
- ) public view virtual override(Governor, GovernorTimelockControl) returns (bool) {
45
- return super.proposalNeedsQueuing(proposalId);
46
- }
47
-
48
- function _queueOperations(
49
- uint256 proposalId,
50
- address[] memory targets,
51
- uint256[] memory values,
52
- bytes[] memory calldatas,
53
- bytes32 descriptionHash
54
- ) internal override(Governor, GovernorTimelockControl) returns (uint48) {
55
- return super._queueOperations(proposalId, targets, values, calldatas, descriptionHash);
56
- }
57
-
58
- function _executeOperations(
59
- uint256 proposalId,
60
- address[] memory targets,
61
- uint256[] memory values,
62
- bytes[] memory calldatas,
63
- bytes32 descriptionHash
64
- ) internal override(Governor, GovernorTimelockControl) {
65
- super._executeOperations(proposalId, targets, values, calldatas, descriptionHash);
66
- }
67
-
68
- function _cancel(
69
- address[] memory targets,
70
- uint256[] memory values,
71
- bytes[] memory calldatas,
72
- bytes32 descriptionHash
73
- ) internal override(Governor, GovernorTimelockControl) returns (uint256) {
74
- return super._cancel(targets, values, calldatas, descriptionHash);
75
- }
76
-
77
- function _executor() internal view override(Governor, GovernorTimelockControl) returns (address) {
78
- return super._executor();
79
- }
80
- }
@@ -1,21 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {ERC20} from "../../../token/ERC20/ERC20.sol";
5
- import {ERC20Permit} from "../../../token/ERC20/extensions/ERC20Permit.sol";
6
- import {ERC20Votes} from "../../../token/ERC20/extensions/ERC20Votes.sol";
7
- import {Nonces} from "../../../utils/Nonces.sol";
8
-
9
- contract MyToken is ERC20, ERC20Permit, ERC20Votes {
10
- constructor() ERC20("MyToken", "MTK") ERC20Permit("MyToken") {}
11
-
12
- // The functions below are overrides required by Solidity.
13
-
14
- function _update(address from, address to, uint256 amount) internal override(ERC20, ERC20Votes) {
15
- super._update(from, to, amount);
16
- }
17
-
18
- function nonces(address owner) public view virtual override(ERC20Permit, Nonces) returns (uint256) {
19
- return super.nonces(owner);
20
- }
21
- }
@@ -1,32 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {ERC20} from "../../../token/ERC20/ERC20.sol";
5
- import {ERC20Permit} from "../../../token/ERC20/extensions/ERC20Permit.sol";
6
- import {ERC20Votes} from "../../../token/ERC20/extensions/ERC20Votes.sol";
7
- import {Nonces} from "../../../utils/Nonces.sol";
8
-
9
- contract MyTokenTimestampBased is ERC20, ERC20Permit, ERC20Votes {
10
- constructor() ERC20("MyTokenTimestampBased", "MTK") ERC20Permit("MyTokenTimestampBased") {}
11
-
12
- // Overrides IERC6372 functions to make the token & governor timestamp-based
13
-
14
- function clock() public view override returns (uint48) {
15
- return uint48(block.timestamp);
16
- }
17
-
18
- // solhint-disable-next-line func-name-mixedcase
19
- function CLOCK_MODE() public pure override returns (string memory) {
20
- return "mode=timestamp";
21
- }
22
-
23
- // The functions below are overrides required by Solidity.
24
-
25
- function _update(address from, address to, uint256 amount) internal override(ERC20, ERC20Votes) {
26
- super._update(from, to, amount);
27
- }
28
-
29
- function nonces(address owner) public view virtual override(ERC20Permit, Nonces) returns (uint256) {
30
- return super.nonces(owner);
31
- }
32
- }
@@ -1,28 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20, ERC20} from "../../../token/ERC20/ERC20.sol";
5
- import {ERC20Permit} from "../../../token/ERC20/extensions/ERC20Permit.sol";
6
- import {ERC20Votes} from "../../../token/ERC20/extensions/ERC20Votes.sol";
7
- import {ERC20Wrapper} from "../../../token/ERC20/extensions/ERC20Wrapper.sol";
8
- import {Nonces} from "../../../utils/Nonces.sol";
9
-
10
- contract MyTokenWrapped is ERC20, ERC20Permit, ERC20Votes, ERC20Wrapper {
11
- constructor(
12
- IERC20 wrappedToken
13
- ) ERC20("MyTokenWrapped", "MTK") ERC20Permit("MyTokenWrapped") ERC20Wrapper(wrappedToken) {}
14
-
15
- // The functions below are overrides required by Solidity.
16
-
17
- function decimals() public view override(ERC20, ERC20Wrapper) returns (uint8) {
18
- return super.decimals();
19
- }
20
-
21
- function _update(address from, address to, uint256 amount) internal override(ERC20, ERC20Votes) {
22
- super._update(from, to, amount);
23
- }
24
-
25
- function nonces(address owner) public view virtual override(ERC20Permit, Nonces) returns (uint256) {
26
- return super.nonces(owner);
27
- }
28
- }
@@ -1,21 +0,0 @@
1
- // contracts/GameItems.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {ERC1155} from "../../../../token/ERC1155/ERC1155.sol";
6
-
7
- contract GameItems is ERC1155 {
8
- uint256 public constant GOLD = 0;
9
- uint256 public constant SILVER = 1;
10
- uint256 public constant THORS_HAMMER = 2;
11
- uint256 public constant SWORD = 3;
12
- uint256 public constant SHIELD = 4;
13
-
14
- constructor() ERC1155("https://game.example/api/item/{id}.json") {
15
- _mint(msg.sender, GOLD, 10 ** 18, "");
16
- _mint(msg.sender, SILVER, 10 ** 27, "");
17
- _mint(msg.sender, THORS_HAMMER, 1, "");
18
- _mint(msg.sender, SWORD, 10 ** 9, "");
19
- _mint(msg.sender, SHIELD, 10 ** 9, "");
20
- }
21
- }
@@ -1,7 +0,0 @@
1
- // contracts/MyERC115HolderContract.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {ERC1155Holder} from "../../../../token/ERC1155/utils/ERC1155Holder.sol";
6
-
7
- contract MyERC115HolderContract is ERC1155Holder {}
@@ -1,11 +0,0 @@
1
- // contracts/GLDToken.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {ERC20} from "../../../../token/ERC20/ERC20.sol";
6
-
7
- contract GLDToken is ERC20 {
8
- constructor(uint256 initialSupply) ERC20("Gold", "GLD") {
9
- _mint(msg.sender, initialSupply);
10
- }
11
- }
@@ -1,26 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.20;
3
-
4
- import {ERC6909Metadata} from "../../../../token/ERC6909/extensions/draft-ERC6909Metadata.sol";
5
-
6
- contract ERC6909GameItems is ERC6909Metadata {
7
- uint256 public constant GOLD = 0;
8
- uint256 public constant SILVER = 1;
9
- uint256 public constant THORS_HAMMER = 2;
10
- uint256 public constant SWORD = 3;
11
- uint256 public constant SHIELD = 4;
12
-
13
- constructor() {
14
- _setDecimals(GOLD, 18);
15
- _setDecimals(SILVER, 18);
16
- // Default decimals is 0
17
- _setDecimals(SWORD, 9);
18
- _setDecimals(SHIELD, 9);
19
-
20
- _mint(msg.sender, GOLD, 10 ** 18);
21
- _mint(msg.sender, SILVER, 10_000 ** 18);
22
- _mint(msg.sender, THORS_HAMMER, 1);
23
- _mint(msg.sender, SWORD, 10 ** 9);
24
- _mint(msg.sender, SHIELD, 10 ** 9);
25
- }
26
- }
@@ -1,19 +0,0 @@
1
- // contracts/GameItem.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {ERC721URIStorage, ERC721} from "../../../../token/ERC721/extensions/ERC721URIStorage.sol";
6
-
7
- contract GameItem is ERC721URIStorage {
8
- uint256 private _nextTokenId;
9
-
10
- constructor() ERC721("GameItem", "ITM") {}
11
-
12
- function awardItem(address player, string memory tokenURI) public returns (uint256) {
13
- uint256 tokenId = _nextTokenId++;
14
- _mint(player, tokenId);
15
- _setTokenURI(tokenId, tokenURI);
16
-
17
- return tokenId;
18
- }
19
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.20;
4
-
5
- import {ERC721} from "../../../token/ERC721/ERC721.sol";
6
- import {Strings} from "../../../utils/Strings.sol";
7
- import {Base64} from "../../../utils/Base64.sol";
8
-
9
- contract Base64NFT is ERC721 {
10
- using Strings for uint256;
11
-
12
- constructor() ERC721("Base64NFT", "MTK") {}
13
-
14
- // ...
15
-
16
- function tokenURI(uint256 tokenId) public pure override returns (string memory) {
17
- // Equivalent to:
18
- // {
19
- // "name": "Base64NFT #1",
20
- // // Replace with extra ERC-721 Metadata properties
21
- // }
22
- // prettier-ignore
23
- string memory dataURI = string.concat("{\"name\": \"Base64NFT #", tokenId.toString(), "\"}");
24
-
25
- return string.concat("data:application/json;base64,", Base64.encode(bytes(dataURI)));
26
- }
27
- }
@@ -1,15 +0,0 @@
1
- // contracts/Box.sol
2
- // SPDX-License-Identifier: MIT
3
- pragma solidity ^0.8.20;
4
-
5
- import {Multicall} from "../../../utils/Multicall.sol";
6
-
7
- contract Box is Multicall {
8
- function foo() public {
9
- // ...
10
- }
11
-
12
- function bar() public {
13
- // ...
14
- }
15
- }
@@ -1,16 +0,0 @@
1
- Documentation is hosted at https://docs.openzeppelin.com/contracts.
2
-
3
- All of the content for the site is in this repository. The guides are in the
4
- [docs](/docs) directory, and the API Reference is extracted from comments in
5
- the source code. If you want to help improve the content, this is the
6
- repository you should be contributing to.
7
-
8
- [`solidity-docgen`](https://github.com/OpenZeppelin/solidity-docgen) is the
9
- program that extracts the API Reference from source code.
10
-
11
- The [`docs.openzeppelin.com`](https://github.com/OpenZeppelin/docs.openzeppelin.com)
12
- repository hosts the configuration for the entire site, which includes
13
- documentation for all of the OpenZeppelin projects.
14
-
15
- To run the docs locally you should run `npm run docs:watch` on this
16
- repository.
@@ -1,7 +0,0 @@
1
- name: contracts
2
- title: Contracts
3
- version: 5.x
4
- prerelease: false
5
- nav:
6
- - modules/ROOT/nav.adoc
7
- - modules/api/nav.adoc
@@ -1,21 +0,0 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
-
4
- /** @type import('solidity-docgen/dist/config').UserConfig */
5
- module.exports = {
6
- outputDir: 'docs/modules/api/pages',
7
- templates: 'docs/templates',
8
- exclude: ['mocks'],
9
- pageExtension: '.adoc',
10
- pages: (_, file, config) => {
11
- // For each contract file, find the closest README.adoc and return its location as the output page path.
12
- const sourcesDir = path.resolve(config.root, config.sourcesDir);
13
- let dir = path.resolve(config.root, file.absolutePath);
14
- while (dir.startsWith(sourcesDir)) {
15
- dir = path.dirname(dir);
16
- if (fs.existsSync(path.join(dir, 'README.adoc'))) {
17
- return path.relative(sourcesDir, dir) + config.pageExtension;
18
- }
19
- }
20
- },
21
- };