1 tx
227 calls
constructor
constructor(address factory_, address router_, address initialOwner_)
functions
allowlistedSourceChainSenders
viewfunction allowlistedSourceChainSenders(uint64, address) view returns (bool)
factory
viewfunction factory() view returns (address)
getRouter
viewfunction getRouter() view returns (address)
owner
viewfunction owner() view returns (address)
scores
viewfunction scores(address) view returns (uint256)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
token
viewfunction token() view returns (address)
addScore
nonpayablefunction addScore(address target_, uint256 amount_)
ccipReceive
nonpayablefunction ccipReceive(tuple message)
claim
nonpayablefunction claim(address target_)
renounceOwnership
nonpayablefunction renounceOwnership()
rescueScore
nonpayablefunction rescueScore(address target_, uint256 amount_)
setAllowlistSourceChainSender
nonpayablefunction setAllowlistSourceChainSender(uint64 _sourceChainSelector, address _sender, bool allowed)
setToken
nonpayablefunction setToken(address token_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawToken
nonpayablefunction withdrawToken(address token_, address target_, uint256 amount_)
events
Claimed
event Claimed(address indexed userAddress, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ScoreAdded
event ScoreAdded(address indexed scorerAddress, address indexed userAddress, uint256 scoreAdded)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
InvalidRouter
error InvalidRouter(address router)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SourceChainSenderNotAllowlisted
error SourceChainSenderNotAllowlisted(uint64 sourceChainSelector, address sender)
creation bytecode
0x60c06040523480156200001157600080fd5b50604051620015f2380380620015f2833981016040819052620000349162000129565b81816001600160a01b0381166200006657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6200007181620000bc565b506001600160a01b0381166200009e576040516335fdcccd60e21b8152600060048201526024016200005d565b6001600160a01b039081166080529290921660a05250620001739050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200012457600080fd5b919050565b6000806000606084860312156200013f57600080fd5b6200014a846200010c565b92506200015a602085016200010c565b91506200016a604085016200010c565b90509250925092565b60805160a05161144b620001a76000396000818161024101526105cc0152600081816102180152610534015261144b6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806385572ffb11610097578063d119db4c11610066578063d119db4c14610263578063f2fde38b14610276578063fc0c546a14610289578063fef4b48d146102a957600080fd5b806385572ffb146101c45780638da5cb5b146101d7578063b0f479a114610216578063c45a01551461023c57600080fd5b806333d6a16f116100d357806333d6a16f146101685780634128ded21461017b578063715018a61461018e57806376dd110f1461019657600080fd5b806301e336671461010557806301ffc9a71461011a578063144fa6d7146101425780631e83409a14610155575b600080fd5b610118610113366004610ea2565b6102d7565b005b61012d610128366004610ee3565b610305565b60405190151581526020015b60405180910390f35b610118610150366004610f25565b61039e565b610118610163366004610f25565b610472565b610118610176366004610f42565b61047e565b610118610189366004610f99565b610494565b610118610508565b6101b66101a4366004610f25565b60026020526000908152604090205481565b604051908152602001610139565b6101186101d2366004610fe2565b61051c565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610139565b7f00000000000000000000000000000000000000000000000000000000000000006101f1565b6101f17f000000000000000000000000000000000000000000000000000000000000000081565b610118610271366004610f42565b61059e565b610118610284366004610f25565b6106b2565b6001546101f19073ffffffffffffffffffffffffffffffffffffffff1681565b61012d6102b736600461101d565b600360209081526000928352604080842090915290825290205460ff1681565b6102df610713565b61030073ffffffffffffffffffffffffffffffffffffffff84168383610766565b505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f85572ffb00000000000000000000000000000000000000000000000000000000148061039857507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6103a6610713565b60015473ffffffffffffffffffffffffffffffffffffffff161561042b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f546f6b656e206164647265737320697320616c7265616479207365740000000060448201526064015b60405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61047b816107f3565b50565b610486610713565b6104908282610a44565b5050565b61049c610713565b67ffffffffffffffff909216600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216919091179055565b610510610713565b61051a6000610acf565b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058d576040517fd7f73334000000000000000000000000000000000000000000000000000000008152336004820152602401610422565b61047b61059982611259565b610b44565b6040517f8c86f0a70000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690638c86f0a790602401602060405180830381865afa158015610628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064c9190611306565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f596f7520617265206e6f74207468652061697264726f702e00000000000000006044820152606401610422565b6106ba610713565b73ffffffffffffffffffffffffffffffffffffffff811661070a576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610422565b61047b81610acf565b60005473ffffffffffffffffffffffffffffffffffffffff16331461051a576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610422565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610300908490610c41565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260026020526040902054600154909116610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f546f6b656e2061646472657373206973206e6f742073657400000000000000006044820152606401610422565b600081116108f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4e6f7420656c696769626c6520746f20676574207265776172646564000000006044820152606401610422565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611323565b905081811015610991578091505b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020526040812080548492906109c690849061136b565b90915550506001546109ef9073ffffffffffffffffffffffffffffffffffffffff168484610766565b8273ffffffffffffffffffffffffffffffffffffffff167fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a83604051610a3791815260200190565b60405180910390a2505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604081208054839290610a7990849061137e565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff83169033907f52e22cc174e4699db04317deda4b98eb75396baa99b966ad8377e0ed246979019060200160405180910390a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80602001518160400151806020019051810190610b619190611391565b67ffffffffffffffff8216600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610bfd576040517f4e7cdce800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8316600482015273ffffffffffffffffffffffffffffffffffffffff82166024820152604401610422565b60008060008560600151806020019051810190610c1a91906113ae565b925092509250610c2a8383610a44565b8015610c3957610c39836107f3565b505050505050565b6000610c6373ffffffffffffffffffffffffffffffffffffffff841683610cd7565b90508051600014158015610c88575080806020019051810190610c869190611306565b155b15610300576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610422565b6060610ce583836000610cec565b9392505050565b606081471015610d2a576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610422565b6000808573ffffffffffffffffffffffffffffffffffffffff168486604051610d5391906113e6565b60006040518083038185875af1925050503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b5091509150610da5868383610daf565b9695505050505050565b606082610dc457610dbf82610e3e565b610ce5565b8151158015610de8575073ffffffffffffffffffffffffffffffffffffffff84163b155b15610e37576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610422565b5080610ce5565b805115610e4e5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461047b57600080fd5b600080600060608486031215610eb757600080fd5b8335610ec281610e80565b92506020840135610ed281610e80565b929592945050506040919091013590565b600060208284031215610ef557600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ce557600080fd5b600060208284031215610f3757600080fd5b8135610ce581610e80565b60008060408385031215610f5557600080fd5b8235610f6081610e80565b946020939093013593505050565b803567ffffffffffffffff81168114610f8657600080fd5b919050565b801515811461047b57600080fd5b600080600060608486031215610fae57600080fd5b610fb784610f6e565b92506020840135610fc781610e80565b91506040840135610fd781610f8b565b809150509250925092565b600060208284031215610ff457600080fd5b813567ffffffffffffffff81111561100b57600080fd5b820160a08185031215610ce557600080fd5b6000806040838503121561103057600080fd5b61103983610f6e565b9150602083013561104981610e80565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156110a6576110a6611054565b60405290565b60405160a0810167ffffffffffffffff811182821017156110a6576110a6611054565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561111657611116611054565b604052919050565b600082601f83011261112f57600080fd5b813567ffffffffffffffff81111561114957611149611054565b61117a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016110cf565b81815284602083860101111561118f57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126111bd57600080fd5b8135602067ffffffffffffffff8211156111d9576111d9611054565b6111e7818360051b016110cf565b82815260069290921b8401810191818101908684111561120657600080fd5b8286015b8481101561124e57604081890312156112235760008081fd5b61122b611083565b813561123681610e80565b8152818501358582015283529183019160400161120a565b509695505050505050565b600060a0823603121561126b57600080fd5b6112736110ac565b8235815261128360208401610f6e565b6020820152604083013567ffffffffffffffff808211156112a357600080fd5b6112af3683870161111e565b604084015260608501359150808211156112c857600080fd5b6112d43683870161111e565b606084015260808501359150808211156112ed57600080fd5b506112fa368286016111ac565b60808301525092915050565b60006020828403121561131857600080fd5b8151610ce581610f8b565b60006020828403121561133557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156103985761039861133c565b808201808211156103985761039861133c565b6000602082840312156113a357600080fd5b8151610ce581610e80565b6000806000606084860312156113c357600080fd5b83516113ce81610e80565b602085015160408601519194509250610fd781610f8b565b6000825160005b8181101561140757602081860181015185830152016113ed565b50600092019182525091905056fea2646970667358221220620c30ef858ffc94f059d3d28cc11ab80d1b48eced2dd8a2f0f675e44c0bdaf164736f6c63430008140033000000000000000000000000e48acbc3cf4b833b4df248296ba0ac8af20fa44a00000000000000000000000080226fc0ee2b096224eeac085bb9a8cba1146f7d000000000000000000000000db951423188b9cbe6293937edb2303dcecfe559c