7 txs
33 calls
constructor
constructor(address factory_, address router_)
functions
allowlistedDestinationChainSenders
viewfunction allowlistedDestinationChainSenders(uint64, address) view returns (bool)
factory
viewfunction factory() view returns (address)
owner
viewfunction owner() view returns (address)
router
viewfunction router() view returns (address)
scores
viewfunction scores(address) view returns (uint256)
addScore
nonpayablefunction addScore(address target_, uint256 amount_)
renounceOwnership
nonpayablefunction renounceOwnership()
sendScorePayNative
payablefunction sendScorePayNative(uint64 destinationChainSelector_, address receiver_, address destination_, bool isClaim_) payable returns (bytes32 messageId)
sendScorePayToken
nonpayablefunction sendScorePayToken(uint64 destinationChainSelector_, address receiver_, address destination_, bool isClaim_, address payToken_) returns (bytes32 messageId)
setAllowlistDestinationChainSender
nonpayablefunction setAllowlistDestinationChainSender(uint64 _destinationChainSelector, address _sender, bool allowed)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ScoreAdded
event ScoreAdded(address indexed scorerAddress, address indexed userAddress, uint256 scoreAdded)
ScoreSent
event ScoreSent(bytes32 messageId, address indexed userAddress, uint256 amount)
errors
DestinationChainSenderNotAllowlisted
error DestinationChainSenderNotAllowlisted(uint64 destinationChainSelector, address sender)
creation bytecode
0x608060405234801561001057600080fd5b506040516200144b3803806200144b833981016040819052610031916100d7565b61003a3361006b565b600180546001600160a01b039384166001600160a01b0319918216179091556002805492909316911617905561010a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d257600080fd5b919050565b600080604083850312156100ea57600080fd5b6100f3836100bb565b9150610101602084016100bb565b90509250929050565b611331806200011a6000396000f3fe6080604052600436106100bc5760003560e01c8063d119db4c11610074578063f22d6c741161004e578063f22d6c741461022f578063f2fde38b1461024f578063f887ea401461026f57600080fd5b8063d119db4c146101a4578063dbe88018146101c4578063eca29acd1461020f57600080fd5b80638da5cb5b116100a55780638da5cb5b14610118578063c156da5614610164578063c45a01551461017757600080fd5b8063715018a6146100c157806376dd110f146100d8575b600080fd5b3480156100cd57600080fd5b506100d661029c565b005b3480156100e457600080fd5b506101056100f3366004610f66565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561012457600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010f565b610105610172366004610fae565b6102b0565b34801561018357600080fd5b5060015461013f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101b057600080fd5b506100d66101bf366004611004565b6105f3565b3480156101d057600080fd5b506101ff6101df36600461102e565b600460209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161010f565b34801561021b57600080fd5b5061010561022a366004611061565b610776565b34801561023b57600080fd5b506100d661024a3660046110c8565b610b87565b34801561025b57600080fd5b506100d661026a366004610f66565b610bfb565b34801561027b57600080fd5b5060025461013f9073ffffffffffffffffffffffffffffffffffffffff1681565b6102a4610cb2565b6102ae6000610d33565b565b67ffffffffffffffff8416600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120548590859060ff16610355576040517ff1c1c5a600000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8316600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526044015b60405180910390fd5b33600090815260036020526040902054806103cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4e6f7420656c696769626c6520746f2067657420726577617264656400000000604482015260640161034c565b3360009081526003602052604081208190556103eb8888848985610da8565b6002546040517f20487ded00000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff909116906320487ded90610449908d908690600401611173565b602060405180830381865afa158015610466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048a9190611285565b90503481146104f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c69642066656520616d6f756e740000000000000000000000000000604482015260640161034c565b6002546040517f96f4e9f900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906396f4e9f990839061054f908e908790600401611173565b60206040518083038185885af115801561056d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105929190611285565b604080518281526020810186905291975073ffffffffffffffffffffffffffffffffffffffff8a16917f5989355a64afc76150a7869e2feff4bd622b0bfd0846f8d1165c678637a81900910160405180910390a25050505050949350505050565b6001546040517f1d59410a00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911690631d59410a90602401602060405180830381865afa158015610661573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610685919061129e565b6106eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f596f7520617265206e6f74207468652061756374696f6e2e0000000000000000604482015260640161034c565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080548392906107209084906112bb565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff83169033907f52e22cc174e4699db04317deda4b98eb75396baa99b966ad8377e0ed246979019060200160405180910390a35050565b67ffffffffffffffff8516600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff881684529091528120548690869060ff16610816576040517ff1c1c5a600000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8316600482015273ffffffffffffffffffffffffffffffffffffffff8216602482015260440161034c565b336000908152600360205260409020548061088d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4e6f7420656c696769626c6520746f2067657420726577617264656400000000604482015260640161034c565b3360009081526003602052604081208190556108ac8989848a8a610da8565b6002546040517f20487ded00000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff909116906320487ded9061090a908e908690600401611173565b602060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b9190611285565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810182905290915073ffffffffffffffffffffffffffffffffffffffff8816906323b872dd906064016020604051808303816000875af11580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109eb919061129e565b506002546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152602481018390529088169063095ea7b3906044016020604051808303816000875af1158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a89919061129e565b506002546040517f96f4e9f900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906396f4e9f990610ae2908e908690600401611173565b6020604051808303816000875af1158015610b01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b259190611285565b604080518281526020810186905291975073ffffffffffffffffffffffffffffffffffffffff8b16917f5989355a64afc76150a7869e2feff4bd622b0bfd0846f8d1165c678637a81900910160405180910390a2505050505095945050505050565b610b8f610cb2565b67ffffffffffffffff909216600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216919091179055565b610c03610cb2565b73ffffffffffffffffffffffffffffffffffffffff8116610ca6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161034c565b610caf81610d33565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034c565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610df06040518060a00160405280606081526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b6040805160a0810190915273ffffffffffffffffffffffffffffffffffffffff871660c08201528060e08101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152908252805173ffffffffffffffffffffffffffffffffffffffff89166020828101919091529181018890528615156060820152910190608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905281526020016000604051908082528060200260200182016040528015610efd57816020015b6040805180820190915260008082526020820152815260200190600190039081610ed65790505b5081526020018373ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052806000815250815250905095945050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f6157600080fd5b919050565b600060208284031215610f7857600080fd5b610f8182610f3d565b9392505050565b803567ffffffffffffffff81168114610f6157600080fd5b8015158114610caf57600080fd5b60008060008060808587031215610fc457600080fd5b610fcd85610f88565b9350610fdb60208601610f3d565b9250610fe960408601610f3d565b91506060850135610ff981610fa0565b939692955090935050565b6000806040838503121561101757600080fd5b61102083610f3d565b946020939093013593505050565b6000806040838503121561104157600080fd5b61104a83610f88565b915061105860208401610f3d565b90509250929050565b600080600080600060a0868803121561107957600080fd5b61108286610f88565b945061109060208701610f3d565b935061109e60408701610f3d565b925060608601356110ae81610fa0565b91506110bc60808701610f3d565b90509295509295909350565b6000806000606084860312156110dd57600080fd5b6110e684610f88565b92506110f460208501610f3d565b9150604084013561110481610fa0565b809150509250925092565b6000815180845260005b8181101561113557602081850181015186830182015201611119565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604067ffffffffffffffff8516835260208181850152845160a0838601526111a060e086018261110f565b9050818601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0808784030160608801526111db838361110f565b88860151888203830160808a01528051808352908601945060009350908501905b8084101561123b578451805173ffffffffffffffffffffffffffffffffffffffff168352860151868301529385019360019390930192908601906111fc565b50606089015173ffffffffffffffffffffffffffffffffffffffff1660a08901526080890151888203830160c08a01529550611277818761110f565b9a9950505050505050505050565b60006020828403121561129757600080fd5b5051919050565b6000602082840312156112b057600080fd5b8151610f8181610fa0565b808201808211156112f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea264697066735822122076c7a85d644d9c78b46dbc208bb8934e293174e68e677b16ae9aba51199a457364736f6c634300081300330000000000000000000000007d8b9ebfc8bb3d42099cd8cd86b4376e49df3275000000000000000000000000881e3a65b4d4a04dd529061dd0071cf975f58bcd