@keep-network/tbtc-v2 0.1.0 → 0.1.1-dev
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/README.adoc +12 -0
- package/artifacts/.chainId +1 -1
- package/artifacts/Bank.json +807 -0
- package/artifacts/Bridge.json +2300 -0
- package/artifacts/Deposit.json +117 -0
- package/artifacts/DepositSweep.json +77 -0
- package/artifacts/EcdsaDkgValidator.json +532 -0
- package/artifacts/EcdsaInactivity.json +156 -0
- package/artifacts/EcdsaSortitionPool.json +1004 -0
- package/artifacts/Fraud.json +164 -0
- package/artifacts/KeepRegistry.json +99 -0
- package/artifacts/KeepStake.json +286 -0
- package/artifacts/KeepToken.json +711 -0
- package/artifacts/KeepTokenStaking.json +483 -0
- package/artifacts/MovingFunds.json +249 -0
- package/artifacts/NuCypherStakingEscrow.json +256 -0
- package/artifacts/NuCypherToken.json +711 -0
- package/artifacts/RandomBeaconStub.json +141 -0
- package/artifacts/Redemption.json +174 -0
- package/artifacts/ReimbursementPool.json +509 -0
- package/artifacts/Relay.json +123 -0
- package/artifacts/T.json +1148 -0
- package/artifacts/TBTC.json +36 -35
- package/artifacts/TBTCToken.json +738 -0
- package/artifacts/TBTCVault.json +691 -0
- package/artifacts/TokenStaking.json +2288 -0
- package/artifacts/TokenholderGovernor.json +1795 -0
- package/artifacts/TokenholderTimelock.json +1058 -0
- package/artifacts/VendingMachine.json +34 -33
- package/artifacts/VendingMachineKeep.json +400 -0
- package/artifacts/VendingMachineNuCypher.json +400 -0
- package/artifacts/WalletRegistry.json +1843 -0
- package/artifacts/WalletRegistryGovernance.json +2754 -0
- package/artifacts/Wallets.json +186 -0
- package/artifacts/solcInputs/5e62cff1ead0900b07facca4b559e818.json +314 -0
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +4 -0
- package/build/contracts/bank/Bank.sol/Bank.json +542 -0
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +4 -0
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.json +34 -0
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +4 -0
- package/build/contracts/bridge/Bridge.sol/Bridge.json +2686 -0
- package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
- package/build/contracts/bridge/BridgeState.sol/BridgeState.json +226 -0
- package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
- package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
- package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
- package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
- package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
- package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +138 -0
- package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
- package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
- package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
- package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
- package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/token/TBTC.sol/TBTC.json +4 -4
- package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
- package/build/contracts/vault/DonationVault.sol/DonationVault.json +108 -0
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
- package/build/contracts/vault/IVault.sol/IVault.json +52 -0
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +4 -0
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +449 -0
- package/contracts/GovernanceUtils.sol +4 -4
- package/contracts/bank/Bank.sol +436 -0
- package/contracts/bank/IReceiveBalanceApproval.sol +45 -0
- package/contracts/bridge/BitcoinTx.sol +326 -0
- package/contracts/bridge/Bridge.sol +1793 -0
- package/contracts/bridge/BridgeState.sol +739 -0
- package/contracts/bridge/Deposit.sol +269 -0
- package/contracts/bridge/DepositSweep.sol +574 -0
- package/contracts/bridge/EcdsaLib.sol +45 -0
- package/contracts/bridge/Fraud.sol +579 -0
- package/contracts/bridge/Heartbeat.sol +112 -0
- package/contracts/bridge/IRelay.sol +28 -0
- package/contracts/bridge/MovingFunds.sol +1077 -0
- package/contracts/bridge/Redemption.sol +1020 -0
- package/contracts/bridge/VendingMachine.sol +2 -2
- package/contracts/bridge/Wallets.sol +719 -0
- package/contracts/hardhat-dependency-compiler/.hardhat-dependency-compiler +1 -0
- package/contracts/hardhat-dependency-compiler/@keep-network/ecdsa/contracts/WalletRegistry.sol +3 -0
- package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +3 -0
- package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +3 -0
- package/contracts/token/TBTC.sol +1 -1
- package/contracts/vault/DonationVault.sol +125 -0
- package/contracts/vault/IVault.sol +44 -0
- package/contracts/vault/TBTCVault.sol +305 -0
- package/deploy/00_resolve_relay.ts +28 -0
- package/deploy/00_resolve_tbtc_v1_token.ts +1 -1
- package/deploy/01_deploy_tbtc_v2_token.ts +8 -1
- package/deploy/02_deploy_vending_machine.ts +7 -0
- package/deploy/{03_transfer_roles.ts → 03_transfer_vending_machine_roles.ts} +1 -1
- package/deploy/04_deploy_bank.ts +27 -0
- package/deploy/05_deploy_bridge.ts +80 -0
- package/deploy/06_deploy_tbtc_vault.ts +30 -0
- package/deploy/07_bank_update_bridge.ts +19 -0
- package/deploy/08_transfer_bank_ownership.ts +15 -0
- package/deploy/09_transfer_tbtc_vault_ownership.ts +15 -0
- package/deploy/10_transfer_bridge_governance.ts +20 -0
- package/deploy/11_initialize_wallet_owner.ts +18 -0
- package/deploy/11_transfer_proxy_admin_ownership.ts +30 -0
- package/deploy/12_deploy_proxy_admin_with_deputy.ts +33 -0
- package/export/deploy/00_resolve_relay.js +24 -0
- package/export/deploy/00_resolve_tbtc_v1_token.js +24 -0
- package/export/deploy/01_deploy_tbtc_v2_token.js +19 -0
- package/export/deploy/02_deploy_vending_machine.js +25 -0
- package/export/deploy/03_transfer_vending_machine_roles.js +19 -0
- package/export/deploy/04_deploy_bank.js +21 -0
- package/export/deploy/05_deploy_bridge.js +69 -0
- package/export/deploy/06_deploy_tbtc_vault.js +24 -0
- package/export/deploy/07_bank_update_bridge.js +13 -0
- package/export/deploy/08_transfer_bank_ownership.js +11 -0
- package/export/deploy/09_transfer_tbtc_vault_ownership.js +11 -0
- package/export/deploy/10_transfer_bridge_governance.js +11 -0
- package/export/deploy/11_initialize_wallet_owner.js +14 -0
- package/export/deploy/11_transfer_proxy_admin_ownership.js +23 -0
- package/export/deploy/12_deploy_proxy_admin_with_deputy.js +22 -0
- package/export/hardhat.config.js +169 -0
- package/export/test/bank/Bank.test.js +1012 -0
- package/export/test/bridge/Bridge.Deployment.test.js +76 -0
- package/export/test/bridge/Bridge.Deposit.test.js +1834 -0
- package/export/test/bridge/Bridge.Frauds.test.js +1349 -0
- package/export/test/bridge/Bridge.MovingFunds.test.js +2437 -0
- package/export/test/bridge/Bridge.Parameters.test.js +400 -0
- package/export/test/bridge/Bridge.Redemption.test.js +2523 -0
- package/export/test/bridge/Bridge.Vaults.test.js +74 -0
- package/export/test/bridge/Bridge.Wallets.test.js +1017 -0
- package/export/test/bridge/EcdsaLib.test.js +46 -0
- package/export/test/bridge/Heartbeat.test.js +77 -0
- package/export/test/bridge/VendingMachine.Upgrade.test.js +160 -0
- package/export/test/bridge/VendingMachine.test.js +762 -0
- package/export/test/data/deposit-sweep.js +655 -0
- package/export/test/data/ecdsa.js +18 -0
- package/export/test/data/fraud.js +158 -0
- package/export/test/data/moving-funds.js +815 -0
- package/export/test/data/redemption.js +1011 -0
- package/export/test/fixtures/bridge.js +54 -0
- package/export/test/fixtures/index.js +57 -0
- package/export/test/helpers/contract-test-helpers.js +18 -0
- package/export/test/integration/Slashing.test.js +279 -0
- package/export/test/integration/WalleCreation.test.js +66 -0
- package/export/test/integration/utils/ecdsa-wallet-registry.js +137 -0
- package/export/test/integration/utils/fixture.js +77 -0
- package/export/test/integration/utils/gas.js +36 -0
- package/export/test/integration/utils/random-beacon.js +26 -0
- package/export/test/integration/utils/staking.js +19 -0
- package/export/test/vault/DonationVault.test.js +202 -0
- package/export/test/vault/TBTCVault.Redemption.test.js +357 -0
- package/export/test/vault/TBTCVault.test.js +768 -0
- package/export/typechain/BTCUtils.js +2 -0
- package/export/typechain/Bank.js +2 -0
- package/export/typechain/BankStub.js +2 -0
- package/export/typechain/Bridge.js +2 -0
- package/export/typechain/BridgeState.js +2 -0
- package/export/typechain/BridgeStub.js +2 -0
- package/export/typechain/Deposit.js +2 -0
- package/export/typechain/DepositSweep.js +2 -0
- package/export/typechain/DonationVault.js +2 -0
- package/export/typechain/ERC165.js +2 -0
- package/export/typechain/ERC1967Proxy.js +2 -0
- package/export/typechain/ERC1967Upgrade.js +2 -0
- package/export/typechain/ERC20WithPermit.js +2 -0
- package/export/typechain/ERC721.js +2 -0
- package/export/typechain/EcdsaAuthorization.js +2 -0
- package/export/typechain/EcdsaDkg.js +2 -0
- package/export/typechain/EcdsaDkgValidator.js +2 -0
- package/export/typechain/EcdsaInactivity.js +2 -0
- package/export/typechain/Fraud.js +2 -0
- package/export/typechain/Governable.js +2 -0
- package/export/typechain/HeartbeatStub.js +2 -0
- package/export/typechain/IApplication.js +2 -0
- package/export/typechain/IApproveAndCall.js +2 -0
- package/export/typechain/IBeacon.js +2 -0
- package/export/typechain/IERC165.js +2 -0
- package/export/typechain/IERC1822Proxiable.js +2 -0
- package/export/typechain/IERC20.js +2 -0
- package/export/typechain/IERC20Metadata.js +2 -0
- package/export/typechain/IERC20WithPermit.js +2 -0
- package/export/typechain/IERC721.js +2 -0
- package/export/typechain/IERC721Metadata.js +2 -0
- package/export/typechain/IERC721Receiver.js +2 -0
- package/export/typechain/IRandomBeacon.js +2 -0
- package/export/typechain/IRandomBeaconConsumer.js +2 -0
- package/export/typechain/IReceiveApproval.js +2 -0
- package/export/typechain/IReceiveBalanceApproval.js +2 -0
- package/export/typechain/IRelay.js +2 -0
- package/export/typechain/IStaking.js +2 -0
- package/export/typechain/IVault.js +2 -0
- package/export/typechain/IWalletOwner.js +2 -0
- package/export/typechain/IWalletRegistry.js +2 -0
- package/export/typechain/Initializable.js +2 -0
- package/export/typechain/MisfundRecovery.js +2 -0
- package/export/typechain/MovingFunds.js +2 -0
- package/export/typechain/Ownable.js +2 -0
- package/export/typechain/Proxy.js +2 -0
- package/export/typechain/ProxyAdmin.js +2 -0
- package/export/typechain/ReceiveApprovalStub.js +2 -0
- package/export/typechain/Redemption.js +2 -0
- package/export/typechain/Reimbursable.js +2 -0
- package/export/typechain/ReimbursementPool.js +2 -0
- package/export/typechain/Rewards.js +2 -0
- package/export/typechain/SortitionPool.js +2 -0
- package/export/typechain/SortitionTree.js +2 -0
- package/export/typechain/TBTC.js +2 -0
- package/export/typechain/TBTCVault.js +2 -0
- package/export/typechain/TestERC20.js +2 -0
- package/export/typechain/TestERC721.js +2 -0
- package/export/typechain/TestEcdsaLib.js +2 -0
- package/export/typechain/TestRelay.js +2 -0
- package/export/typechain/TransparentUpgradeableProxy.js +2 -0
- package/export/typechain/VendingMachine.js +2 -0
- package/export/typechain/WalletRegistry.js +2 -0
- package/export/typechain/Wallets.js +2 -0
- package/export/typechain/common.js +2 -0
- package/export/typechain/factories/BTCUtils__factory.js +94 -0
- package/export/typechain/factories/BankStub__factory.js +586 -0
- package/export/typechain/factories/Bank__factory.js +573 -0
- package/export/typechain/factories/BridgeState__factory.js +257 -0
- package/export/typechain/factories/BridgeStub__factory.js +2912 -0
- package/export/typechain/factories/Bridge__factory.js +2526 -0
- package/export/typechain/factories/DepositSweep__factory.js +61 -0
- package/export/typechain/factories/Deposit__factory.js +103 -0
- package/export/typechain/factories/DonationVault__factory.js +139 -0
- package/export/typechain/factories/ERC165__factory.js +38 -0
- package/export/typechain/factories/ERC1967Proxy__factory.js +111 -0
- package/export/typechain/factories/ERC1967Upgrade__factory.js +64 -0
- package/export/typechain/factories/ERC20WithPermit__factory.js +524 -0
- package/export/typechain/factories/ERC721__factory.js +388 -0
- package/export/typechain/factories/EcdsaAuthorization__factory.js +211 -0
- package/export/typechain/factories/EcdsaDkgValidator__factory.js +441 -0
- package/export/typechain/factories/EcdsaDkg__factory.js +192 -0
- package/export/typechain/factories/EcdsaInactivity__factory.js +134 -0
- package/export/typechain/factories/Fraud__factory.js +117 -0
- package/export/typechain/factories/Governable__factory.js +64 -0
- package/export/typechain/factories/HeartbeatStub__factory.js +61 -0
- package/export/typechain/factories/IApplication__factory.js +152 -0
- package/export/typechain/factories/IApproveAndCall__factory.js +48 -0
- package/export/typechain/factories/IBeacon__factory.js +32 -0
- package/export/typechain/factories/IERC165__factory.js +38 -0
- package/export/typechain/factories/IERC1822Proxiable__factory.js +32 -0
- package/export/typechain/factories/IERC20Metadata__factory.js +241 -0
- package/export/typechain/factories/IERC20WithPermit__factory.js +389 -0
- package/export/typechain/factories/IERC20__factory.js +202 -0
- package/export/typechain/factories/IERC721Metadata__factory.js +349 -0
- package/export/typechain/factories/IERC721Receiver__factory.js +53 -0
- package/export/typechain/factories/IERC721__factory.js +304 -0
- package/export/typechain/factories/IRandomBeaconConsumer__factory.js +37 -0
- package/export/typechain/factories/IRandomBeacon__factory.js +32 -0
- package/export/typechain/factories/IReceiveApproval__factory.js +47 -0
- package/export/typechain/factories/IReceiveBalanceApproval__factory.js +42 -0
- package/export/typechain/factories/IRelay__factory.js +45 -0
- package/export/typechain/factories/IStaking__factory.js +722 -0
- package/export/typechain/factories/IVault__factory.js +60 -0
- package/export/typechain/factories/IWalletOwner__factory.js +65 -0
- package/export/typechain/factories/IWalletRegistry__factory.js +138 -0
- package/export/typechain/factories/Initializable__factory.js +32 -0
- package/export/typechain/factories/MisfundRecovery__factory.js +145 -0
- package/export/typechain/factories/MovingFunds__factory.js +169 -0
- package/export/typechain/factories/Ownable__factory.js +71 -0
- package/export/typechain/factories/ProxyAdmin__factory.js +191 -0
- package/export/typechain/factories/Proxy__factory.js +27 -0
- package/export/typechain/factories/ReceiveApprovalStub__factory.js +127 -0
- package/export/typechain/factories/Redemption__factory.js +123 -0
- package/export/typechain/factories/Reimbursable__factory.js +58 -0
- package/export/typechain/factories/ReimbursementPool__factory.js +350 -0
- package/export/typechain/factories/Rewards__factory.js +117 -0
- package/export/typechain/factories/SortitionPool__factory.js +610 -0
- package/export/typechain/factories/SortitionTree__factory.js +149 -0
- package/export/typechain/factories/TBTCVault__factory.js +480 -0
- package/export/typechain/factories/TBTC__factory.js +564 -0
- package/export/typechain/factories/TestERC20__factory.js +539 -0
- package/export/typechain/factories/TestERC721__factory.js +421 -0
- package/export/typechain/factories/TestEcdsaLib__factory.js +66 -0
- package/export/typechain/factories/TestRelay__factory.js +94 -0
- package/export/typechain/factories/TransparentUpgradeableProxy__factory.js +186 -0
- package/export/typechain/factories/VendingMachine__factory.js +549 -0
- package/export/typechain/factories/WalletRegistry__factory.js +1919 -0
- package/export/typechain/factories/Wallets__factory.js +143 -0
- package/export/typechain/index.js +132 -0
- package/export.json +15932 -503
- package/package.json +47 -26
- package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +0 -104
|
@@ -0,0 +1,610 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SortitionPool__factory = void 0;
|
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
|
5
|
+
/* tslint:disable */
|
|
6
|
+
/* eslint-disable */
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
8
|
+
const _abi = [
|
|
9
|
+
{
|
|
10
|
+
inputs: [
|
|
11
|
+
{
|
|
12
|
+
internalType: "contract IERC20WithPermit",
|
|
13
|
+
name: "_rewardToken",
|
|
14
|
+
type: "address",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
internalType: "uint256",
|
|
18
|
+
name: "_poolWeightDivisor",
|
|
19
|
+
type: "uint256",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
stateMutability: "nonpayable",
|
|
23
|
+
type: "constructor",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
anonymous: false,
|
|
27
|
+
inputs: [
|
|
28
|
+
{
|
|
29
|
+
indexed: false,
|
|
30
|
+
internalType: "uint32[]",
|
|
31
|
+
name: "ids",
|
|
32
|
+
type: "uint32[]",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
indexed: false,
|
|
36
|
+
internalType: "uint256",
|
|
37
|
+
name: "until",
|
|
38
|
+
type: "uint256",
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
name: "IneligibleForRewards",
|
|
42
|
+
type: "event",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
anonymous: false,
|
|
46
|
+
inputs: [
|
|
47
|
+
{
|
|
48
|
+
indexed: true,
|
|
49
|
+
internalType: "address",
|
|
50
|
+
name: "previousOwner",
|
|
51
|
+
type: "address",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
indexed: true,
|
|
55
|
+
internalType: "address",
|
|
56
|
+
name: "newOwner",
|
|
57
|
+
type: "address",
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
name: "OwnershipTransferred",
|
|
61
|
+
type: "event",
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
anonymous: false,
|
|
65
|
+
inputs: [
|
|
66
|
+
{
|
|
67
|
+
indexed: true,
|
|
68
|
+
internalType: "address",
|
|
69
|
+
name: "operator",
|
|
70
|
+
type: "address",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
indexed: true,
|
|
74
|
+
internalType: "uint32",
|
|
75
|
+
name: "id",
|
|
76
|
+
type: "uint32",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
name: "RewardEligibilityRestored",
|
|
80
|
+
type: "event",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
inputs: [
|
|
84
|
+
{
|
|
85
|
+
internalType: "uint32",
|
|
86
|
+
name: "operator",
|
|
87
|
+
type: "uint32",
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
name: "canRestoreRewardEligibility",
|
|
91
|
+
outputs: [
|
|
92
|
+
{
|
|
93
|
+
internalType: "bool",
|
|
94
|
+
name: "",
|
|
95
|
+
type: "bool",
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
stateMutability: "view",
|
|
99
|
+
type: "function",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
inputs: [
|
|
103
|
+
{
|
|
104
|
+
internalType: "address",
|
|
105
|
+
name: "operator",
|
|
106
|
+
type: "address",
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
name: "getAvailableRewards",
|
|
110
|
+
outputs: [
|
|
111
|
+
{
|
|
112
|
+
internalType: "uint96",
|
|
113
|
+
name: "",
|
|
114
|
+
type: "uint96",
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
stateMutability: "view",
|
|
118
|
+
type: "function",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
inputs: [
|
|
122
|
+
{
|
|
123
|
+
internalType: "uint32",
|
|
124
|
+
name: "id",
|
|
125
|
+
type: "uint32",
|
|
126
|
+
},
|
|
127
|
+
],
|
|
128
|
+
name: "getIDOperator",
|
|
129
|
+
outputs: [
|
|
130
|
+
{
|
|
131
|
+
internalType: "address",
|
|
132
|
+
name: "",
|
|
133
|
+
type: "address",
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
stateMutability: "view",
|
|
137
|
+
type: "function",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
inputs: [
|
|
141
|
+
{
|
|
142
|
+
internalType: "uint32[]",
|
|
143
|
+
name: "ids",
|
|
144
|
+
type: "uint32[]",
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
name: "getIDOperators",
|
|
148
|
+
outputs: [
|
|
149
|
+
{
|
|
150
|
+
internalType: "address[]",
|
|
151
|
+
name: "",
|
|
152
|
+
type: "address[]",
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
stateMutability: "view",
|
|
156
|
+
type: "function",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
inputs: [
|
|
160
|
+
{
|
|
161
|
+
internalType: "address",
|
|
162
|
+
name: "operator",
|
|
163
|
+
type: "address",
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
name: "getOperatorID",
|
|
167
|
+
outputs: [
|
|
168
|
+
{
|
|
169
|
+
internalType: "uint32",
|
|
170
|
+
name: "",
|
|
171
|
+
type: "uint32",
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
stateMutability: "view",
|
|
175
|
+
type: "function",
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
inputs: [
|
|
179
|
+
{
|
|
180
|
+
internalType: "address",
|
|
181
|
+
name: "operator",
|
|
182
|
+
type: "address",
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
name: "getPoolWeight",
|
|
186
|
+
outputs: [
|
|
187
|
+
{
|
|
188
|
+
internalType: "uint256",
|
|
189
|
+
name: "",
|
|
190
|
+
type: "uint256",
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
stateMutability: "view",
|
|
194
|
+
type: "function",
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
inputs: [],
|
|
198
|
+
name: "ineligibleEarnedRewards",
|
|
199
|
+
outputs: [
|
|
200
|
+
{
|
|
201
|
+
internalType: "uint96",
|
|
202
|
+
name: "",
|
|
203
|
+
type: "uint96",
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
stateMutability: "view",
|
|
207
|
+
type: "function",
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
inputs: [
|
|
211
|
+
{
|
|
212
|
+
internalType: "address",
|
|
213
|
+
name: "operator",
|
|
214
|
+
type: "address",
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
internalType: "uint256",
|
|
218
|
+
name: "authorizedStake",
|
|
219
|
+
type: "uint256",
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
name: "insertOperator",
|
|
223
|
+
outputs: [],
|
|
224
|
+
stateMutability: "nonpayable",
|
|
225
|
+
type: "function",
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
inputs: [
|
|
229
|
+
{
|
|
230
|
+
internalType: "uint32",
|
|
231
|
+
name: "operator",
|
|
232
|
+
type: "uint32",
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
name: "isEligibleForRewards",
|
|
236
|
+
outputs: [
|
|
237
|
+
{
|
|
238
|
+
internalType: "bool",
|
|
239
|
+
name: "",
|
|
240
|
+
type: "bool",
|
|
241
|
+
},
|
|
242
|
+
],
|
|
243
|
+
stateMutability: "view",
|
|
244
|
+
type: "function",
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
inputs: [],
|
|
248
|
+
name: "isLocked",
|
|
249
|
+
outputs: [
|
|
250
|
+
{
|
|
251
|
+
internalType: "bool",
|
|
252
|
+
name: "",
|
|
253
|
+
type: "bool",
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
stateMutability: "view",
|
|
257
|
+
type: "function",
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
inputs: [
|
|
261
|
+
{
|
|
262
|
+
internalType: "address",
|
|
263
|
+
name: "operator",
|
|
264
|
+
type: "address",
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
name: "isOperatorInPool",
|
|
268
|
+
outputs: [
|
|
269
|
+
{
|
|
270
|
+
internalType: "bool",
|
|
271
|
+
name: "",
|
|
272
|
+
type: "bool",
|
|
273
|
+
},
|
|
274
|
+
],
|
|
275
|
+
stateMutability: "view",
|
|
276
|
+
type: "function",
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
inputs: [
|
|
280
|
+
{
|
|
281
|
+
internalType: "address",
|
|
282
|
+
name: "operator",
|
|
283
|
+
type: "address",
|
|
284
|
+
},
|
|
285
|
+
],
|
|
286
|
+
name: "isOperatorRegistered",
|
|
287
|
+
outputs: [
|
|
288
|
+
{
|
|
289
|
+
internalType: "bool",
|
|
290
|
+
name: "",
|
|
291
|
+
type: "bool",
|
|
292
|
+
},
|
|
293
|
+
],
|
|
294
|
+
stateMutability: "view",
|
|
295
|
+
type: "function",
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
inputs: [
|
|
299
|
+
{
|
|
300
|
+
internalType: "address",
|
|
301
|
+
name: "operator",
|
|
302
|
+
type: "address",
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
internalType: "uint256",
|
|
306
|
+
name: "authorizedStake",
|
|
307
|
+
type: "uint256",
|
|
308
|
+
},
|
|
309
|
+
],
|
|
310
|
+
name: "isOperatorUpToDate",
|
|
311
|
+
outputs: [
|
|
312
|
+
{
|
|
313
|
+
internalType: "bool",
|
|
314
|
+
name: "",
|
|
315
|
+
type: "bool",
|
|
316
|
+
},
|
|
317
|
+
],
|
|
318
|
+
stateMutability: "view",
|
|
319
|
+
type: "function",
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
inputs: [],
|
|
323
|
+
name: "lock",
|
|
324
|
+
outputs: [],
|
|
325
|
+
stateMutability: "nonpayable",
|
|
326
|
+
type: "function",
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
inputs: [],
|
|
330
|
+
name: "operatorsInPool",
|
|
331
|
+
outputs: [
|
|
332
|
+
{
|
|
333
|
+
internalType: "uint256",
|
|
334
|
+
name: "",
|
|
335
|
+
type: "uint256",
|
|
336
|
+
},
|
|
337
|
+
],
|
|
338
|
+
stateMutability: "view",
|
|
339
|
+
type: "function",
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
inputs: [],
|
|
343
|
+
name: "owner",
|
|
344
|
+
outputs: [
|
|
345
|
+
{
|
|
346
|
+
internalType: "address",
|
|
347
|
+
name: "",
|
|
348
|
+
type: "address",
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
stateMutability: "view",
|
|
352
|
+
type: "function",
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
inputs: [],
|
|
356
|
+
name: "poolWeightDivisor",
|
|
357
|
+
outputs: [
|
|
358
|
+
{
|
|
359
|
+
internalType: "uint256",
|
|
360
|
+
name: "",
|
|
361
|
+
type: "uint256",
|
|
362
|
+
},
|
|
363
|
+
],
|
|
364
|
+
stateMutability: "view",
|
|
365
|
+
type: "function",
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
inputs: [
|
|
369
|
+
{
|
|
370
|
+
internalType: "address",
|
|
371
|
+
name: "sender",
|
|
372
|
+
type: "address",
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
internalType: "uint256",
|
|
376
|
+
name: "amount",
|
|
377
|
+
type: "uint256",
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
internalType: "address",
|
|
381
|
+
name: "token",
|
|
382
|
+
type: "address",
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
internalType: "bytes",
|
|
386
|
+
name: "",
|
|
387
|
+
type: "bytes",
|
|
388
|
+
},
|
|
389
|
+
],
|
|
390
|
+
name: "receiveApproval",
|
|
391
|
+
outputs: [],
|
|
392
|
+
stateMutability: "nonpayable",
|
|
393
|
+
type: "function",
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
inputs: [],
|
|
397
|
+
name: "renounceOwnership",
|
|
398
|
+
outputs: [],
|
|
399
|
+
stateMutability: "nonpayable",
|
|
400
|
+
type: "function",
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
inputs: [
|
|
404
|
+
{
|
|
405
|
+
internalType: "address",
|
|
406
|
+
name: "operator",
|
|
407
|
+
type: "address",
|
|
408
|
+
},
|
|
409
|
+
],
|
|
410
|
+
name: "restoreRewardEligibility",
|
|
411
|
+
outputs: [],
|
|
412
|
+
stateMutability: "nonpayable",
|
|
413
|
+
type: "function",
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
inputs: [],
|
|
417
|
+
name: "rewardToken",
|
|
418
|
+
outputs: [
|
|
419
|
+
{
|
|
420
|
+
internalType: "contract IERC20WithPermit",
|
|
421
|
+
name: "",
|
|
422
|
+
type: "address",
|
|
423
|
+
},
|
|
424
|
+
],
|
|
425
|
+
stateMutability: "view",
|
|
426
|
+
type: "function",
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
inputs: [
|
|
430
|
+
{
|
|
431
|
+
internalType: "uint32",
|
|
432
|
+
name: "operator",
|
|
433
|
+
type: "uint32",
|
|
434
|
+
},
|
|
435
|
+
],
|
|
436
|
+
name: "rewardsEligibilityRestorableAt",
|
|
437
|
+
outputs: [
|
|
438
|
+
{
|
|
439
|
+
internalType: "uint256",
|
|
440
|
+
name: "",
|
|
441
|
+
type: "uint256",
|
|
442
|
+
},
|
|
443
|
+
],
|
|
444
|
+
stateMutability: "view",
|
|
445
|
+
type: "function",
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
inputs: [
|
|
449
|
+
{
|
|
450
|
+
internalType: "uint256",
|
|
451
|
+
name: "groupSize",
|
|
452
|
+
type: "uint256",
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
internalType: "bytes32",
|
|
456
|
+
name: "seed",
|
|
457
|
+
type: "bytes32",
|
|
458
|
+
},
|
|
459
|
+
],
|
|
460
|
+
name: "selectGroup",
|
|
461
|
+
outputs: [
|
|
462
|
+
{
|
|
463
|
+
internalType: "uint32[]",
|
|
464
|
+
name: "",
|
|
465
|
+
type: "uint32[]",
|
|
466
|
+
},
|
|
467
|
+
],
|
|
468
|
+
stateMutability: "view",
|
|
469
|
+
type: "function",
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
inputs: [
|
|
473
|
+
{
|
|
474
|
+
internalType: "uint32[]",
|
|
475
|
+
name: "operators",
|
|
476
|
+
type: "uint32[]",
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
internalType: "uint256",
|
|
480
|
+
name: "until",
|
|
481
|
+
type: "uint256",
|
|
482
|
+
},
|
|
483
|
+
],
|
|
484
|
+
name: "setRewardIneligibility",
|
|
485
|
+
outputs: [],
|
|
486
|
+
stateMutability: "nonpayable",
|
|
487
|
+
type: "function",
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
inputs: [],
|
|
491
|
+
name: "totalWeight",
|
|
492
|
+
outputs: [
|
|
493
|
+
{
|
|
494
|
+
internalType: "uint256",
|
|
495
|
+
name: "",
|
|
496
|
+
type: "uint256",
|
|
497
|
+
},
|
|
498
|
+
],
|
|
499
|
+
stateMutability: "view",
|
|
500
|
+
type: "function",
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
inputs: [
|
|
504
|
+
{
|
|
505
|
+
internalType: "address",
|
|
506
|
+
name: "newOwner",
|
|
507
|
+
type: "address",
|
|
508
|
+
},
|
|
509
|
+
],
|
|
510
|
+
name: "transferOwnership",
|
|
511
|
+
outputs: [],
|
|
512
|
+
stateMutability: "nonpayable",
|
|
513
|
+
type: "function",
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
inputs: [],
|
|
517
|
+
name: "unlock",
|
|
518
|
+
outputs: [],
|
|
519
|
+
stateMutability: "nonpayable",
|
|
520
|
+
type: "function",
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
inputs: [
|
|
524
|
+
{
|
|
525
|
+
internalType: "address",
|
|
526
|
+
name: "operator",
|
|
527
|
+
type: "address",
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
internalType: "uint256",
|
|
531
|
+
name: "authorizedStake",
|
|
532
|
+
type: "uint256",
|
|
533
|
+
},
|
|
534
|
+
],
|
|
535
|
+
name: "updateOperatorStatus",
|
|
536
|
+
outputs: [],
|
|
537
|
+
stateMutability: "nonpayable",
|
|
538
|
+
type: "function",
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
inputs: [
|
|
542
|
+
{
|
|
543
|
+
internalType: "address",
|
|
544
|
+
name: "recipient",
|
|
545
|
+
type: "address",
|
|
546
|
+
},
|
|
547
|
+
],
|
|
548
|
+
name: "withdrawIneligible",
|
|
549
|
+
outputs: [],
|
|
550
|
+
stateMutability: "nonpayable",
|
|
551
|
+
type: "function",
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
inputs: [
|
|
555
|
+
{
|
|
556
|
+
internalType: "address",
|
|
557
|
+
name: "operator",
|
|
558
|
+
type: "address",
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
internalType: "address",
|
|
562
|
+
name: "beneficiary",
|
|
563
|
+
type: "address",
|
|
564
|
+
},
|
|
565
|
+
],
|
|
566
|
+
name: "withdrawRewards",
|
|
567
|
+
outputs: [
|
|
568
|
+
{
|
|
569
|
+
internalType: "uint96",
|
|
570
|
+
name: "",
|
|
571
|
+
type: "uint96",
|
|
572
|
+
},
|
|
573
|
+
],
|
|
574
|
+
stateMutability: "nonpayable",
|
|
575
|
+
type: "function",
|
|
576
|
+
},
|
|
577
|
+
];
|
|
578
|
+
const _bytecode = "0x60e06040523480156200001157600080fd5b5060405162002b8538038062002b858339810160408190526200003491620000c1565b6000808055600481905560078054600101815590524260805262000058336200006f565b6001600160a01b0390911660a05260c052620000fd565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008060408385031215620000d557600080fd5b82516001600160a01b0381168114620000ed57600080fd5b6020939093015192949293505050565b60805160a05160c051612a2e62000157600039600081816101f901526113240152600081816104820152818161091e015281816109e201528181610c800152611027015260008181610ddf0152611a670152612a2e6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806396c82e5711610104578063dc7520c5116100a2578063f7186ce011610071578063f7186ce0146102ec578063f7c618c11461047d578063f7f9a8fa146104a4578063f83d08ba146104c457600080fd5b8063dc7520c51461043c578063e20981ca1461044f578063e7bfd89914610462578063f2fde38b1461046a57600080fd5b8063a7a7d391116100de578063a7a7d391146103f0578063a964941414610403578063b2f3db4d14610416578063be51fb4a1461042957600080fd5b806396c82e57146103cc578063a4e2d634146103d4578063a69df4b5146103e857600080fd5b80636b1906f81161017c5780638871ca5d1161014b5780638871ca5d1461036a5780638da5cb5b146103955780638f4ffcb1146103a6578063942f6892146103b957600080fd5b80636b1906f8146102ec5780636c2530b914610317578063715018a614610337578063873e31fa1461033f57600080fd5b80635222580a116101b85780635222580a146102515780635757ed5b146102825780635a48b46b1461029557806369ba3c33146102d957600080fd5b8063241a4188146101df57806343a3db30146101f45780634de824f01461022e575b600080fd5b6101f26101ed36600461240c565b6104cc565b005b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61024161023c36600461240c565b61061b565b6040519015158152602001610225565b61024161025f36600461244a565b63ffffffff9081166000908152600a6020526040902054600160c01b9004161590565b61021b610290366004612465565b610639565b6102c46102a3366004612465565b6001600160a01b031660009081526006602052604090205463ffffffff1690565b60405163ffffffff9091168152602001610225565b6102416102e736600461244a565b610684565b6102416102fa366004612465565b6001600160a01b0316600090815260036020526040902054151590565b61032a610325366004612480565b610698565b60405161022591906124a2565b6101f261083a565b61035261034d366004612465565b6108a0565b6040516001600160601b039091168152602001610225565b61037d61037836600461244a565b6108cf565b6040516001600160a01b039091168152602001610225565b600b546001600160a01b031661037d565b6101f26103b43660046124ec565b61091c565b6101f26103c73660046125cc565b610a7a565b61021b610b52565b600b5461024190600160a01b900460ff1681565b6101f2610b64565b600954610352906001600160601b031681565b6101f2610411366004612465565b610bcd565b6101f2610424366004612465565b610d03565b61021b61043736600461244a565b610d6b565b6101f261044a36600461240c565b610e0a565b61035261045d366004612618565b610f1b565b61021b6110ae565b6101f2610478366004612465565b6110c9565b61037d7f000000000000000000000000000000000000000000000000000000000000000081565b6104b76104b236600461264b565b6111ab565b604051610225919061268d565b6101f26112ae565b600b546001600160a01b0316331461052b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600b54600160a01b900460ff16156105855760405162461bcd60e51b815260206004820152601560248201527f536f72746974696f6e20706f6f6c206c6f636b656400000000000000000000006044820152606401610522565b60006105908261131d565b9050600081116105e25760405162461bcd60e51b815260206004820152601560248201527f4f70657261746f72206e6f7420656c696769626c6500000000000000000000006044820152606401610522565b6105ec8382611349565b6001600160a01b03831660009081526006602052604090205463ffffffff166106158183611477565b50505050565b600061062683610639565b61062f8361131d565b1490505b92915050565b6001600160a01b038116600090815260036020526040812054806106605750600092915050565b6001600160ff1b038116600061067582611627565b95945050505050565b50919050565b60004261069083610d6b565b111592915050565b600b54606090600160a01b900460ff166106f45760405162461bcd60e51b815260206004820152601760248201527f536f72746974696f6e20706f6f6c20756e6c6f636b65640000000000000000006044820152606401610522565b6000805490839061070483611684565b9050600081116107565760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f756768206f70657261746f727320696e20706f6f6c000000006044820152606401610522565b600080610762836116ab565b905060008867ffffffffffffffff81111561077f5761077f6126ce565b6040519080825280602002602001820160405280156107a8578160200160208202803683370190505b50905060005b8981101561082d576107c18587856116de565b9650935060006107d1858961175b565b6000818152600260205260409020549091506107ec8161182f565b8484815181106107fe576107fe6126e4565b602002602001019063ffffffff16908163ffffffff16815250505050808061082590612710565b9150506107ae565b5098975050505050505050565b600b546001600160a01b031633146108945760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b61089e6000611868565b565b6001600160a01b03811660009081526006602052604081205463ffffffff166108c8816118c7565b9392505050565b60075460009063ffffffff8316106108e8576000610633565b60078263ffffffff1681548110610901576109016126e4565b6000918252602090912001546001600160a01b031692915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461099d5760405162461bcd60e51b815260206004820152601160248201527f556e737570706f7274656420746f6b656e0000000000000000000000000000006044820152606401610522565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152306024830152604482018690527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90606401602060405180830381600087803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5e919061272b565b50610a7384610a6e600054611684565b611973565b5050505050565b600b546001600160a01b03163314610ad45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b610b12838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611a2d915050565b7f01f5838e3dde8cf4817b958fe95be92bdfeccb34317e1d9f58d1cfe5230de231838383604051610b459392919061274d565b60405180910390a1505050565b6000610b5f600054611684565b905090565b600b546001600160a01b03163314610bbe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b600b805460ff60a01b19169055565b600b546001600160a01b03163314610c275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b6000610c4f600980546bffffffffffffffffffffffff1981169091556001600160601b031690565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526001600160601b03831660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb90604401602060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe919061272b565b505050565b6001600160a01b03811660009081526006602052604090205463ffffffff16610d2b81611c47565b60405163ffffffff8216906001600160a01b038416907fe61e9f0f049b3bfae1ae903a5e3018c02a008aa0d238ffddf23a4fb4c027853690600090a35050565b63ffffffff8082166000908152600a60205260408120549091600160c01b9091041680610dda5760405162461bcd60e51b815260206004820152601960248201527f4f70657261746f7220616c726561647920656c696769626c65000000000000006044820152606401610522565b6108c87f000000000000000000000000000000000000000000000000000000000000000063ffffffff831661279e565b600b546001600160a01b03163314610e645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b600b54600160a01b900460ff1615610ebe5760405162461bcd60e51b815260206004820152601560248201527f536f72746974696f6e20706f6f6c206c6f636b656400000000000000000000006044820152606401610522565b6000610ec98261131d565b90506000610ef2846001600160a01b031660009081526006602052604090205463ffffffff1690565b9050610efe8183611477565b81610f1157610f0c84611e0c565b610615565b6106158483611ebc565b600b546000906001600160a01b03163314610f785760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b6001600160a01b03831660009081526006602052604090205463ffffffff16610fa981610fa486610639565b611477565b63ffffffff81166000908152600a6020526040812080547fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff8116909155600160601b90046001600160601b031660405163a9059cbb60e01b81526001600160a01b0386811660048301526001600160601b03831660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb90604401602060405180830381600087803b15801561106d57600080fd5b505af1158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a5919061272b565b50949350505050565b600454600554600091906110c281836127b6565b9250505090565b600b546001600160a01b031633146111235760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b6001600160a01b03811661119f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610522565b6111a881611868565b50565b60075460609060008367ffffffffffffffff8111156111cc576111cc6126ce565b6040519080825280602002602001820160405280156111f5578160200160208202803683370190505b50905060005b848110156110a5576000868683818110611217576112176126e4565b905060200201602081019061122c919061244a565b90508063ffffffff168411611242576000611271565b60078163ffffffff168154811061125b5761125b6126e4565b6000918252602090912001546001600160a01b03165b838381518110611283576112836126e4565b6001600160a01b039092166020928302919091019091015250806112a681612710565b9150506111fb565b600b546001600160a01b031633146113085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610522565b600b805460ff60a01b1916600160a01b179055565b60006106337f0000000000000000000000000000000000000000000000000000000000000000836127e3565b6001600160a01b038216600090815260036020526040902054156113d55760405162461bcd60e51b815260206004820152602a60248201527f4f70657261746f7220697320616c72656164792072656769737465726564206960448201527f6e2074686520706f6f6c000000000000000000000000000000000000000000006064820152608401610522565b6001600160a01b03821660009081526006602052604090205463ffffffff16806114055761140283611f6c565b90505b600061140f612043565b9050600061141e854385612137565b905061142e828286600054612215565b6000557f800000000000000000000000000000000000000000000000000000000000000082176001600160a01b0390951660009081526003602052604090209490945550505050565b60085463ffffffff8084166000908152600a60209081526040808320815160808101835290546001600160601b03818116808452600160601b8304821695840195909552600160c01b8204871693830193909352600160e01b900490941660608501819052941693906114ea90856127f7565b6114f4919061281f565b9050816040015163ffffffff166000141561152c57808260200181815161151b919061284e565b6001600160601b031690525061156f565b6009805482919060009061154a9084906001600160601b031661284e565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b506001600160601b03918216815263ffffffff928316606082019081529383166000908152600a60209081526040918290208351815492850151939094015196518616600160e01b026001600160e01b0397909616600160c01b029690961677ffffffffffffffffffffffffffffffffffffffffffffffff928516600160601b027fffffffffffffffff0000000000000000000000000000000000000000000000009092169390941692909217919091171617179055565b60008061163383612231565b905060006116418460031c90565b60008181527fdc686ec4a0ff239c70e7c7c36e8f853eced3bc8618f48d2b816da2a74311237e602052604090205490915061067581846020021c63ffffffff1690565b63ffffffff8116602082901c5b801561067e5763ffffffff8116919091019060201c611691565b600081600114156116be57506000919050565b601f5b82816001901b106116d557600019016116c1565b60010192915050565b6000808080855b8261174e576000196001871b0181169150803060405160200161172492919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012090508782101561174957600192505b6116e5565b9097909650945050505050565b60008282828061176a83611684565b87106117b85760405162461bcd60e51b815260206004820152601460248201527f496e6465782065786365656473207765696768740000000000000000000000006044820152606401610522565b6117c28385612241565b9450905060025b60078111611819576117db8383612278565b6000828152600160209081526040808320848452909152902054945092506118038486612241565b955091508061181181612710565b9150506117c9565b506118248282612278565b979650505050505050565b6000600161183f6003600261295d565b61184b906101006127e3565b61185690600261295d565b61186091906127b6565b909116919050565b600b80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60085463ffffffff8083166000908152600a60209081526040808320815160808101835290546001600160601b038181168352600160601b8204811694830194909452600160c01b81048616928201839052600160e01b900490941660608501529193169190611968576060810151815160009163ffffffff169061194c90856127f7565b611956919061281f565b9050808260200151610675919061284e565b602001519392505050565b60085460009061199390600160601b90046001600160601b03168461284e565b905060006119a763ffffffff841683612969565b905060006119bb63ffffffff85168461298f565b6008805491925083916000906119db9084906001600160601b031661284e565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550806008600c6101000a8154816001600160601b0302191690836001600160601b031602179055505050505050565b604080516080810182526000808252602082018190529181018290526060810182905260085490916001600160601b039091169080611a8c7f0000000000000000000000000000000000000000000000000000000000000000866127b6565b905060005b8651811015611c3e576000878281518110611aae57611aae6126e4565b60209081029190910181015163ffffffff8082166000908152600a845260409081902080546001600160601b03600160601b82048116968d01969096529485168b52600160c01b85048316918b01829052600160e01b90940490911660608a015290925015611b41578363ffffffff16876040015163ffffffff161015611b3c5763ffffffff841660408801525b611b8d565b63ffffffff808516604089015260608801518851911690611b6290886127f7565b611b6c919061281f565b94508487602001818151611b80919061284e565b6001600160601b03169052505b6001600160601b038681168089526020890151835460408b015160608c01517fffffffff00000000000000000000000000000000000000000000000000000000909216600160601b93909516929092027fffffffff00000000ffffffffffffffffffffffff0000000000000000000000001693909317909117600160c01b63ffffffff92831602176001600160e01b0316600160e01b91909216021790555080611c3681612710565b915050611a91565b50505050505050565b611c5081610684565b611c9c5760405162461bcd60e51b815260206004820152601960248201527f4f70657261746f72207374696c6c20696e656c696769626c65000000000000006044820152606401610522565b60085463ffffffff8083166000908152600a60209081526040808320815160808101835290546001600160601b03818116808452600160601b8304821695840195909552600160c01b8204871693830193909352600160e01b90049094166060850181905294169390611d0f90856127f7565b611d19919061281f565b600980549192508291600090611d399084906001600160601b031661284e565b82546001600160601b039182166101009390930a928302928202191691909117909155938416835250506000604080830182815263ffffffff9586168352600a602090815291909220835181549285015193516060909501518716600160e01b026001600160e01b0395909716600160c01b029490941677ffffffffffffffffffffffffffffffffffffffffffffffff938616600160601b027fffffffffffffffff0000000000000000000000000000000000000000000000009093169490951693909317171691909117919091179055565b6001600160a01b03811660009081526003602052604090205480611e815760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f72206973206e6f74207265676973746572656420696e20746860448201526519481c1bdbdb60d21b6064820152608401610522565b60006001600160ff1b0382169050611e9b816000546122a2565b600055610cfe836001600160a01b0316600090815260036020526040812055565b6001600160a01b038216600090815260036020526040902054611f305760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f72206973206e6f74207265676973746572656420696e20746860448201526519481c1bdbdb60d21b6064820152608401610522565b6001600160a01b03821660009081526003602052604081205490546001600160ff1b03821690611f639082908590612317565b60005550505050565b60075460009063ffffffff811115611fc65760405162461bcd60e51b815260206004820152601660248201527f506f6f6c206361706163697479206578636565646564000000000000000000006044820152606401610522565b6001600160a01b03929092166000818152600660205260408120805463ffffffff191663ffffffff86161790556007805460018101825591527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68801805473ffffffffffffffffffffffffffffffffffffffff191690911790555090565b6004546000908160076120586003600261295d565b612062919061295d565b61206d83600161279e565b109050801561208a5761208182600161279e565b60045550919050565b600554806120da5760405162461bcd60e51b815260206004820152600c60248201527f506f6f6c2069732066756c6c00000000000000000000000000000000000000006044820152606401610522565b600060056120e96001846127b6565b815481106120f9576120f96126e4565b906000526020600020015490506005805480612117576121176129b5565b600190038181906000526020600020016000905590558094505050505090565b600067ffffffffffffffff831115612151576121516129cb565b63ffffffff821115612165576121656129cb565b6bffffffffffffffffffffffff19606085901b16600060016121896003600261295d565b612195906101006127e3565b6121a090600261295d565b6121aa91906127b6565b8416905060006121bc6003600261295d565b6121c8906101006127e3565b60016121d66003600261295d565b6121e2906101006127e3565b6121ed9060606127b6565b6121f890600261295d565b61220291906127b6565b8716901b92909217179150509392505050565b6000848152600260205260408120849055610675858484612341565b600060016118566003600261295d565b6000818363ffffffff81165b80831061226e57600193909301929091039060201c63ffffffff811661224d565b50505b9250929050565b600060016122886003600261295d565b61229291906127b6565b8216600384901b17905092915050565b60008060016004546122b491906127b6565b905083811460006122c786828088612215565b905081156122d9576004839055610675565b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00186905595945050505050565b60008261232385611627565b1461233a57612333848484612341565b90506108c8565b50806108c8565b6000808080858760075b600281106123c25761235c82612231565b95506123688260031c90565b60008281526001602090815260408083208484528252909120805463ffffffff928a0283811b198216938816901b9290921790819055909650945091506123ae84611684565b9250806123ba816129e1565b91505061234b565b506123cc81612231565b945063ffffffff6020860281811b198916918416901b179998505050505050505050565b80356001600160a01b038116811461240757600080fd5b919050565b6000806040838503121561241f57600080fd5b612428836123f0565b946020939093013593505050565b803563ffffffff8116811461240757600080fd5b60006020828403121561245c57600080fd5b6108c882612436565b60006020828403121561247757600080fd5b6108c8826123f0565b6000806040838503121561249357600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156124e057835163ffffffff16835292840192918401916001016124be565b50909695505050505050565b60008060008060006080868803121561250457600080fd5b61250d866123f0565b945060208601359350612522604087016123f0565b9250606086013567ffffffffffffffff8082111561253f57600080fd5b818801915088601f83011261255357600080fd5b81358181111561256257600080fd5b89602082850101111561257457600080fd5b9699959850939650602001949392505050565b60008083601f84011261259957600080fd5b50813567ffffffffffffffff8111156125b157600080fd5b6020830191508360208260051b850101111561227157600080fd5b6000806000604084860312156125e157600080fd5b833567ffffffffffffffff8111156125f857600080fd5b61260486828701612587565b909790965060209590950135949350505050565b6000806040838503121561262b57600080fd5b612634836123f0565b9150612642602084016123f0565b90509250929050565b6000806020838503121561265e57600080fd5b823567ffffffffffffffff81111561267557600080fd5b61268185828601612587565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156124e05783516001600160a01b0316835292840192918401916001016126a9565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612724576127246126fa565b5060010190565b60006020828403121561273d57600080fd5b815180151581146108c857600080fd5b6040808252810183905260008460608301825b8681101561278b5763ffffffff61277684612436565b16825260209283019290910190600101612760565b5060209390930193909352509392505050565b600082198211156127b1576127b16126fa565b500190565b6000828210156127c8576127c86126fa565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826127f2576127f26127cd565b500490565b60006001600160601b0383811690831681811015612817576128176126fa565b039392505050565b60006001600160601b0380831681851681830481118215151615612845576128456126fa565b02949350505050565b60006001600160601b03808316818516808303821115612870576128706126fa565b01949350505050565b600181815b808511156128b457816000190482111561289a5761289a6126fa565b808516156128a757918102915b93841c939080029061287e565b509250929050565b6000826128cb57506001610633565b816128d857506000610633565b81600181146128ee57600281146128f857612914565b6001915050610633565b60ff841115612909576129096126fa565b50506001821b610633565b5060208310610133831016604e8410600b8410161715612937575081810a610633565b6129418383612879565b8060001904821115612955576129556126fa565b029392505050565b60006108c883836128bc565b60006001600160601b0380841680612983576129836127cd565b92169190910492915050565b60006001600160601b03808416806129a9576129a96127cd565b92169190910692915050565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6000816129f0576129f06126fa565b50600019019056fea264697066735822122022b144574d27b4b784b6a69d6ebf5f19b0c8942c54d116172b6cf4495ac5f1e864736f6c63430008090033";
|
|
579
|
+
const isSuperArgs = (xs) => xs.length > 1;
|
|
580
|
+
class SortitionPool__factory extends ethers_1.ContractFactory {
|
|
581
|
+
constructor(...args) {
|
|
582
|
+
if (isSuperArgs(args)) {
|
|
583
|
+
super(...args);
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
super(_abi, _bytecode, args[0]);
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
deploy(_rewardToken, _poolWeightDivisor, overrides) {
|
|
590
|
+
return super.deploy(_rewardToken, _poolWeightDivisor, overrides || {});
|
|
591
|
+
}
|
|
592
|
+
getDeployTransaction(_rewardToken, _poolWeightDivisor, overrides) {
|
|
593
|
+
return super.getDeployTransaction(_rewardToken, _poolWeightDivisor, overrides || {});
|
|
594
|
+
}
|
|
595
|
+
attach(address) {
|
|
596
|
+
return super.attach(address);
|
|
597
|
+
}
|
|
598
|
+
connect(signer) {
|
|
599
|
+
return super.connect(signer);
|
|
600
|
+
}
|
|
601
|
+
static createInterface() {
|
|
602
|
+
return new ethers_1.utils.Interface(_abi);
|
|
603
|
+
}
|
|
604
|
+
static connect(address, signerOrProvider) {
|
|
605
|
+
return new ethers_1.Contract(address, _abi, signerOrProvider);
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
exports.SortitionPool__factory = SortitionPool__factory;
|
|
609
|
+
SortitionPool__factory.bytecode = _bytecode;
|
|
610
|
+
SortitionPool__factory.abi = _abi;
|