STAKING_V2_ABI: readonly [{
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "account";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "wallet";
        type: "address";
    }];
    name: "ConnectTradingWallet";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "account";
        type: "address";
    }, {
        indexed: false;
        internalType: "int128";
        name: "vrtxDelta";
        type: "int128";
    }, {
        indexed: false;
        internalType: "int128";
        name: "liquidDelta";
        type: "int128";
    }];
    name: "ModifyStake";
    type: "event";
}, {
    inputs: readonly [];
    name: "claimWithdraw";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "wallet";
        type: "address";
    }];
    name: "connectTradingWallet";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "getConfig";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint64";
            name: "withdrawLockingTime";
            type: "uint64";
        }, {
            internalType: "uint64";
            name: "minimumStakingPeriod";
            type: "uint64";
        }, {
            internalType: "uint128";
            name: "toDistributeRatio";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "toTreasuryRatio";
            type: "uint128";
        }];
        internalType: "struct IStakingV2.Config";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getDefaultConfig";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint64";
            name: "withdrawLockingTime";
            type: "uint64";
        }, {
            internalType: "uint64";
            name: "minimumStakingPeriod";
            type: "uint64";
        }, {
            internalType: "uint128";
            name: "toDistributeRatio";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "toTreasuryRatio";
            type: "uint128";
        }];
        internalType: "struct IStakingV2.Config";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getGlobalYieldsBreakdown";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint64";
            name: "distributionTime";
            type: "uint64";
        }, {
            internalType: "uint128";
            name: "baseYieldAmount";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "feesYieldAmount";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "totalVrtxBalance";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "usdcAmount";
            type: "uint128";
        }];
        internalType: "struct IStakingV2.GlobalYieldsBreakdown[]";
        name: "";
        type: "tuple[]";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "getLastActionTimes";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint64";
            name: "lastStakeTime";
            type: "uint64";
        }, {
            internalType: "uint64";
            name: "lastWithdrawTime";
            type: "uint64";
        }];
        internalType: "struct IStakingV2.LastActionTimes";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getMigrationBonusPool";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "getReleaseSchedule";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint64";
            name: "releaseTime";
            type: "uint64";
        }, {
            internalType: "uint128";
            name: "amount";
            type: "uint128";
        }];
        internalType: "struct IStakingV2.ReleaseSchedule";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "getState";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint128";
            name: "cumulativeStakedAmount";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "cumulativeWithdrawnAmount";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "cumulativeBurnedAmount";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "currentStakedAmount";
            type: "uint128";
        }];
        internalType: "struct IStakingV2.State";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getTotalVrtxBalance";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "getTradingWallet";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "getVrtxBalance";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "getWithdrawableTime";
    outputs: readonly [{
        internalType: "uint64";
        name: "";
        type: "uint64";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "staker";
        type: "address";
    }, {
        internalType: "uint128";
        name: "amount";
        type: "uint128";
    }, {
        internalType: "uint128";
        name: "bonus";
        type: "uint128";
    }];
    name: "migrate";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint128";
        name: "amount";
        type: "uint128";
    }];
    name: "stake";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "staker";
        type: "address";
    }, {
        internalType: "uint128";
        name: "amount";
        type: "uint128";
    }];
    name: "stakeAs";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "withdraw";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "withdrawSlow";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}] = ...