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.
- package/abis/AccessControlUpgradeable.json +1 -0
- package/abis/AddressUpgradeable.json +1 -0
- package/abis/ECDSA.json +1 -0
- package/abis/ERC165Upgradeable.json +1 -0
- package/abis/ERC1967UpgradeUpgradeable.json +1 -0
- package/abis/Hashes.json +1 -0
- package/abis/IBeaconUpgradeable.json +1 -0
- package/abis/IERC1822ProxiableUpgradeable.json +1 -0
- package/abis/IERC20PermitUpgradeable.json +1 -0
- package/abis/IERC20Upgradeable.json +1 -0
- package/abis/Manager.json +1 -0
- package/abis/MerkleProof.json +1 -0
- package/abis/MerkleRewardsDistributor.json +1 -0
- package/abis/MerkleRewardsDistributorTest.json +1 -0
- package/abis/MessageHashUtils.json +1 -0
- package/abis/Nonces.json +1 -0
- package/abis/Panic.json +1 -0
- package/abis/PredictionMarketV3Querier.json +1 -1
- package/abis/RewardsDistributor.json +1 -0
- package/abis/RewardsDistributorTest.json +1 -0
- package/abis/SafeCast.json +1 -0
- package/abis/SafeERC20Upgradeable.json +1 -0
- package/abis/SignedMath.json +1 -0
- package/abis/StorageSlotUpgradeable.json +1 -0
- package/abis/UpdateMarket.json +1 -0
- package/abis/UpdateTest.json +1 -0
- package/abis/WhaleTest.json +1 -0
- package/contracts/PredictionMarketV3Querier.sol +4 -2
- package/package.json +1 -1
- package/{scripts → script}/AddAdminToLand.s.sol +2 -2
- package/script/ClaimMerkleRoot.s.sol +34 -0
- package/script/DeployMerkleRewardsDistributor.s.sol +27 -0
- package/script/PublishMerkleRoot.s.sol +50 -0
- package/src/Application.js +25 -4
- package/src/models/PredictionMarketV3Contract.js +2 -1
- package/src/utils/DualProvider.js +79 -0
- package/test/UpdateTest.t.sol +55 -55
- package/script/UpdateMarket.s.sol +0 -56
- package/scripts/ClaimMerkleRoot.s.sol +0 -34
- package/scripts/DeployMerkleRewardsDistributor.s.sol +0 -27
- package/scripts/PublishMerkleRoot.s.sol +0 -50
- package/scripts/UpdateMarket.s.sol +0 -55
- /package/{scripts → script}/CreateLand.s.sol +0 -0
- /package/{scripts → script}/CreateMarkets.s.sol +0 -0
- /package/{scripts → script}/DeployContracts.s.sol +0 -0
- /package/{scripts → script}/DeployToken.s.sol +0 -0
- /package/{scripts → script}/DeployUSDT.s.sol +0 -0
- /package/{scripts → script}/MintTokens.s.sol +0 -0
- /package/{scripts → script}/ResolveMarket.s.sol +0 -0
- /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":[]}
|
package/abis/ECDSA.json
ADDED
|
@@ -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}]}
|
package/abis/Hashes.json
ADDED
|
@@ -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":[]}
|
package/abis/Nonces.json
ADDED
|
@@ -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"}]}]}
|
package/abis/Panic.json
ADDED
|
@@ -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
|
@@ -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(
|
|
18
|
-
address admin = address(
|
|
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
|
+
// }
|
package/src/Application.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
101
|
-
|
|
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
|
|
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;
|
package/test/UpdateTest.t.sol
CHANGED
|
@@ -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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|