@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
208 lines (207 loc) • 10.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "NavigatorFeeUtils",
"sourceName": "contracts/navigator/libraries/NavigatorFeeUtils.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "navigator",
"type": "address"
}
],
"name": "FeesForfeited",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "roundId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "unlockRound",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "currentRound",
"type": "uint256"
}
],
"name": "FeesStillLocked",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "navigator",
"type": "address"
},
{
"internalType": "uint256",
"name": "roundId",
"type": "uint256"
}
],
"name": "NoFeesToClaim",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "navigator",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "roundId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "FeeClaimed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "navigator",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "roundId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "FeeDeposited",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "rewardAmount",
"type": "uint256"
}
],
"name": "calculateFee",
"outputs": [
{
"internalType": "uint256",
"name": "navigatorFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "citizenReward",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getFeeLockPeriod",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getFeePercentage",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "navigator",
"type": "address"
},
{
"internalType": "uint256",
"name": "roundId",
"type": "uint256"
}
],
"name": "getRoundFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "roundId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "currentRound",
"type": "uint256"
}
],
"name": "isRoundFeeUnlocked",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x61062a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100775760003560e01c806311efbf611461007c57806316a39d55146100975780633b103ee5146100ba578063531a62ea146100c257806378603c2f146100e457806399a5d74714610104578063b9c64fcd1461012c575b600080fd5b61008461013f565b6040519081526020015b60405180910390f35b6100aa6100a5366004610489565b610152565b604051901515815260200161008e565b61008461017c565b8180156100ce57600080fd5b506100e26100dd3660046104c7565b61018f565b005b8180156100f057600080fd5b506100e26100ff3660046104c7565b61035f565b6101176101123660046104fa565b6103ee565b6040805192835260208301919091520161008e565b61008461013a366004610513565b61042e565b6000610149610465565b60140154905090565b60008061015d610465565b905080601301548461016f9190610553565b8310159150505b92915050565b6000610186610465565b60130154905090565b6000610199610465565b6001600160a01b038516600090815260158201602052604090205490915060ff16156101e85760405163f0eebcd160e01b81526001600160a01b03851660048201526024015b60405180910390fd5b6001600160a01b03841660009081526012820160209081526040808320868452909152812054908190036102335784846040516353c10d2f60e01b81526004016101df929190610566565b60008260130154856102459190610553565b905080841015610279576040516356de5c3d60e01b81526004810186905260248101829052604481018590526064016101df565b6001600160a01b038087166000908152601285016020908152604080832089845290915280822091909155600480860154915163a9059cbb60e01b8152919092169163a9059cbb916102cf918a91879101610566565b6020604051808303816000875af11580156102ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610312919061057f565b5084866001600160a01b03167f534114bde8a4f5487c6eb9d267c214944566cf13de30333c7a2abed6857634cf8460405161034f91815260200190565b60405180910390a3505050505050565b6000610369610465565b6001600160a01b038516600090815260128201602090815260408083208784529091528120805492935084929091906103a3908490610553565b909155505060405182815283906001600160a01b038616907f275b89eed5ec7d2f5c81a082034b08ff5a7a7ef3ad201abbb3524d0b95a348919060200160405180910390a350505050565b60008060006103fb610465565b905061271081601401548561041091906105a8565b61041a91906105bf565b925061042683856105e1565b915050915091565b6000610438610465565b6001600160a01b039390931660009081526012909301602090815260408085209385529290525090205490565b7f2556f61b975c74e3f128bbc478158bc306f6253c34d95084531f202ce74e570090565b6000806040838503121561049c57600080fd5b50508035926020909101359150565b80356001600160a01b03811681146104c257600080fd5b919050565b6000806000606084860312156104dc57600080fd5b6104e5846104ab565b95602085013595506040909401359392505050565b60006020828403121561050c57600080fd5b5035919050565b6000806040838503121561052657600080fd5b61052f836104ab565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101765761017661053d565b6001600160a01b03929092168252602082015260400190565b60006020828403121561059157600080fd5b815180151581146105a157600080fd5b9392505050565b80820281158282048414176101765761017661053d565b6000826105dc57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156101765761017661053d56fea26469706673582212208d4c4ab7dd2ee7427a3f32df8c84390b2f20c2a1a57111b195b46f54984a951264736f6c63430008140033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100775760003560e01c806311efbf611461007c57806316a39d55146100975780633b103ee5146100ba578063531a62ea146100c257806378603c2f146100e457806399a5d74714610104578063b9c64fcd1461012c575b600080fd5b61008461013f565b6040519081526020015b60405180910390f35b6100aa6100a5366004610489565b610152565b604051901515815260200161008e565b61008461017c565b8180156100ce57600080fd5b506100e26100dd3660046104c7565b61018f565b005b8180156100f057600080fd5b506100e26100ff3660046104c7565b61035f565b6101176101123660046104fa565b6103ee565b6040805192835260208301919091520161008e565b61008461013a366004610513565b61042e565b6000610149610465565b60140154905090565b60008061015d610465565b905080601301548461016f9190610553565b8310159150505b92915050565b6000610186610465565b60130154905090565b6000610199610465565b6001600160a01b038516600090815260158201602052604090205490915060ff16156101e85760405163f0eebcd160e01b81526001600160a01b03851660048201526024015b60405180910390fd5b6001600160a01b03841660009081526012820160209081526040808320868452909152812054908190036102335784846040516353c10d2f60e01b81526004016101df929190610566565b60008260130154856102459190610553565b905080841015610279576040516356de5c3d60e01b81526004810186905260248101829052604481018590526064016101df565b6001600160a01b038087166000908152601285016020908152604080832089845290915280822091909155600480860154915163a9059cbb60e01b8152919092169163a9059cbb916102cf918a91879101610566565b6020604051808303816000875af11580156102ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610312919061057f565b5084866001600160a01b03167f534114bde8a4f5487c6eb9d267c214944566cf13de30333c7a2abed6857634cf8460405161034f91815260200190565b60405180910390a3505050505050565b6000610369610465565b6001600160a01b038516600090815260128201602090815260408083208784529091528120805492935084929091906103a3908490610553565b909155505060405182815283906001600160a01b038616907f275b89eed5ec7d2f5c81a082034b08ff5a7a7ef3ad201abbb3524d0b95a348919060200160405180910390a350505050565b60008060006103fb610465565b905061271081601401548561041091906105a8565b61041a91906105bf565b925061042683856105e1565b915050915091565b6000610438610465565b6001600160a01b039390931660009081526012909301602090815260408085209385529290525090205490565b7f2556f61b975c74e3f128bbc478158bc306f6253c34d95084531f202ce74e570090565b6000806040838503121561049c57600080fd5b50508035926020909101359150565b80356001600160a01b03811681146104c257600080fd5b919050565b6000806000606084860312156104dc57600080fd5b6104e5846104ab565b95602085013595506040909401359392505050565b60006020828403121561050c57600080fd5b5035919050565b6000806040838503121561052657600080fd5b61052f836104ab565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101765761017661053d565b6001600160a01b03929092168252602082015260400190565b60006020828403121561059157600080fd5b815180151581146105a157600080fd5b9392505050565b80820281158282048414176101765761017661053d565b6000826105dc57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156101765761017661053d56fea26469706673582212208d4c4ab7dd2ee7427a3f32df8c84390b2f20c2a1a57111b195b46f54984a951264736f6c63430008140033",
"linkReferences": {},
"deployedLinkReferences": {}
}