Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ This repo holds all the genesis contracts on Core blockchain, which are part of
- [BitcoinStake.sol](./contracts/BitcoinStake.sol): This contract handles non-custodial BTC staking.
- [BitcoinLSTStake.sol](./contracts/BitcoinLSTStake.sol): This contract handles LST BTC staking.
- [BitcoinLSTToken.sol](./contracts/BitcoinLSTToken.sol): ERC20 token contract of Core BTC LST.
- [Configuration.sol](./contracts/Configuration.sol): This contract handles Rev+ event configuration.


## Prepare
Expand Down
1 change: 1 addition & 0 deletions abi/Configuration.abi
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"AddressAlreadyExists","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"AddressNotFound","type":"error"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"InvalidGasValue","type":"error"},{"inputs":[{"internalType":"address","name":"issuer","type":"address"}],"name":"InvalidIssuer","type":"error"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"InvalidRewardPercentage","type":"error"},{"inputs":[{"internalType":"address","name":"issuer","type":"address"}],"name":"IssuerNotFound","type":"error"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"MismatchParamLength","type":"error"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"given","type":"uint256"},{"internalType":"uint256","name":"lowerBound","type":"uint256"},{"internalType":"uint256","name":"upperBound","type":"uint256"}],"name":"OutOfBounds","type":"error"},{"inputs":[],"name":"TooManyEvents","type":"error"},{"inputs":[],"name":"TooManyFunctionSigs","type":"error"},{"inputs":[],"name":"TooManyRewardAddresses","type":"error"},{"inputs":[{"internalType":"string","name":"key","type":"string"}],"name":"UnsupportedGovParam","type":"error"},{"inputs":[],"name":"ZeroEvents","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"configAddress","type":"address"}],"name":"ConfigRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"configAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"eventCount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"functionCount","type":"uint256"}],"name":"ConfigUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"ConstantUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"key","type":"string"},{"indexed":false,"internalType":"bytes","name":"value","type":"bytes"}],"name":"paramChange","type":"event"},{"inputs":[],"name":"BTCLST_STAKE_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BTCLST_TOKEN_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BTC_AGENT_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BTC_STAKE_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BURN_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CANDIDATE_HUB_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONFIGURATION_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CORE_AGENT_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FOUNDATION_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GOV_HUB_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HASH_AGENT_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIGHT_CLIENT_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_EVENTS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_FUNCTIONS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_GAS","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_REWARDS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PLEDGE_AGENT_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RELAYER_HUB_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SLASH_CONTRACT_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAKE_HUB_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SYSTEM_REWARD_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VALIDATOR_CONTRACT_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"alreadyInit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"configAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddr","type":"address"}],"name":"configExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"configsMap","outputs":[{"internalType":"address","name":"configAddress","type":"address"},{"internalType":"bool","name":"isActive","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllConfigAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddr","type":"address"}],"name":"getConfig","outputs":[{"components":[{"internalType":"address","name":"configAddress","type":"address"},{"internalType":"bool","name":"isActive","type":"bool"},{"components":[{"internalType":"bytes32","name":"eventSignature","type":"bytes32"},{"internalType":"uint32","name":"gas","type":"uint32"},{"components":[{"internalType":"address","name":"rewardAddr","type":"address"},{"internalType":"uint16","name":"rewardPercentage","type":"uint16"}],"internalType":"struct Configuration.Reward[]","name":"rewards","type":"tuple[]"}],"internalType":"struct Configuration.Event[]","name":"events","type":"tuple[]"},{"components":[{"internalType":"bytes32","name":"functionSignature","type":"bytes32"},{"internalType":"uint32","name":"gas","type":"uint32"},{"components":[{"internalType":"address","name":"rewardAddr","type":"address"},{"internalType":"uint16","name":"rewardPercentage","type":"uint16"}],"internalType":"struct Configuration.Reward[]","name":"rewards","type":"tuple[]"}],"internalType":"struct Configuration.Function[]","name":"functions","type":"tuple[]"}],"internalType":"struct Configuration.Config","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddr","type":"address"},{"internalType":"uint256","name":"eventIndex","type":"uint256"}],"name":"getEventDetails","outputs":[{"components":[{"internalType":"bytes32","name":"eventSignature","type":"bytes32"},{"internalType":"uint32","name":"gas","type":"uint32"},{"components":[{"internalType":"address","name":"rewardAddr","type":"address"},{"internalType":"uint16","name":"rewardPercentage","type":"uint16"}],"internalType":"struct Configuration.Reward[]","name":"rewards","type":"tuple[]"}],"internalType":"struct Configuration.Event","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddr","type":"address"},{"internalType":"uint256","name":"functionIndex","type":"uint256"}],"name":"getFunctionDetails","outputs":[{"components":[{"internalType":"bytes32","name":"functionSignature","type":"bytes32"},{"internalType":"uint32","name":"gas","type":"uint32"},{"components":[{"internalType":"address","name":"rewardAddr","type":"address"},{"internalType":"uint16","name":"rewardPercentage","type":"uint16"}],"internalType":"struct Configuration.Reward[]","name":"rewards","type":"tuple[]"}],"internalType":"struct Configuration.Function","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setAlreadyInit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_systemContractAddr","type":"bytes"}],"name":"updateContractAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"key","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"name":"updateParam","outputs":[],"stateMutability":"nonpayable","type":"function"}]
3 changes: 2 additions & 1 deletion generate-abi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ if [ ! -z "$name" ]; then
else
contracts=( "BtcLightClient" "Burn" "CandidateHub" "Foundation" "GovHub" \
"PledgeAgent" "RelayerHub" "SlashIndicator" "SystemReward" "ValidatorSet" \
"BitcoinAgent" "BitcoinLSTStake" "BitcoinStake" "HashPowerAgent" "CoreAgent" "StakeHub" "BitcoinLSTToken")
"BitcoinAgent" "BitcoinLSTStake" "BitcoinStake" "HashPowerAgent" "CoreAgent" \
"StakeHub" "BitcoinLSTToken" "Configuration")

for e in ${contracts[@]}
do
Expand Down