polkamarkets-js 3.3.1 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/abis/AccessControlUpgradeable.json +1 -0
  2. package/abis/AddressUpgradeable.json +1 -0
  3. package/abis/ECDSA.json +1 -0
  4. package/abis/ERC165Upgradeable.json +1 -0
  5. package/abis/ERC1967UpgradeUpgradeable.json +1 -0
  6. package/abis/Hashes.json +1 -0
  7. package/abis/IBeaconUpgradeable.json +1 -0
  8. package/abis/IERC1822ProxiableUpgradeable.json +1 -0
  9. package/abis/IERC20PermitUpgradeable.json +1 -0
  10. package/abis/IERC20Upgradeable.json +1 -0
  11. package/abis/Manager.json +1 -0
  12. package/abis/MerkleProof.json +1 -0
  13. package/abis/MerkleRewardsDistributor.json +1 -0
  14. package/abis/MerkleRewardsDistributorTest.json +1 -0
  15. package/abis/MessageHashUtils.json +1 -0
  16. package/abis/Nonces.json +1 -0
  17. package/abis/Panic.json +1 -0
  18. package/abis/PredictionMarketV3Querier.json +1 -1
  19. package/abis/RewardsDistributor.json +1 -0
  20. package/abis/RewardsDistributorTest.json +1 -0
  21. package/abis/SafeCast.json +1 -0
  22. package/abis/SafeERC20Upgradeable.json +1 -0
  23. package/abis/SignedMath.json +1 -0
  24. package/abis/StorageSlotUpgradeable.json +1 -0
  25. package/abis/UpdateMarket.json +1 -0
  26. package/abis/UpdateTest.json +1 -0
  27. package/abis/WhaleTest.json +1 -0
  28. package/contracts/PredictionMarketV3Querier.sol +4 -2
  29. package/package.json +1 -1
  30. package/{scripts → script}/AddAdminToLand.s.sol +2 -2
  31. package/script/ClaimMerkleRoot.s.sol +34 -0
  32. package/script/DeployMerkleRewardsDistributor.s.sol +27 -0
  33. package/script/PublishMerkleRoot.s.sol +50 -0
  34. package/src/Application.js +25 -4
  35. package/src/models/PredictionMarketV3Contract.js +2 -1
  36. package/src/utils/DualProvider.js +79 -0
  37. package/test/UpdateTest.t.sol +55 -55
  38. package/script/UpdateMarket.s.sol +0 -56
  39. package/scripts/ClaimMerkleRoot.s.sol +0 -34
  40. package/scripts/DeployMerkleRewardsDistributor.s.sol +0 -27
  41. package/scripts/PublishMerkleRoot.s.sol +0 -50
  42. package/scripts/UpdateMarket.s.sol +0 -55
  43. /package/{scripts → script}/CreateLand.s.sol +0 -0
  44. /package/{scripts → script}/CreateMarkets.s.sol +0 -0
  45. /package/{scripts → script}/DeployContracts.s.sol +0 -0
  46. /package/{scripts → script}/DeployToken.s.sol +0 -0
  47. /package/{scripts → script}/DeployUSDT.s.sol +0 -0
  48. /package/{scripts → script}/MintTokens.s.sol +0 -0
  49. /package/{scripts → script}/ResolveMarket.s.sol +0 -0
  50. /package/{scripts → script}/TradeMarket.s.sol +0 -0
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]}]}
@@ -0,0 +1 @@
1
+ {"abi":[]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}]}
@@ -0,0 +1 @@
1
+ {"abi":[]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"askQuestionERC20","inputs":[{"name":"template_id","type":"uint256","internalType":"uint256"},{"name":"question","type":"string","internalType":"string"},{"name":"arbitrator","type":"address","internalType":"address"},{"name":"timeout","type":"uint32","internalType":"uint32"},{"name":"opening_ts","type":"uint32","internalType":"uint32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"tokens","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getERC20RealitioAddress","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isAllowedToCreateMarket","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"error","name":"MerkleProofInvalidMultiproof","inputs":[]}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addAdmin","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claim","inputs":[{"name":"contestId","type":"string","internalType":"string"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"index","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"merkleProof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimMany","inputs":[{"name":"contestIds","type":"string[]","internalType":"string[]"},{"name":"tokens","type":"address[]","internalType":"contract IERC20[]"},{"name":"indices","type":"uint256[]","internalType":"uint256[]"},{"name":"users","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"merkleProofs","type":"bytes32[][]","internalType":"bytes32[][]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getRoot","inputs":[{"name":"contestId","type":"string","internalType":"string"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isAdmin","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isClaimed","inputs":[{"name":"contestId","type":"string","internalType":"string"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isClaimedMany","inputs":[{"name":"contestIds","type":"string[]","internalType":"string[]"},{"name":"tokens","type":"address[]","internalType":"contract IERC20[]"},{"name":"indices","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"publishRoot","inputs":[{"name":"contestId","type":"string","internalType":"string"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeAdmin","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdraw","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Claim","inputs":[{"name":"contestId","type":"string","indexed":false,"internalType":"string"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"index","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RootPublished","inputs":[{"name":"contestId","type":"string","indexed":false,"internalType":"string"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"rootKey","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"TokensWithdrawn","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_AdminRoleCanPublishRoot","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_AdminWithdraw","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_ClaimMany","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_ClaimMany_DuplicateIndexReverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_ClaimMany_LengthMismatchReverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_ClaimWithWrongTokenOrContest","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_IsClaimedReflectsState","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_OnlyOwnerGuards","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_PublishRootAndSingleClaim","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertOnDoubleClaim","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertOnInvalidProof","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RootNotSet_RevertOnClaim","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RootUpdateInvalidatesOldProof","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}]}
@@ -0,0 +1 @@
1
+ {"abi":[]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]}]}
@@ -0,0 +1 @@
1
+ {"abi":[]}
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[{"name":"_PredictionMarketV3","type":"address","internalType":"contract IPredictionMarketV3_4"}],"stateMutability":"nonpayable"},{"type":"function","name":"PredictionMarketV3","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPredictionMarketV3_4"}],"stateMutability":"view"},{"type":"function","name":"getMarketERC20Decimals","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketPrices","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PredictionMarketV3Querier.MarketPrices","components":[{"name":"liquidityPrice","type":"uint256","internalType":"uint256"},{"name":"outcomePrices","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"getMarketUsersData","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"},{"name":"users","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.UserMarketData[]","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getMarketsERC20Decimals","inputs":[{"name":"marketIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getMarketsPrices","inputs":[{"name":"marketIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.MarketPrices[]","components":[{"name":"liquidityPrice","type":"uint256","internalType":"uint256"},{"name":"outcomePrices","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"getUserAllMarketsData","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.UserMarketData[]","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getUserMarketData","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PredictionMarketV3Querier.UserMarketData","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getUserMarketsData","inputs":[{"name":"marketIds","type":"uint256[]","internalType":"uint256[]"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.UserMarketData[]","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"}]}],"stateMutability":"view"}]}
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"_PredictionMarketV3","type":"address","internalType":"contract IPredictionMarketV3_4"}],"stateMutability":"nonpayable"},{"type":"function","name":"PredictionMarketV3","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPredictionMarketV3_4"}],"stateMutability":"view"},{"type":"function","name":"getMarketERC20Decimals","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketPrices","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PredictionMarketV3Querier.MarketPrices","components":[{"name":"liquidityPrice","type":"uint256","internalType":"uint256"},{"name":"outcomePrices","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"getMarketUsersData","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"},{"name":"users","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.UserMarketData[]","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"},{"name":"feesToClaim","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getMarketsERC20Decimals","inputs":[{"name":"marketIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getMarketsPrices","inputs":[{"name":"marketIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.MarketPrices[]","components":[{"name":"liquidityPrice","type":"uint256","internalType":"uint256"},{"name":"outcomePrices","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"getUserAllMarketsData","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.UserMarketData[]","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"},{"name":"feesToClaim","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getUserMarketData","inputs":[{"name":"marketId","type":"uint256","internalType":"uint256"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PredictionMarketV3Querier.UserMarketData","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"},{"name":"feesToClaim","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getUserMarketsData","inputs":[{"name":"marketIds","type":"uint256[]","internalType":"uint256[]"},{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PredictionMarketV3Querier.UserMarketData[]","components":[{"name":"liquidityShares","type":"uint256","internalType":"uint256"},{"name":"outcomeShares","type":"uint256[]","internalType":"uint256[]"},{"name":"winningsToClaim","type":"bool","internalType":"bool"},{"name":"winningsClaimed","type":"bool","internalType":"bool"},{"name":"liquidityToClaim","type":"bool","internalType":"bool"},{"name":"liquidityClaimed","type":"bool","internalType":"bool"},{"name":"voidedSharesToClaim","type":"bool","internalType":"bool"},{"name":"feesToClaim","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"amountToClaim","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"amountToClaimByToken","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"contract IERC20[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"amountsToClaim","inputs":[{"name":"users","type":"address[]","internalType":"address[]"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"receiver","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimAmounts","inputs":[{"name":"users","type":"address[]","internalType":"address[]"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"claimAmounts","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimAmountsByToken","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"contract IERC20[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increaseUserClaimAmount","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"opId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseUsersClaimAmounts","inputs":[{"name":"users","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"opIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperationProcessed","inputs":[{"name":"opId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUserClaimAmount","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUsersClaimAmounts","inputs":[{"name":"users","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdrawTokens","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokensClaimed","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"receiver","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TokensWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserClaimAmountIncreased","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_AddAmountToClaimAndClaimByOtherUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_AdminAddRemoveAndIncreaseClaim","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_AdminWithdrawTokens","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_ContractDeploymentAndAdmin","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"test_RevertWhen_AmountDiffersFromSigned","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_DuplicateOpIdInBatch","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_NoAmountToClaim","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_NonAdminAddsAdmin","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_NonAdminIncreasesClaim","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_NonAdminRemovesAdmin","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_ReceiverDiffersFromSigned","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_ReusingNonceSignature","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_ReusingOperationId_Single","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"error","name":"SafeCastOverflowedIntDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedIntToUint","inputs":[{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeCastOverflowedUintToInt","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}]}]}
@@ -0,0 +1 @@
1
+ {"abi":[]}
@@ -0,0 +1 @@
1
+ {"abi":[]}
@@ -0,0 +1 @@
1
+ {"abi":[]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_POC","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}]}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_POC","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}]}
@@ -18,6 +18,7 @@ contract PredictionMarketV3Querier {
18
18
  bool liquidityToClaim;
19
19
  bool liquidityClaimed;
20
20
  bool voidedSharesToClaim;
21
+ uint256 feesToClaim;
21
22
  }
22
23
 
23
24
  struct MarketPrices {
@@ -35,7 +36,7 @@ contract PredictionMarketV3Querier {
35
36
  bool voidedSharesToClaim = false;
36
37
 
37
38
  (uint256 liquidityShares, uint256[] memory outcomeShares) = PredictionMarketV3.getUserMarketShares(marketId, user);
38
- (bool winningsToClaim, bool winningsClaimed, bool liquidityToClaim, bool liquidityClaimed, ) = PredictionMarketV3
39
+ (bool winningsToClaim, bool winningsClaimed, bool liquidityToClaim, bool liquidityClaimed, uint256 feesToClaim) = PredictionMarketV3
39
40
  .getUserClaimStatus(marketId, user);
40
41
 
41
42
  if (isMarketVoided) {
@@ -55,7 +56,8 @@ contract PredictionMarketV3Querier {
55
56
  winningsClaimed: winningsClaimed,
56
57
  liquidityToClaim: liquidityToClaim,
57
58
  liquidityClaimed: liquidityClaimed,
58
- voidedSharesToClaim: voidedSharesToClaim
59
+ voidedSharesToClaim: voidedSharesToClaim,
60
+ feesToClaim: feesToClaim
59
61
  });
60
62
  }
61
63
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polkamarkets-js",
3
- "version": "3.3.1",
3
+ "version": "3.4.1",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "directories": {
@@ -14,8 +14,8 @@ contract AddAdminToLand is Script {
14
14
 
15
15
  address PREDICTION_MARKET_V3_MANAGER = address(0xBC39fa757886E8A56422Abc460b1FFfc70bbaeC6);
16
16
  address PREDICTION_MARKET_V3 = address(0x39E66eE6b2ddaf4DEfDEd3038E0162180dbeF340);
17
- address LAND_TOKEN = address(0x55d398326f99059fF775485246999027B3197955);
18
- address admin = address(0x7836D709E750F6A2D6ff9362457028e8Cd901EB3);
17
+ address LAND_TOKEN = address(0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e);
18
+ address admin = address(0xAE7Bfff784EeEe7812D6527B72c77A7Ed773Ed9D);
19
19
 
20
20
  // PredictionMarketV3_4(payable(PREDICTION_MARKET_V3)).setAllowedManager(PREDICTION_MARKET_V3_MANAGER, true);
21
21
 
@@ -0,0 +1,34 @@
1
+ // // SPDX-License-Identifier: GPL-2.0
2
+ // pragma solidity ^0.8.26;
3
+
4
+ // import {Script} from "forge-std/Script.sol";
5
+ // import {console} from "forge-std/console.sol";
6
+ // import {MerkleRewardsDistributor} from "../contracts/MerkleRewardsDistributor.sol";
7
+ // import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
+
9
+ // contract ClaimMerkleRoot is Script {
10
+ // function run() public {
11
+ // vm.startBroadcast();
12
+
13
+ // MerkleRewardsDistributor distributor = MerkleRewardsDistributor(address(0x846BBEF1e62c211a16fD3F4Cd15C54B010D85036));
14
+ // IERC20 token = IERC20(address(0xf74B14ecbAdC9fBb283Fb3c8ae11E186856eae6f));
15
+ // string memory contestId = "7663c7a6-5c93-40e2-9de7-21a821d363e3";
16
+ // uint256 index = 4;
17
+ // address account = address(0x68FcB3Db1BA4Abb85D9f9420A110948e6459d613);
18
+ // uint256 amount = 200000;
19
+ // bytes32[] memory merkleProof = new bytes32[](2);
20
+ // merkleProof[0] = bytes32(0x7c0e1af482e345503812141a5583c24adcfb9304cd8674e2d55b875e1ec27fdc);
21
+ // merkleProof[1] = bytes32(0x995dc3a28d8b8bcf31a29435a588bfcea38841d36509f285b0ea606c0ee574bf);
22
+
23
+ // distributor.claim(
24
+ // contestId,
25
+ // IERC20(address(token)),
26
+ // index,
27
+ // account,
28
+ // amount,
29
+ // merkleProof
30
+ // );
31
+
32
+ // vm.stopBroadcast();
33
+ // }
34
+ // }
@@ -0,0 +1,27 @@
1
+ // // SPDX-License-Identifier: GPL-2.0
2
+ // pragma solidity ^0.8.26;
3
+
4
+ // import {Script} from "forge-std/Script.sol";
5
+ // import {console} from "forge-std/console.sol";
6
+ // import {MerkleRewardsDistributor} from "../contracts/MerkleRewardsDistributor.sol";
7
+ // import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
8
+
9
+ // contract DeployMerkleRewardsDistributor is Script {
10
+ // function run() public {
11
+ // vm.startBroadcast();
12
+
13
+ // address admin = address(0xAE7Bfff784EeEe7812D6527B72c77A7Ed773Ed9D);
14
+
15
+ // // it's a proxy
16
+ // address implementation = address(new MerkleRewardsDistributor());
17
+ // bytes memory initData = abi.encodeCall(MerkleRewardsDistributor.initialize, (admin));
18
+ // console.log("Initialization data for proxy:");
19
+ // console.logBytes(initData);
20
+
21
+ // ERC1967Proxy proxy = new ERC1967Proxy(implementation, initData);
22
+ // MerkleRewardsDistributor distributor = MerkleRewardsDistributor(address(proxy));
23
+ // console.log("MerkleRewardsDistributor deployed at:", address(distributor));
24
+
25
+ // vm.stopBroadcast();
26
+ // }
27
+ // }
@@ -0,0 +1,50 @@
1
+ // // SPDX-License-Identifier: GPL-2.0
2
+ // pragma solidity ^0.8.26;
3
+
4
+ // import {Script} from "forge-std/Script.sol";
5
+ // import {console} from "forge-std/console.sol";
6
+ // import {MerkleRewardsDistributor} from "../contracts/MerkleRewardsDistributor.sol";
7
+ // import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
+
9
+ // contract PublishMerkleRoot is Script {
10
+ // function run() public {
11
+ // vm.startBroadcast();
12
+
13
+ // MerkleRewardsDistributor distributor = MerkleRewardsDistributor(address(0x846BBEF1e62c211a16fD3F4Cd15C54B010D85036));
14
+ // IERC20 token = IERC20(address(0xf74B14ecbAdC9fBb283Fb3c8ae11E186856eae6f));
15
+ // bytes32 root = bytes32(0x07b1c91af93eaf54d8cf1644d632ddee695267f4044167b88842e90be3e4878e);
16
+ // string memory contestId = "55d2ca19-fee9-4320-a7c6-aea620ba7588";
17
+
18
+ // string[5] memory contestIds = [
19
+ // "8c8f733c-ecca-4a8b-8ce9-a1208f04de2a",
20
+ // "4f29b3d5-097a-404c-9014-9e5ba7cb38a0",
21
+ // "1577b57f-e763-4d07-8c58-56d36a49563e",
22
+ // "9fbcd4d2-3fb3-4c0b-9fcd-82e7604d1673",
23
+ // "b72746ec-8046-4ae5-9a34-92270ab6c3f7"
24
+ // ];
25
+
26
+ // bytes32[5] memory roots = [
27
+ // bytes32(0x29512536af9410dc44a47a16eeff9e65ebb3e05fd5c8369c2dfa59a5bee9e2ac),
28
+ // bytes32(0x66af758212a3c1ee876654b4e354908f57caf337178f3895dcc059e2b507ee83),
29
+ // bytes32(0x8d022151e97cfb76f08c309f24d13bea76d1f2d7d81c38f46c49d1584912f988),
30
+ // bytes32(0x1936d0d67853de21b9f4bd6f369c545e77b63c98596e95d61306f1ac1c0848f9),
31
+ // bytes32(0xe84504014594f44045abdb598af6253ac00d41f3da59002dcaa7fd4d3acaaf40)
32
+ // ];
33
+
34
+ // for (uint256 i = 0; i < contestIds.length; i++) {
35
+ // distributor.publishRoot(
36
+ // contestIds[i],
37
+ // IERC20(address(token)),
38
+ // roots[i]
39
+ // );
40
+ // }
41
+
42
+ // // distributor.publishRoot(
43
+ // // contestId,
44
+ // // IERC20(address(token)),
45
+ // // root
46
+ // // );
47
+
48
+ // vm.stopBroadcast();
49
+ // }
50
+ // }
@@ -18,6 +18,7 @@ const WETH9Contract = require("./models/index").WETH9Contract;
18
18
  const ArbitrationContract = require("./models/index").ArbitrationContract;
19
19
  const ArbitrationProxyContract = require("./models/index").ArbitrationProxyContract;
20
20
 
21
+ const DualProvider = require("./utils/DualProvider");
21
22
  const Account = require('./utils/Account');
22
23
 
23
24
 
@@ -38,7 +39,8 @@ class Application {
38
39
  isSocialLogin = false,
39
40
  socialLoginParams,
40
41
  startBlock,
41
- defaultDecimals
42
+ defaultDecimals,
43
+ useDualProvider = false
42
44
  }) {
43
45
  this.web3Provider = web3Provider;
44
46
  // evm logs http source (optional)
@@ -48,6 +50,8 @@ class Application {
48
50
  this.isSocialLogin = isSocialLogin;
49
51
  this.startBlock = startBlock;
50
52
  this.defaultDecimals = defaultDecimals;
53
+ // use DualProvider to separate read (HttpProvider) and write (window.ethereum) operations
54
+ this.useDualProvider = useDualProvider;
51
55
 
52
56
  if (this.isSocialLogin) {
53
57
  this.socialLoginParams = socialLoginParams;
@@ -70,7 +74,14 @@ class Application {
70
74
  * @description Start the Application
71
75
  */
72
76
  start() {
73
- this.web3 = new Web3(new Web3.providers.HttpProvider(this.web3Provider));
77
+ if (this.useDualProvider) {
78
+ // Store read provider for later use in DualProvider
79
+ this.readProvider = new Web3.providers.HttpProvider(this.web3Provider);
80
+ this.web3 = new Web3(this.readProvider);
81
+ } else {
82
+ // Backwards compatible: standard HttpProvider
83
+ this.web3 = new Web3(new Web3.providers.HttpProvider(this.web3Provider));
84
+ }
74
85
  this.web3.eth.handleRevert = true;
75
86
  if (typeof window !== "undefined") {
76
87
  window.web3 = this.web3;
@@ -97,8 +108,18 @@ class Application {
97
108
  try {
98
109
  if (typeof window === "undefined") { return false; }
99
110
  if (window.ethereum) {
100
- window.web3 = new Web3(window.ethereum);
101
- this.web3 = window.web3;
111
+ if (this.useDualProvider) {
112
+ // New approach: DualProvider for reads (HttpProvider) and writes (window.ethereum)
113
+ const dualProvider = new DualProvider(this.readProvider, window.ethereum);
114
+ this.web3 = new Web3(dualProvider);
115
+ this.web3.eth.handleRevert = true;
116
+ window.web3 = this.web3;
117
+ } else {
118
+ // Backwards compatible: replace web3 with window.ethereum
119
+ window.web3 = new Web3(window.ethereum);
120
+ this.web3 = window.web3;
121
+ }
122
+
102
123
  await window.ethereum.enable();
103
124
  return true;
104
125
  }
@@ -219,6 +219,7 @@ class PredictionMarketV3Contract extends PredictionMarketV2Contract {
219
219
  }));
220
220
 
221
221
  const liquidityFeesClaimed = _.sumBy(_.filter(events, { action: 'Claim Fees' }), 'value');
222
+ const liquidityFees = marketData.feesToClaim ? Numbers.fromDecimalsNumber(marketData.feesToClaim, decimals) : 0;
222
223
 
223
224
  const item = {
224
225
  liquidity: {
@@ -233,7 +234,7 @@ class PredictionMarketV3Contract extends PredictionMarketV2Contract {
233
234
  liquidityClaimed: marketData.liquidityClaimed,
234
235
  voidedWinningsToClaim: marketData.voidedSharesToClaim,
235
236
  voidedWinningsClaimed: false,
236
- liquidityFees: 0, // discontinued
237
+ liquidityFees,
237
238
  liquidityFeesClaimed
238
239
  }
239
240
  };
@@ -0,0 +1,79 @@
1
+ /**
2
+ * DualProvider - Routes requests to appropriate provider based on method type
3
+ * Read operations use HttpProvider, write operations use window.ethereum
4
+ */
5
+ class DualProvider {
6
+ constructor(readProvider, writeProvider) {
7
+ this.readProvider = readProvider;
8
+ this.writeProvider = writeProvider;
9
+
10
+ // Methods that require user interaction/signing (write operations)
11
+ this.writeMethods = new Set([
12
+ "eth_sendTransaction",
13
+ "eth_sendRawTransaction",
14
+ "eth_sign",
15
+ "eth_signTransaction",
16
+ "personal_sign",
17
+ "eth_signTypedData",
18
+ "eth_signTypedData_v3",
19
+ "eth_signTypedData_v4",
20
+ "wallet_switchEthereumChain",
21
+ "wallet_addEthereumChain",
22
+ "eth_accounts",
23
+ "eth_requestAccounts",
24
+ ]);
25
+ }
26
+
27
+ send(payload, callback) {
28
+ const provider = this.writeMethods.has(payload.method)
29
+ ? this.writeProvider
30
+ : this.readProvider;
31
+
32
+ return provider.send(payload, callback);
33
+ }
34
+
35
+ sendAsync(payload, callback) {
36
+ const provider = this.writeMethods.has(payload.method)
37
+ ? this.writeProvider
38
+ : this.readProvider;
39
+
40
+ return provider.sendAsync(payload, callback);
41
+ }
42
+
43
+ // Support for modern request/send pattern
44
+ request(args) {
45
+ const provider = this.writeMethods.has(args.method)
46
+ ? this.writeProvider
47
+ : this.readProvider;
48
+
49
+ if (provider.request) {
50
+ return provider.request(args);
51
+ }
52
+
53
+ // Fallback for providers that don't support request()
54
+ return new Promise((resolve, reject) => {
55
+ const callback = (error, response) => {
56
+ if (error) {
57
+ reject(error);
58
+ } else {
59
+ resolve(response.result);
60
+ }
61
+ };
62
+
63
+ if (provider.sendAsync) {
64
+ provider.sendAsync(
65
+ { jsonrpc: "2.0", id: Date.now(), ...args },
66
+ callback
67
+ );
68
+ } else if (provider.send) {
69
+ provider.send({ jsonrpc: "2.0", id: Date.now(), ...args }, callback);
70
+ } else {
71
+ reject(
72
+ new Error("Provider does not support request, send, or sendAsync")
73
+ );
74
+ }
75
+ });
76
+ }
77
+ }
78
+
79
+ module.exports = DualProvider;
@@ -1,55 +1,55 @@
1
- // SPDX-License-Identifier: GPL-2.0
2
- pragma solidity ^0.8.0;
3
-
4
- import "forge-std/console2.sol";
5
- import "../contracts/PredictionMarketV3_3.sol";
6
-
7
- import {Test} from "forge-std/Test.sol";
8
- import {console} from "forge-std/console.sol";
9
-
10
- // forge test --match-contract POC -vvvvv --fork-url $RPC_URL --fork-block-number 13292408 --zksync
11
- contract UpdateTest is Test {
12
- function test_POC() public {
13
- address predictionMarketV3 = 0x3e0F5F8F5Fb043aBFA475C0308417Bf72c463289;
14
- address admin = 0x0a70f6F09caa802D8d62dE9C7EdacE1d3b5Ca160;
15
-
16
- vm.startPrank(admin);
17
-
18
- address payable PREDICTION_MARKET_V3_3 = payable(address(0x3e0F5F8F5Fb043aBFA475C0308417Bf72c463289));
19
-
20
- (PredictionMarketV3_3.MarketState state, uint256 closesAt, uint256 liquidity, uint256 balance, uint256 sharesAvailable, int256 resolvedOutcomeId) = PredictionMarketV3_3(payable(predictionMarketV3)).getMarketData(486);
21
- console.log("state: ", uint256(state));
22
-
23
- PredictionMarketV3_3.MarketUpdateDescription memory description = PredictionMarketV3_3.MarketUpdateDescription({
24
- closesAtTimestamp: 1762066800,
25
- balance: 456538064447348172635074428,
26
- liquidity: 120000000000000000000000000,
27
- sharesAvailable: 1272835104225672313766121101,
28
- state: PredictionMarketV3_3.MarketState.open,
29
- resolution: PredictionMarketV3_3.MarketResolution({
30
- resolved: false,
31
- realitio: IRealityETH_ERC20(0x71D76Ff3C2729071B2c52A667197d9f715029F2c),
32
- outcomeId: 115792089237316195423570985008687907853269984665640564039457584007913129639935,
33
- questionId: 0x21d6c6c195572d82a7d0a7ba677251dfd3839b21e09df9b39ae36ec99fa6744d,
34
- realitioTimeout: 3600
35
- }),
36
- feesPoolWeight: 0,
37
- feesTreasury: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
38
- feesDistributor: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
39
- buyFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
40
- sellFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
41
- outcomeCount: 5,
42
- token: IERC20(0x0b07cf011B6e2b7E0803b892d97f751659940F23),
43
- manager: IPredictionMarketV3Manager(0x2EbD002d755bdFadb9e5549aA00a80bd7fa408AE),
44
- creator: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
45
- paused: false
46
- });
47
-
48
- PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarket(486, description);
49
- PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarketResolution(486, description);
50
-
51
- (state, closesAt, liquidity, balance, sharesAvailable, resolvedOutcomeId) = PredictionMarketV3_3(PREDICTION_MARKET_V3_3).getMarketData(486);
52
- console2.log("new state: ", uint256(state));
53
-
54
- }
55
- }
1
+ // // SPDX-License-Identifier: GPL-2.0
2
+ // pragma solidity ^0.8.0;
3
+
4
+ // import "forge-std/console2.sol";
5
+ // import "../contracts/PredictionMarketV3_3.sol";
6
+
7
+ // import {Test} from "forge-std/Test.sol";
8
+ // import {console} from "forge-std/console.sol";
9
+
10
+ // // forge test --match-contract POC -vvvvv --fork-url $RPC_URL --fork-block-number 13292408 --zksync
11
+ // contract UpdateTest is Test {
12
+ // function test_POC() public {
13
+ // address predictionMarketV3 = 0x3e0F5F8F5Fb043aBFA475C0308417Bf72c463289;
14
+ // address admin = 0x0a70f6F09caa802D8d62dE9C7EdacE1d3b5Ca160;
15
+
16
+ // vm.startPrank(admin);
17
+
18
+ // address payable PREDICTION_MARKET_V3_3 = payable(address(0x3e0F5F8F5Fb043aBFA475C0308417Bf72c463289));
19
+
20
+ // (PredictionMarketV3_3.MarketState state, uint256 closesAt, uint256 liquidity, uint256 balance, uint256 sharesAvailable, int256 resolvedOutcomeId) = PredictionMarketV3_3(payable(predictionMarketV3)).getMarketData(486);
21
+ // console.log("state: ", uint256(state));
22
+
23
+ // PredictionMarketV3_3.MarketUpdateDescription memory description = PredictionMarketV3_3.MarketUpdateDescription({
24
+ // closesAtTimestamp: 1762066800,
25
+ // balance: 456538064447348172635074428,
26
+ // liquidity: 120000000000000000000000000,
27
+ // sharesAvailable: 1272835104225672313766121101,
28
+ // state: PredictionMarketV3_3.MarketState.open,
29
+ // resolution: PredictionMarketV3_3.MarketResolution({
30
+ // resolved: false,
31
+ // realitio: IRealityETH_ERC20(0x71D76Ff3C2729071B2c52A667197d9f715029F2c),
32
+ // outcomeId: 115792089237316195423570985008687907853269984665640564039457584007913129639935,
33
+ // questionId: 0x21d6c6c195572d82a7d0a7ba677251dfd3839b21e09df9b39ae36ec99fa6744d,
34
+ // realitioTimeout: 3600
35
+ // }),
36
+ // feesPoolWeight: 0,
37
+ // feesTreasury: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
38
+ // feesDistributor: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
39
+ // buyFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
40
+ // sellFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
41
+ // outcomeCount: 5,
42
+ // token: IERC20(0x0b07cf011B6e2b7E0803b892d97f751659940F23),
43
+ // manager: IPredictionMarketV3Manager(0x2EbD002d755bdFadb9e5549aA00a80bd7fa408AE),
44
+ // creator: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
45
+ // paused: false
46
+ // });
47
+
48
+ // PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarket(486, description);
49
+ // PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarketResolution(486, description);
50
+
51
+ // (state, closesAt, liquidity, balance, sharesAvailable, resolvedOutcomeId) = PredictionMarketV3_3(PREDICTION_MARKET_V3_3).getMarketData(486);
52
+ // console2.log("new state: ", uint256(state));
53
+
54
+ // }
55
+ // }
@@ -1,56 +0,0 @@
1
- // SPDX-License-Identifier: GPL-2.0
2
- pragma solidity ^0.8.0;
3
-
4
- import {Script} from "forge-std/Script.sol";
5
- import {console} from "forge-std/console.sol";
6
- // Import your contracts here
7
- import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
- import {PredictionMarketV3_3, IWETH} from "../contracts/PredictionMarketV3_3.sol";
9
- import {IPredictionMarketV3Manager} from "../contracts/IPredictionMarketV3Manager.sol";
10
- import {PredictionMarketV3Manager, FantasyERC20} from "../contracts/PredictionMarketV3Manager.sol";
11
- import {IRealityETH_ERC20} from "../contracts/IRealityETH_ERC20.sol";
12
-
13
- contract UpdateMarket is Script {
14
- function run() public {
15
-
16
- vm.startBroadcast();
17
-
18
- address payable PREDICTION_MARKET_V3_3 = payable(address(0x3e0F5F8F5Fb043aBFA475C0308417Bf72c463289));
19
- address PREDICTION_MARKET_V3_MANAGER = address(0x68dDc91CCC06e63d74905D901A30edEA7C77EebE);
20
-
21
- (PredictionMarketV3_3.MarketState state, uint256 closesAt, uint256 liquidity, uint256 balance, uint256 sharesAvailable, int256 resolvedOutcomeId) = PredictionMarketV3_3(PREDICTION_MARKET_V3_3).getMarketData(486);
22
-
23
- console.log("state: ", uint256(state));
24
-
25
- PredictionMarketV3_3.MarketUpdateDescription memory description = PredictionMarketV3_3.MarketUpdateDescription({
26
- closesAtTimestamp: 1762066800,
27
- balance: 456538064447348172635074428,
28
- liquidity: 120000000000000000000000000,
29
- sharesAvailable: 1272835104225672313766121101,
30
- state: PredictionMarketV3_3.MarketState.open,
31
- resolution: PredictionMarketV3_3.MarketResolution({
32
- resolved: false,
33
- realitio: IRealityETH_ERC20(0x71D76Ff3C2729071B2c52A667197d9f715029F2c),
34
- outcomeId: 115792089237316195423570985008687907853269984665640564039457584007913129639935,
35
- questionId: 0x21d6c6c195572d82a7d0a7ba677251dfd3839b21e09df9b39ae36ec99fa6744d,
36
- realitioTimeout: 3600
37
- }),
38
- feesPoolWeight: 0,
39
- feesTreasury: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
40
- feesDistributor: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
41
- buyFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
42
- sellFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
43
- outcomeCount: 5,
44
- token: IERC20(0x0b07cf011B6e2b7E0803b892d97f751659940F23),
45
- manager: IPredictionMarketV3Manager(0x2EbD002d755bdFadb9e5549aA00a80bd7fa408AE),
46
- creator: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
47
- paused: false
48
- });
49
-
50
- PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarket(486, description);
51
- PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarketResolution(486, description);
52
-
53
- (state, closesAt, liquidity, balance, sharesAvailable, resolvedOutcomeId) = PredictionMarketV3_3(PREDICTION_MARKET_V3_3).getMarketData(486);
54
- console.log("new state: ", uint256(state));
55
- }
56
- }
@@ -1,34 +0,0 @@
1
- // SPDX-License-Identifier: GPL-2.0
2
- pragma solidity ^0.8.26;
3
-
4
- import {Script} from "forge-std/Script.sol";
5
- import {console} from "forge-std/console.sol";
6
- import {MerkleRewardsDistributor} from "../contracts/MerkleRewardsDistributor.sol";
7
- import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
-
9
- contract ClaimMerkleRoot is Script {
10
- function run() public {
11
- vm.startBroadcast();
12
-
13
- MerkleRewardsDistributor distributor = MerkleRewardsDistributor(address(0x846BBEF1e62c211a16fD3F4Cd15C54B010D85036));
14
- IERC20 token = IERC20(address(0xf74B14ecbAdC9fBb283Fb3c8ae11E186856eae6f));
15
- string memory contestId = "7663c7a6-5c93-40e2-9de7-21a821d363e3";
16
- uint256 index = 4;
17
- address account = address(0x68FcB3Db1BA4Abb85D9f9420A110948e6459d613);
18
- uint256 amount = 200000;
19
- bytes32[] memory merkleProof = new bytes32[](2);
20
- merkleProof[0] = bytes32(0x7c0e1af482e345503812141a5583c24adcfb9304cd8674e2d55b875e1ec27fdc);
21
- merkleProof[1] = bytes32(0x995dc3a28d8b8bcf31a29435a588bfcea38841d36509f285b0ea606c0ee574bf);
22
-
23
- distributor.claim(
24
- contestId,
25
- IERC20(address(token)),
26
- index,
27
- account,
28
- amount,
29
- merkleProof
30
- );
31
-
32
- vm.stopBroadcast();
33
- }
34
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: GPL-2.0
2
- pragma solidity ^0.8.26;
3
-
4
- import {Script} from "forge-std/Script.sol";
5
- import {console} from "forge-std/console.sol";
6
- import {MerkleRewardsDistributor} from "../contracts/MerkleRewardsDistributor.sol";
7
- import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
8
-
9
- contract DeployMerkleRewardsDistributor is Script {
10
- function run() public {
11
- vm.startBroadcast();
12
-
13
- address admin = address(0xAE7Bfff784EeEe7812D6527B72c77A7Ed773Ed9D);
14
-
15
- // it's a proxy
16
- address implementation = address(new MerkleRewardsDistributor());
17
- bytes memory initData = abi.encodeCall(MerkleRewardsDistributor.initialize, (admin));
18
- console.log("Initialization data for proxy:");
19
- console.logBytes(initData);
20
-
21
- ERC1967Proxy proxy = new ERC1967Proxy(implementation, initData);
22
- MerkleRewardsDistributor distributor = MerkleRewardsDistributor(address(proxy));
23
- console.log("MerkleRewardsDistributor deployed at:", address(distributor));
24
-
25
- vm.stopBroadcast();
26
- }
27
- }
@@ -1,50 +0,0 @@
1
- // SPDX-License-Identifier: GPL-2.0
2
- pragma solidity ^0.8.26;
3
-
4
- import {Script} from "forge-std/Script.sol";
5
- import {console} from "forge-std/console.sol";
6
- import {MerkleRewardsDistributor} from "../contracts/MerkleRewardsDistributor.sol";
7
- import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
-
9
- contract PublishMerkleRoot is Script {
10
- function run() public {
11
- vm.startBroadcast();
12
-
13
- MerkleRewardsDistributor distributor = MerkleRewardsDistributor(address(0x846BBEF1e62c211a16fD3F4Cd15C54B010D85036));
14
- IERC20 token = IERC20(address(0xf74B14ecbAdC9fBb283Fb3c8ae11E186856eae6f));
15
- bytes32 root = bytes32(0x07b1c91af93eaf54d8cf1644d632ddee695267f4044167b88842e90be3e4878e);
16
- string memory contestId = "55d2ca19-fee9-4320-a7c6-aea620ba7588";
17
-
18
- string[5] memory contestIds = [
19
- "8c8f733c-ecca-4a8b-8ce9-a1208f04de2a",
20
- "4f29b3d5-097a-404c-9014-9e5ba7cb38a0",
21
- "1577b57f-e763-4d07-8c58-56d36a49563e",
22
- "9fbcd4d2-3fb3-4c0b-9fcd-82e7604d1673",
23
- "b72746ec-8046-4ae5-9a34-92270ab6c3f7"
24
- ];
25
-
26
- bytes32[5] memory roots = [
27
- bytes32(0x29512536af9410dc44a47a16eeff9e65ebb3e05fd5c8369c2dfa59a5bee9e2ac),
28
- bytes32(0x66af758212a3c1ee876654b4e354908f57caf337178f3895dcc059e2b507ee83),
29
- bytes32(0x8d022151e97cfb76f08c309f24d13bea76d1f2d7d81c38f46c49d1584912f988),
30
- bytes32(0x1936d0d67853de21b9f4bd6f369c545e77b63c98596e95d61306f1ac1c0848f9),
31
- bytes32(0xe84504014594f44045abdb598af6253ac00d41f3da59002dcaa7fd4d3acaaf40)
32
- ];
33
-
34
- for (uint256 i = 0; i < contestIds.length; i++) {
35
- distributor.publishRoot(
36
- contestIds[i],
37
- IERC20(address(token)),
38
- roots[i]
39
- );
40
- }
41
-
42
- // distributor.publishRoot(
43
- // contestId,
44
- // IERC20(address(token)),
45
- // root
46
- // );
47
-
48
- vm.stopBroadcast();
49
- }
50
- }
@@ -1,55 +0,0 @@
1
- // SPDX-License-Identifier: GPL-2.0
2
- pragma solidity ^0.8.26;
3
-
4
- import {Script} from "forge-std/Script.sol";
5
- import {console} from "forge-std/console.sol";
6
- // Import your contracts here
7
- import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
- import {PredictionMarketV3_3, IWETH} from "../contracts/PredictionMarketV3_3.sol";
9
- import {IPredictionMarketV3Manager} from "../contracts/IPredictionMarketV3Manager.sol";
10
- import {PredictionMarketV3Manager, FantasyERC20} from "../contracts/PredictionMarketV3Manager.sol";
11
- import {IRealityETH_ERC20} from "../contracts/IRealityETH_ERC20.sol";
12
-
13
- contract UpdateMarket is Script {
14
- function run() public {
15
-
16
- vm.startBroadcast();
17
-
18
- address payable PREDICTION_MARKET_V3_3 = payable(address(0x3e0F5F8F5Fb043aBFA475C0308417Bf72c463289));
19
- address PREDICTION_MARKET_V3_MANAGER = address(0x68dDc91CCC06e63d74905D901A30edEA7C77EebE);
20
-
21
- PredictionMarketV3_3.MarketState state = PredictionMarketV3_3(PREDICTION_MARKET_V3_3).getMarketState(486);
22
- console2.log("state: ", state);
23
-
24
- PredictionMarketV3_3.MarketUpdateDescription memory description = PredictionMarketV3_3.MarketUpdateDescription({
25
- closesAtTimestamp: 1762066800,
26
- balance: 456538064447348172635074428,
27
- liquidity: 120000000000000000000000000,
28
- sharesAvailable: 1272835104225672313766121101,
29
- state: PredictionMarketV3_3.MarketState.open,
30
- resolution: PredictionMarketV3_3.MarketResolution({
31
- resolved: false,
32
- realitio: IRealityETH_ERC20(0x71D76Ff3C2729071B2c52A667197d9f715029F2c),
33
- outcomeId: 115792089237316195423570985008687907853269984665640564039457584007913129639935,
34
- questionId: 0x21d6c6c195572d82a7d0a7ba677251dfd3839b21e09df9b39ae36ec99fa6744d,
35
- realitioTimeout: 3600
36
- }),
37
- feesPoolWeight: 0,
38
- feesTreasury: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
39
- feesDistributor: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
40
- buyFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
41
- sellFees: PredictionMarketV3_3.Fees({fee: 0, treasuryFee: 0, distributorFee: 0}),
42
- outcomeCount: 5,
43
- token: IERC20(0x0b07cf011B6e2b7E0803b892d97f751659940F23),
44
- manager: IPredictionMarketV3Manager(0x2EbD002d755bdFadb9e5549aA00a80bd7fa408AE),
45
- creator: address(0xBc30e9765Dc8c735206c76DE96d369754eBbcc1f),
46
- paused: false
47
- });
48
-
49
- PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarket(486, description);
50
- PredictionMarketV3_3(PREDICTION_MARKET_V3_3).updateMarketResolution(486, description);
51
-
52
- state = PredictionMarketV3_3(PREDICTION_MARKET_V3_3).getMarketState(486);
53
- console2.log("new state: ", state);
54
- }
55
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes