0 txs
7 calls
constructor
constructor(address XpufETH, address lockbox, address pufETH, address l2RewardsManager)
functions
authority
viewfunction authority() view returns (address)
getBridge
viewfunction getBridge(address bridge) view returns (tuple)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
L2_REWARDS_MANAGER
viewfunction L2_REWARDS_MANAGER() view returns (address)
LOCKBOX
viewfunction LOCKBOX() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
PUFFER_VAULT
viewfunction PUFFER_VAULT() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
XPUFETH
viewfunction XPUFETH() view returns (address)
initialize
nonpayablefunction initialize(address accessManager)
mintAndBridgeRewards
payablefunction mintAndBridgeRewards(tuple params) payable
setAllowedRewardMintAmount
nonpayablefunction setAllowedRewardMintAmount(uint104 newAmount)
setAllowedRewardMintFrequency
nonpayablefunction setAllowedRewardMintFrequency(uint104 newFrequency)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setL2RewardClaimer
payablefunction setL2RewardClaimer(address bridge, address claimer) payable
updateBridgeData
nonpayablefunction updateBridgeData(address bridge, tuple bridgeData)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
xReceive
nonpayablefunction xReceive(bytes32, uint256, address, address originSender, uint32 originDomainId, bytes callData) returns (bytes)
events
AllowedRewardMintAmountUpdated
event AllowedRewardMintAmountUpdated(uint256 oldAmount, uint256 newAmount)
AllowedRewardMintFrequencyUpdated
event AllowedRewardMintFrequencyUpdated(uint256 oldFrequency, uint256 newFrequency)
AuthorityUpdated
event AuthorityUpdated(address authority)
BridgeDataUpdated
event BridgeDataUpdated(address indexed bridge, (uint32 destinationDomainId) bridgeData)
Initialized
event Initialized(uint64 version)
L2RewardClaimerUpdated
event L2RewardClaimerUpdated(address indexed account, address indexed claimer)
MintedAndBridgedRewards
event MintedAndBridgedRewards(uint256 rewardsAmount, uint256 startEpoch, uint256 endEpoch, bytes32 indexed rewardsRoot, uint256 ethToPufETHRate, string rewardsURI)
RevertedRewards
event RevertedRewards(uint256 rewardsAmount, uint256 startEpoch, uint256 endEpoch, bytes32 indexed rewardsRoot)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
AddressEmptyCode
error AddressEmptyCode(address target)
BridgeNotAllowlisted
error BridgeNotAllowlisted()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidAddress
error InvalidAddress()
InvalidInitialization
error InvalidInitialization()
InvalidMintAmount
error InvalidMintAmount()
InvalidMintFrequency
error InvalidMintFrequency()
NotAllowedMintFrequency
error NotAllowedMintFrequency()
NotInitializing
error NotInitializing()
Unauthorized
error Unauthorized()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x61012060405230608052348015610014575f5ffd5b506040516122e73803806122e783398101604081905261003391610131565b6001600160a01b0380851660a05283811660e05282811660c05281166101005261005b610064565b50505050610182565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100b45760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101135780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b80516001600160a01b038116811461012c575f5ffd5b919050565b5f5f5f5f60808587031215610144575f5ffd5b61014d85610116565b935061015b60208601610116565b925061016960408601610116565b915061017760608601610116565b905092959194509250565b60805160a05160c05160e051610100516120bf6102285f395f818161011a015281816105e401528181610bae0152610f1b01525f81816101c901528181610947015281816109ff01528181610fff01526110c901525f81816101fc015281816108bf0152818161097c015261115801525f818161034601528181610a6601528181610bcf015261103a01525f81816113fc01528181611425015261156c01526120bf5ff3fe608060405260043610610105575f3560e01c806373b76f5211610092578063bf7e214f11610062578063bf7e214f14610302578063c4d66de814610316578063e53b5bbb14610335578063f44c7c8f14610368578063fd614f41146103ef575f5ffd5b806373b76f52146102665780637a9e5e4b146102795780638fb3603714610298578063ad3cb1cc146102c5575f5ffd5b806322ad76c6116100d857806322ad76c6146101b85780633e68b094146101eb5780634f0470281461021e5780634f1ef2861461023157806352d1902d14610244575f5ffd5b80630256d8f714610109578063042b368b14610159578063131f8b771461017a578063212c2acf14610199575b5f5ffd5b348015610114575f5ffd5b5061013c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610164575f5ffd5b506101786101733660046119b9565b61040e565b005b348015610185575f5ffd5b50610178610194366004611a3d565b6104bd565b3480156101a4575f5ffd5b506101786101b3366004611a3d565b610541565b3480156101c3575f5ffd5b5061013c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101f6575f5ffd5b5061013c7f000000000000000000000000000000000000000000000000000000000000000081565b61017861022c366004611a58565b610556565b61017861023f366004611b14565b61074c565b34801561024f575f5ffd5b5061025861076b565b604051908152602001610150565b610178610274366004611b5f565b610786565b348015610284575f5ffd5b50610178610293366004611b96565b610d1c565b3480156102a3575f5ffd5b506102ac610da3565b6040516001600160e01b03199091168152602001610150565b3480156102d0575f5ffd5b506102f5604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101509190611bdd565b34801561030d575f5ffd5b5061013c610dd9565b348015610321575f5ffd5b50610178610330366004611b96565b610df4565b348015610340575f5ffd5b5061013c7f000000000000000000000000000000000000000000000000000000000000000081565b348015610373575f5ffd5b506103da610382366004611b96565b60408051602080820183525f918290526001600160a01b039390931681527fb18045c429f6c4e33b477568e1a40f795629ac8937518d2b48a302e4c0fbb701835281902081519283019091525463ffffffff16815290565b604051905163ffffffff168152602001610150565b3480156103fa575f5ffd5b506102f5610409366004611bef565b610f0e565b61041a335b5f36611242565b5f51602061204a5f395f51905f526001600160a01b03831661044f5760405163e6c4247b60e01b815260040160405180910390fd5b81516001600160a01b0384165f818152600184016020908152604091829020805463ffffffff191663ffffffff95861617905590518551909316835290917fd2adf702daa682efe403a1c916b6581c403c1f373a2444d84814b615d84009cf910160405180910390a2505050565b6104c633610413565b5f51602061204a5f395f51905f528054604080516001600160681b039283168152918416602083015280517ff35c7aeb4dd1226c9044fbcc8c0b4c63f7d9ca7a972b7ec3a9c83c810d39a09c9281900390910190a180546cffffffffffffffffffffffffff19166001600160681b0392909216919091179055565b61054a33610413565b61055381611338565b50565b6001600160a01b0382165f9081527fb18045c429f6c4e33b477568e1a40f795629ac8937518d2b48a302e4c0fbb7016020908152604080832081519283019091525463ffffffff168082525f51602061204a5f395f51905f5292036105ce57604051630388c67160e31b815260040160405180910390fd5b836001600160a01b0316638aac16ba34835f01517f00000000000000000000000000000000000000000000000000000000000000005f885f5f604051806040016040528060018081111561062457610624611c6d565b81526020016040518060400160405280336001600160a01b031681526020018f6001600160a01b031681525060405160200161067e919081516001600160a01b039081168252602092830151169181019190915260400190565b60408051601f1981840301815291815291525161069e9190602001611c81565b6040516020818303038152906040526040518963ffffffff1660e01b81526004016106cf9796959493929190611ccb565b60206040518083038185885af11580156106eb573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107109190611d25565b506040516001600160a01b0384169033907f2364b5913ae467bfdbf06a891811e086a18b3f7053876852053c21ca0a180952905f90a350505050565b6107546113f1565b61075d82611497565b61076782826114a0565b5050565b5f610774611561565b505f51602061206a5f395f51905f5290565b61078f33610413565b5f51602061204a5f395f51905f5280546001600160681b0316602083013511156107cc5760405163199f5a0360e31b815260040160405180910390fd5b805442906107f990600160681b81046001600160681b031690600160d01b900465ffffffffffff16611d3c565b6001600160681b0316111561082157604051632ff02f1560e01b815260040160405180910390fd5b5f60018201816108346020860186611b96565b6001600160a01b0316815260208082019290925260409081015f9081208251938401909252905463ffffffff168083529192500361088557604051630388c67160e31b815260040160405180910390fd5b81546001600160d01b0316600160d01b4265ffffffffffff1602178255604051634828ced960e01b8152602084013560048201525f9081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634828ced99060240160408051808303815f875af115801561090c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109309190611d67565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529294509092507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af11580156109c4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e89190611d98565b5060405163b6b55f2560e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b158015610a48575f5ffd5b505af1158015610a5a573d5f5f3e3d5ffd5b50506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915063095ea7b39050610a9c6020880188611b96565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610ae6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0a9190611d98565b505f6040518060c0016040528087602001358152602001848152602001876040013581526020018760600135815260200187608001358152602001878060a00190610b559190611db1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050509152509050610b996020870187611b96565b6001600160a01b0316638aac16ba34865f01517f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000033885f60405180604001604052805f6001811115610c0e57610c0e611c6d565b81526020018b604051602001610c249190611dfb565b60408051601f19818403018152918152915251610c449190602001611c81565b6040516020818303038152906040526040518963ffffffff1660e01b8152600401610c759796959493929190611ccb565b60206040518083038185885af1158015610c91573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cb69190611d25565b5060808601357feb35e079722183dbe9275ede3ca264dfdd5e1d7e072e7724d75ec4b582c6c5f16020880135604089013560608a013587610cfa60a08d018d611db1565b604051610d0c96959493929190611e6f565b60405180910390a2505050505050565b33610d25610dd9565b6001600160a01b0316816001600160a01b031614610d655760405162d1953b60e31b81526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b5f03610d9a576040516361798f2f60e11b81526001600160a01b0383166004820152602401610d5c565b610767826115aa565b5f51602061202a5f395f51905f5280545f9190600160a01b900460ff16610dca575f610dd3565b638fb3603760e01b5b91505090565b5f51602061202a5f395f51905f52546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015610e395750825b90505f8267ffffffffffffffff166001148015610e555750303b155b905081158015610e63575080155b15610e815760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610eab57845460ff60401b1916600160401b1785555b610eb48661160a565b610ec062011940611338565b8315610f0657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6060610f1933610413565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614610f6a576040516282b42960e81b815260040160405180910390fd5b335f9081527fb18045c429f6c4e33b477568e1a40f795629ac8937518d2b48a302e4c0fbb70160205260409020545f51602061204a5f395f51905f529063ffffffff858116911614610fce576040516282b42960e81b815260040160405180910390fd5b5f83806020019051810190610fe39190611ebc565b606081015160405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160801b0390921660248201529192507f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015611080573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a49190611d98565b506060810151604051632e1a7d4d60e01b81526001600160801b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015611112575f5ffd5b505af1158015611124573d5f5f3e3d5ffd5b505050506060810151608082015160405163e7fc6f7360e01b81526001600160801b039283166004820152911660248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e7fc6f73906044015f604051808303815f87803b1580156111a1575f5ffd5b505af11580156111b3573d5f5f3e3d5ffd5b505050508060c001517f7b960cc8936e372c8504b1f679675b257e97b537cda5af57a83b07ea04eb6c8b8260800151835f0151846020015160405161121f939291906001600160801b039390931683526001600160681b03918216602084015216604082015260600190565b60405180910390a2505060408051602081019091525f8152979650505050505050565b5f51602061202a5f395f51905f525f8061127a61125d610dd9565b873061126c60045f8a8c611f52565b61127591611f79565b61161b565b9150915081610f065763ffffffff81161561131557825460ff60a01b1916600160a01b1783556112a8610dd9565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016112d793929190611fb1565b5f604051808303815f87803b1580156112ee575f5ffd5b505af1158015611300573d5f5f3e3d5ffd5b5050845460ff60a01b1916855550610f069050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610d5c565b62011940816001600160681b031610156113655760405163b55c938b60e01b815260040160405180910390fd5b5f51602061204a5f395f51905f528054604080516001600160681b03600160681b90930483168152918416602083015280517f1bcd0281e2197fad350f6e82c55be416bfcc99d4eb6844e896bb819c01fe3ab39281900390910190a180546001600160681b03909216600160681b026cffffffffffffffffffffffffff60681b19909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061147757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661146b5f51602061206a5f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156114955760405163703e46dd60e11b815260040160405180910390fd5b565b61055333610413565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114fa575060408051601f3d908101601f191682019092526114f791810190611d25565b60015b61152257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610d5c565b5f51602061206a5f395f51905f52811461155257604051632a87526960e21b815260048101829052602401610d5c565b61155c8383611723565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114955760405163703e46dd60e11b815260040160405180910390fd5b5f51602061202a5f395f51905f5280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b611612611778565b610553816117c1565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516116899190611fde565b5f60405180830381855afa9150503d805f81146116c1576040519150601f19603f3d011682016040523d82523d5f602084013e6116c6565b606091505b509150915081156117185760408151106116f857808060200190518101906116ee9190611ff4565b9094509250611718565b602081511061171857808060200190518101906117159190611d98565b93505b505094509492505050565b61172c826117d2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156117705761155c8282611835565b6107676118a9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661149557604051631afcd79f60e31b815260040160405180910390fd5b6117c9611778565b610553816115aa565b806001600160a01b03163b5f0361180757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610d5c565b5f51602061206a5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516118519190611fde565b5f60405180830381855af49150503d805f8114611889576040519150601f19603f3d011682016040523d82523d5f602084013e61188e565b606091505b509150915061189e8583836118c8565b925050505b92915050565b34156114955760405163b398979f60e01b815260040160405180910390fd5b6060826118dd576118d882611927565b611920565b81511580156118f457506001600160a01b0384163b155b1561191d57604051639996b31560e01b81526001600160a01b0385166004820152602401610d5c565b50805b9392505050565b8051156119375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b0381168114611966575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff811182821017156119a2576119a261196b565b60405290565b63ffffffff81168114610553575f5ffd5b5f5f82840360408112156119cb575f5ffd5b6119d484611950565b92506020601f19820112156119e7575f5ffd5b506040516020810167ffffffffffffffff81118282101715611a0b57611a0b61196b565b6040526020840135611a1c816119a8565b8152919491935090915050565b6001600160681b0381168114610553575f5ffd5b5f60208284031215611a4d575f5ffd5b813561192081611a29565b5f5f60408385031215611a69575f5ffd5b611a7283611950565b9150611a8060208401611950565b90509250929050565b5f82601f830112611a98575f5ffd5b813567ffffffffffffffff811115611ab257611ab261196b565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611ae157611ae161196b565b604052818152838201602001851015611af8575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215611b25575f5ffd5b611b2e83611950565b9150602083013567ffffffffffffffff811115611b49575f5ffd5b611b5585828601611a89565b9150509250929050565b5f60208284031215611b6f575f5ffd5b813567ffffffffffffffff811115611b85575f5ffd5b820160c08185031215611920575f5ffd5b5f60208284031215611ba6575f5ffd5b61192082611950565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6119206020830184611baf565b5f5f5f5f5f5f60c08789031215611c04575f5ffd5b8635955060208701359450611c1b60408801611950565b9350611c2960608801611950565b92506080870135611c39816119a8565b915060a087013567ffffffffffffffff811115611c54575f5ffd5b611c6089828a01611a89565b9150509295509295509295565b634e487b7160e01b5f52602160045260245ffd5b602081525f825160028110611ca457634e487b7160e01b5f52602160045260245ffd5b806020840152506020830151604080840152611cc36060840182611baf565b949350505050565b63ffffffff881681526001600160a01b0387811660208301528681166040830152851660608201526080810184905260a0810183905260e060c082018190525f90611d1890830184611baf565b9998505050505050505050565b5f60208284031215611d35575f5ffd5b5051919050565b6001600160681b0381811683821601908111156118a357634e487b7160e01b5f52601160045260245ffd5b5f5f60408385031215611d78575f5ffd5b505080516020909101519092909150565b80518015158114611966575f5ffd5b5f60208284031215611da8575f5ffd5b61192082611d89565b5f5f8335601e19843603018112611dc6575f5ffd5b83018035915067ffffffffffffffff821115611de0575f5ffd5b602001915036819003821315611df4575f5ffd5b9250929050565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a08201525f60a083015160c080840152611cc360e0840182611baf565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b86815285602082015284604082015283606082015260a060808201525f611e9a60a083018486611e47565b98975050505050505050565b80516001600160801b0381168114611966575f5ffd5b5f60e0828403128015611ecd575f5ffd5b50611ed661197f565b8251611ee181611a29565b81526020830151611ef181611a29565b6020820152604083015165ffffffffffff81168114611f0e575f5ffd5b6040820152611f1f60608401611ea6565b6060820152611f3060808401611ea6565b608082015260a0838101519082015260c0928301519281019290925250919050565b5f5f85851115611f60575f5ffd5b83861115611f6c575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015611faa576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190525f90611fd59083018486611e47565b95945050505050565b5f82518060208501845e5f920191825250919050565b5f5f60408385031215612005575f5ffd5b61200e83611d89565b9150602083015161201e816119a8565b80915050925092905056fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00b18045c429f6c4e33b477568e1a40f795629ac8937518d2b48a302e4c0fbb700360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122026169680074364dae5837d320edb06e6dcd79bdbf9edd1ce79dbe8b9ed99886764736f6c634300081b0033000000000000000000000000d7d2802f6b19843ac4dfe25022771fd83b5a7464000000000000000000000000d44e91cfbbaa7b3b259a12a43b38cebf47b463d5000000000000000000000000d9a442856c234a39a81a089c06451ebaa4306a72000000000000000000000000f9dd335bf363b2e4ecfe3c94a86ebd7dd3dcf0e7