@broxus/js-core
Version:
MobX-based JavaScript Core library
746 lines (745 loc) • 30.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GaugeAccountAbi = void 0;
/**
* @see https://github.com/broxus/flatqube-dao-contracts/blob/master/build/GaugeAccount.abi.json
*/
exports.GaugeAccountAbi = {
'ABI version': 2,
version: '2.2',
header: ['time'],
functions: [
{
name: 'constructor',
inputs: [],
outputs: [],
},
{
name: 'upgrade',
inputs: [
{ name: 'new_code', type: 'cell' },
{ name: 'new_version', type: 'uint32' },
{
components: [
{ name: 'call_id', type: 'uint32' },
{ name: 'nonce', type: 'uint32' },
{ name: 'send_gas_to', type: 'address' },
],
name: 'meta',
type: 'tuple',
},
],
outputs: [],
},
{
name: 'onDeployRetry',
id: '0x23DC4360',
inputs: [
{ name: 'value0', type: 'cell' },
{ name: 'value1', type: 'cell' },
{ name: 'sendGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'increasePoolDebt',
inputs: [
{ name: 'qube_debt', type: 'uint128' },
{ name: 'extra_debt', type: 'uint128[]' },
{ name: 'send_gas_to', type: 'address' },
],
outputs: [],
},
{
name: 'processWithdraw',
inputs: [
{ name: 'amount', type: 'uint128' },
{ name: 'claim', type: 'bool' },
{
components: [
{ name: 'depositSupply', type: 'uint128' },
{ name: 'depositSupplyAverage', type: 'uint128' },
{ name: 'depositSupplyAveragePeriod', type: 'uint32' },
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'extraRewardRounds',
type: 'tuple[][]',
},
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'qubeRewardRounds',
type: 'tuple[]',
},
{ name: 'poolLastRewardTime', type: 'uint32' },
],
name: 'gauge_sync_data',
type: 'tuple',
},
{
components: [
{ name: 'call_id', type: 'uint32' },
{ name: 'nonce', type: 'uint32' },
{ name: 'send_gas_to', type: 'address' },
],
name: 'meta',
type: 'tuple',
},
],
outputs: [],
},
{
name: 'processClaim',
inputs: [
{
components: [
{ name: 'depositSupply', type: 'uint128' },
{ name: 'depositSupplyAverage', type: 'uint128' },
{ name: 'depositSupplyAveragePeriod', type: 'uint32' },
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'extraRewardRounds',
type: 'tuple[][]',
},
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'qubeRewardRounds',
type: 'tuple[]',
},
{ name: 'poolLastRewardTime', type: 'uint32' },
],
name: 'gauge_sync_data',
type: 'tuple',
},
{
components: [
{ name: 'call_id', type: 'uint32' },
{ name: 'nonce', type: 'uint32' },
{ name: 'send_gas_to', type: 'address' },
],
name: 'meta',
type: 'tuple',
},
],
outputs: [],
},
{
name: 'processDeposit',
inputs: [
{ name: 'deposit_nonce', type: 'uint32' },
{ name: 'amount', type: 'uint128' },
{ name: 'boostedAmount', type: 'uint128' },
{ name: 'lockTime', type: 'uint32' },
{ name: 'claim', type: 'bool' },
{
components: [
{ name: 'depositSupply', type: 'uint128' },
{ name: 'depositSupplyAverage', type: 'uint128' },
{ name: 'depositSupplyAveragePeriod', type: 'uint32' },
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'extraRewardRounds',
type: 'tuple[][]',
},
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'qubeRewardRounds',
type: 'tuple[]',
},
{ name: 'poolLastRewardTime', type: 'uint32' },
],
name: 'gauge_sync_data',
type: 'tuple',
},
{
components: [
{ name: 'call_id', type: 'uint32' },
{ name: 'nonce', type: 'uint32' },
{ name: 'send_gas_to', type: 'address' },
],
name: 'meta',
type: 'tuple',
},
],
outputs: [],
},
{
name: 'receiveVeAverage',
inputs: [
{ name: 'nonce', type: 'uint32' },
{ name: 'veQubeBalance', type: 'uint128' },
{ name: 'veQubeAverage', type: 'uint128' },
{ name: 'veQubeAveragePeriod', type: 'uint32' },
],
outputs: [],
},
{
name: 'revertAction',
inputs: [{ name: 'nonce', type: 'uint32' }],
outputs: [],
},
{
name: 'receiveVeAccAverage',
inputs: [
{ name: 'nonce', type: 'uint32' },
{ name: 'veAccQube', type: 'uint128' },
{ name: 'veAccQubeAverage', type: 'uint128' },
{ name: 'veAccQubeAveragePeriod', type: 'uint32' },
],
outputs: [],
},
{
name: 'syncDepositsRecursive',
inputs: [
{ name: 'nonce', type: 'uint32' },
{ name: 'syncTime', type: 'uint32' },
],
outputs: [],
},
{
name: 'updateQubeReward',
inputs: [
{ name: 'nonce', type: 'uint32' },
{ name: 'intervalTBoostedBalance', type: 'uint128' },
{ name: 'intervalLockBalance', type: 'uint128' },
],
outputs: [],
},
{
name: 'updateExtraReward',
inputs: [
{ name: 'nonce', type: 'uint32' },
{ name: 'intervalTBoostedBalance', type: 'uint128' },
{ name: 'intervalLockBalance', type: 'uint128' },
{ name: 'idx', type: 'uint256' },
],
outputs: [],
},
{
name: 'processDeposit_final',
inputs: [{ name: 'nonce', type: 'uint32' }],
outputs: [],
},
{
name: 'processWithdraw_final',
inputs: [{ name: 'nonce', type: 'uint32' }],
outputs: [],
},
{
name: 'processClaim_final',
inputs: [{ name: 'nonce', type: 'uint32' }],
outputs: [],
},
{
name: 'getDetails',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [
{ name: '_gauge', type: 'address' },
{ name: '_user', type: 'address' },
{ name: '_voteEscrow', type: 'address' },
{ name: '_veAccount', type: 'address' },
{ name: '_current_version', type: 'uint32' },
{ name: '_balance', type: 'uint128' },
{ name: '_lockBoostedBalance', type: 'uint128' },
{ name: '_veBoostedBalance', type: 'uint128' },
{ name: '_totalBoostedBalance', type: 'uint128' },
{ name: '_lockedBalance', type: 'uint128' },
{ name: '_lastUpdateTime', type: 'uint32' },
{ name: '_lockedDepositsNum', type: 'uint32' },
],
},
{
name: 'calculateMinGas',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [{ name: 'min_gas', type: 'uint128' }],
},
{
name: 'getAverages',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [
{
components: [
{ name: 'veQubeAverage', type: 'uint128' },
{ name: 'veQubeAveragePeriod', type: 'uint32' },
{ name: 'veAccQubeAverage', type: 'uint128' },
{ name: 'veAccQubeAveragePeriod', type: 'uint32' },
{ name: 'lockBoostedBalanceAverage', type: 'uint128' },
{ name: 'lockBoostedBalanceAveragePeriod', type: 'uint32' },
{ name: 'gaugeSupplyAverage', type: 'uint128' },
{ name: 'gaugeSupplyAveragePeriod', type: 'uint32' },
],
name: '_lastAverageState',
type: 'tuple',
},
{
components: [
{ name: 'veQubeAverage', type: 'uint128' },
{ name: 'veQubeAveragePeriod', type: 'uint32' },
{ name: 'veAccQubeAverage', type: 'uint128' },
{ name: 'veAccQubeAveragePeriod', type: 'uint32' },
{ name: 'lockBoostedBalanceAverage', type: 'uint128' },
{ name: 'lockBoostedBalanceAveragePeriod', type: 'uint32' },
{ name: 'gaugeSupplyAverage', type: 'uint128' },
{ name: 'gaugeSupplyAveragePeriod', type: 'uint32' },
],
name: '_curAverageState',
type: 'tuple',
},
],
},
{
name: 'getRewardDetails',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: '_qubeReward',
type: 'tuple',
},
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: '_extraReward',
type: 'tuple[]',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: '_qubeVesting',
type: 'tuple',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: '_extraVesting',
type: 'tuple[]',
},
],
},
{
name: 'pendingReward',
inputs: [
{ name: '_veQubeAverage', type: 'uint128' },
{ name: '_veQubeAveragePeriod', type: 'uint32' },
{ name: '_veAccQubeAverage', type: 'uint128' },
{ name: '_veAccQubeAveragePeriod', type: 'uint32' },
{
components: [
{ name: 'depositSupply', type: 'uint128' },
{ name: 'depositSupplyAverage', type: 'uint128' },
{ name: 'depositSupplyAveragePeriod', type: 'uint32' },
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'extraRewardRounds',
type: 'tuple[][]',
},
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'qubeRewardRounds',
type: 'tuple[]',
},
{ name: 'poolLastRewardTime', type: 'uint32' },
],
name: 'gauge_sync_data',
type: 'tuple',
},
],
outputs: [
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: '_qubeReward',
type: 'tuple',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: '_qubeVesting',
type: 'tuple',
},
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: '_extraReward',
type: 'tuple[]',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: '_extraVesting',
type: 'tuple[]',
},
],
},
{
name: 'calculateTotalBoostedBalance',
inputs: [
{ name: '_lockBoostedBalance', type: 'uint128' },
{ name: '_gaugeDepositSupply', type: 'uint128' },
{ name: '_veAccBalance', type: 'uint128' },
{ name: '_veSupply', type: 'uint128' },
],
outputs: [
{ name: '_veBoostedBalance', type: 'uint128' },
{ name: '_totalBoostedBalance', type: 'uint128' },
{ name: '_veBoostMultiplier', type: 'uint256' },
{ name: '_lockBoostMultiplier', type: 'uint256' },
{ name: '_totalBoostMultiplier', type: 'uint256' },
],
},
{
name: 'calculateIntervalBalances',
inputs: [
{
components: [
{ name: 'veQubeAverage', type: 'uint128' },
{ name: 'veQubeAveragePeriod', type: 'uint32' },
{ name: 'veAccQubeAverage', type: 'uint128' },
{ name: 'veAccQubeAveragePeriod', type: 'uint32' },
{ name: 'lockBoostedBalanceAverage', type: 'uint128' },
{ name: 'lockBoostedBalanceAveragePeriod', type: 'uint32' },
{ name: 'gaugeSupplyAverage', type: 'uint128' },
{ name: 'gaugeSupplyAveragePeriod', type: 'uint32' },
],
name: '_curAverageState',
type: 'tuple',
},
],
outputs: [
{ name: 'intervalTBoostedBalance', type: 'uint128' },
{ name: 'intervalLockBalance', type: 'uint128' },
],
},
{
name: 'calculateRewards',
inputs: [
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'reward_rounds',
type: 'tuple[]',
},
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: 'reward_data',
type: 'tuple',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: 'vesting_data',
type: 'tuple',
},
{ name: 'interval_balance', type: 'uint128' },
{ name: 'pool_last_reward_time', type: 'uint32' },
],
outputs: [
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: 'value0',
type: 'tuple',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: 'value1',
type: 'tuple',
},
],
},
{
name: 'calculateLockBalanceAverage',
inputs: [],
outputs: [
{ name: '_balance', type: 'uint128' },
{ name: '_lockedBalance', type: 'uint128' },
{ name: '_lockBoostedBalance', type: 'uint128' },
{ name: '_lockBoostedBalanceAverage', type: 'uint128' },
{ name: '_lockBoostedBalanceAveragePeriod', type: 'uint32' },
],
},
{
name: 'lockedDeposits',
inputs: [],
outputs: [
{
components: [
{ name: 'amount', type: 'uint128' },
{ name: 'boostedAmount', type: 'uint128' },
{ name: 'lockTime', type: 'uint32' },
{ name: 'createdAt', type: 'uint32' },
],
name: 'lockedDeposits',
type: 'map(uint64,tuple)',
},
],
},
],
data: [],
events: [],
fields: [
{ name: '_pubkey', type: 'uint256' },
{ name: '_timestamp', type: 'uint64' },
{ name: '_constructorFlag', type: 'bool' },
{ name: 'current_version', type: 'uint32' },
{ name: 'balance', type: 'uint128' },
{ name: 'lockBoostedBalance', type: 'uint128' },
{ name: 'veBoostedBalance', type: 'uint128' },
{ name: 'totalBoostedBalance', type: 'uint128' },
{ name: 'lockedBalance', type: 'uint128' },
{
components: [
{ name: 'veQubeAverage', type: 'uint128' },
{ name: 'veQubeAveragePeriod', type: 'uint32' },
{ name: 'veAccQubeAverage', type: 'uint128' },
{ name: 'veAccQubeAveragePeriod', type: 'uint32' },
{ name: 'lockBoostedBalanceAverage', type: 'uint128' },
{ name: 'lockBoostedBalanceAveragePeriod', type: 'uint32' },
{ name: 'gaugeSupplyAverage', type: 'uint128' },
{ name: 'gaugeSupplyAveragePeriod', type: 'uint32' },
],
name: 'lastAverageState',
type: 'tuple',
},
{
components: [
{ name: 'veQubeAverage', type: 'uint128' },
{ name: 'veQubeAveragePeriod', type: 'uint32' },
{ name: 'veAccQubeAverage', type: 'uint128' },
{ name: 'veAccQubeAveragePeriod', type: 'uint32' },
{ name: 'lockBoostedBalanceAverage', type: 'uint128' },
{ name: 'lockBoostedBalanceAveragePeriod', type: 'uint32' },
{ name: 'gaugeSupplyAverage', type: 'uint128' },
{ name: 'gaugeSupplyAveragePeriod', type: 'uint32' },
],
name: 'curAverageState',
type: 'tuple',
},
{ name: 'lastUpdateTime', type: 'uint32' },
{ name: 'lockedDepositsNum', type: 'uint32' },
{ name: 'gauge', type: 'address' },
{ name: 'user', type: 'address' },
{ name: 'voteEscrow', type: 'address' },
{ name: 'veAccount', type: 'address' },
{
components: [
{ name: 'amount', type: 'uint128' },
{ name: 'boostedAmount', type: 'uint128' },
{ name: 'lockTime', type: 'uint32' },
{ name: 'createdAt', type: 'uint32' },
],
name: 'lockedDeposits',
type: 'map(uint64,tuple)',
},
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: 'qubeReward',
type: 'tuple',
},
{
components: [
{ name: 'accRewardPerShare', type: 'uint256' },
{ name: 'lockedReward', type: 'uint128' },
{ name: 'unlockedReward', type: 'uint128' },
{ name: 'lastRewardTime', type: 'uint32' },
],
name: 'extraReward',
type: 'tuple[]',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: 'qubeVesting',
type: 'tuple',
},
{
components: [
{ name: 'vestingTime', type: 'uint32' },
{ name: 'vestingPeriod', type: 'uint32' },
{ name: 'vestingRatio', type: 'uint32' },
],
name: 'extraVesting',
type: 'tuple[]',
},
{ name: '_nonce', type: 'uint32' },
{
components: [
{ name: 'amount', type: 'uint128' },
{ name: 'claim', type: 'bool' },
{
components: [
{ name: 'call_id', type: 'uint32' },
{ name: 'nonce', type: 'uint32' },
{ name: 'send_gas_to', type: 'address' },
],
name: 'meta',
type: 'tuple',
},
],
name: '_withdraws',
type: 'map(uint32,tuple)',
},
{
components: [
{ name: 'deposit_nonce', type: 'uint32' },
{ name: 'amount', type: 'uint128' },
{ name: 'boostedAmount', type: 'uint128' },
{ name: 'lockTime', type: 'uint32' },
{ name: 'claim', type: 'bool' },
{
components: [
{ name: 'call_id', type: 'uint32' },
{ name: 'nonce', type: 'uint32' },
{ name: 'send_gas_to', type: 'address' },
],
name: 'meta',
type: 'tuple',
},
],
name: '_deposits',
type: 'map(uint32,tuple)',
},
{
components: [
{
components: [
{ name: 'call_id', type: 'uint32' },
{ name: 'nonce', type: 'uint32' },
{ name: 'send_gas_to', type: 'address' },
],
name: 'meta',
type: 'tuple',
},
],
name: '_claims',
type: 'map(uint32,tuple)',
},
{ name: '_actions', type: 'map(uint32,uint8)' },
{
components: [
{ name: 'poolLastRewardTime', type: 'uint32' },
{ name: 'gaugeDepositSupply', type: 'uint128' },
{ name: 'veSupply', type: 'uint128' },
{ name: 'veAccBalance', type: 'uint128' },
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'extraRewardRounds',
type: 'tuple[][]',
},
{
components: [
{ name: 'startTime', type: 'uint32' },
{ name: 'endTime', type: 'uint32' },
{ name: 'rewardPerSecond', type: 'uint128' },
{ name: 'accRewardPerShare', type: 'uint256' },
],
name: 'qubeRewardRounds',
type: 'tuple[]',
},
],
name: '_sync_data',
type: 'map(uint32,tuple)',
},
],
};