1 tx
2 calls
constructor
constructor(address _olas, address _proxyFactory, address _l2MessageRelayer, address _l1DepositProcessor, uint256 _l1SourceChainId)
functions
getBridgingDecimals
purefunction getBridgingDecimals() pure returns (uint256)
l1AliasedDepositProcessor
viewfunction l1AliasedDepositProcessor() view returns (address)
l1DepositProcessor
viewfunction l1DepositProcessor() view returns (address)
l1SourceChainId
viewfunction l1SourceChainId() view returns (uint256)
l2MessageRelayer
viewfunction l2MessageRelayer() view returns (address)
MAX_CHAIN_ID
viewfunction MAX_CHAIN_ID() view returns (uint256)
MAX_GAS_LIMIT
viewfunction MAX_GAS_LIMIT() view returns (uint256)
MIN_GAS_LIMIT
viewfunction MIN_GAS_LIMIT() view returns (uint256)
olas
viewfunction olas() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (uint8)
processedHashes
viewfunction processedHashes(bytes32) view returns (bool)
queuedHashes
viewfunction queuedHashes(bytes32) view returns (bool)
RECEIVE_MESSAGE
viewfunction RECEIVE_MESSAGE() view returns (bytes4)
stakingBatchNonce
viewfunction stakingBatchNonce() view returns (uint256)
stakingFactory
viewfunction stakingFactory() view returns (address)
withheldAmount
viewfunction withheldAmount() view returns (uint256)
changeOwner
nonpayablefunction changeOwner(address newOwner)
drain
nonpayablefunction drain() returns (uint256 amount)
migrate
nonpayablefunction migrate(address newL2TargetDispenser)
pause
nonpayablefunction pause()
processDataMaintenance
nonpayablefunction processDataMaintenance(bytes data)
receiveMessage
payablefunction receiveMessage(bytes data) payable
redeem
nonpayablefunction redeem(address target, uint256 amount, bytes32 batchHash)
syncWithheldAmount
payablefunction syncWithheldAmount(bytes bridgePayload) payable
unpause
nonpayablefunction unpause()
events
AmountWithheld
event AmountWithheld(address indexed target, uint256 amount)
Drain
event Drain(address indexed owner, uint256 amount)
FundsReceived
event FundsReceived(address indexed sender, uint256 value)
LeftoversRefunded
event LeftoversRefunded(address indexed sender, uint256 leftovers)
MessagePosted
event MessagePosted(uint256 indexed sequence, address indexed messageSender, uint256 amount, bytes32 indexed batchHash)
MessageReceived
event MessageReceived(address indexed sender, uint256 chainId, bytes data)
Migrated
event Migrated(address indexed sender, address indexed newL2TargetDispenser, uint256 amount)
OwnerUpdated
event OwnerUpdated(address indexed owner)
StakingRequestQueued
event StakingRequestQueued(bytes32 indexed queueHash, address indexed target, uint256 amount, bytes32 indexed batchHash, uint256 olasBalance, uint256 paused)
StakingTargetDeposited
event StakingTargetDeposited(address indexed target, uint256 amount, bytes32 indexed batchHash)
TargetDispenserPaused
event TargetDispenserPaused()
TargetDispenserUnpaused
event TargetDispenserUnpaused()
errors
AlreadyDelivered
error AlreadyDelivered(bytes32 deliveryHash)
IncorrectDataLength
error IncorrectDataLength(uint256 expected, uint256 provided)
InsufficientBalance
error InsufficientBalance(uint256 provided, uint256 expected)
LowerThan
error LowerThan(uint256 provided, uint256 expected)
ManagerOnly
error ManagerOnly(address sender, address manager)
Overflow
error Overflow(uint256 provided, uint256 max)
OwnerOnly
error OwnerOnly(address sender, address owner)
Paused
error Paused()
ReentrancyGuard
error ReentrancyGuard()
TargetAmountNotQueued
error TargetAmountNotQueued(address target, uint256 amount, bytes32 batchHash)
TargetRelayerOnly
error TargetRelayerOnly(address provided, address expected)
TransferFailed
error TransferFailed(address token, address from, address to, uint256 amount)
Unpaused
error Unpaused()
WrongAccount
error WrongAccount(address account)
WrongAmount
error WrongAmount(uint256 provided, uint256 expected)
WrongChainId
error WrongChainId(uint256 provided, uint256 expected)
WrongMessageSender
error WrongMessageSender(address provided, address expected)
WrongTokenAddress
error WrongTokenAddress(address provided, address expected)
ZeroAddress
error ZeroAddress()
ZeroValue
error ZeroValue()
creation bytecode
0x610140604052348015610010575f80fd5b5060405161247538038061247583398101604081905261002f916101c8565b84848484846001600160a01b038516158061005157506001600160a01b038416155b8061006357506001600160a01b038316155b8061007557506001600160a01b038216155b156100935760405163d92e233d60e01b815260040160405180910390fd5b805f036100b357604051637c946ed760e01b815260040160405180910390fd5b60246100c760026001600160401b03610222565b6100d19190610253565b6001600160401b031681111561012f578060246100f660026001600160401b03610222565b6101009190610253565b604051637ae5968560e01b815260048101929092526001600160401b0316602482015260440160405180910390fd5b6001600160a01b0394851660805292841660a05290831660c052821660e052610100526002805460ff60a81b1960ff60a01b1933166001600160a81b031990921691909117600160a01b1716600160a81b17905573111100000000000000000000000000000000111192909201909116610120525061028692505050565b80516001600160a01b03811681146101c3575f80fd5b919050565b5f805f805f60a086880312156101dc575f80fd5b6101e5866101ad565b94506101f3602087016101ad565b9350610201604087016101ad565b925061020f606087016101ad565b9150608086015190509295509295909350565b5f6001600160401b038381168061024757634e487b7160e01b5f52601260045260245ffd5b92169190910492915050565b6001600160401b0382811682821603908082111561027f57634e487b7160e01b5f52601160045260245ffd5b5092915050565b60805160a05160c05160e051610100516101205161211c6103595f395f81816105e20152818161128501526112c701525f81816105290152611c3901525f818161031d0152818161131a0152818161148701528181611b6901528181611bbf0152611bee01525f81816102ea015281816112f90152818161145a01528181611acb0152611b3a01525f818161035001526116a201525f818161022e01528181610c0601528181610ca60152818161108601528181611140015281816111ca0152818161181d01526118cb015261211c5ff3fe60806040526004361061019b575f3560e01c80638456cb59116100dc578063a8b2ae0211610087578063e3f5aa5111610062578063e3f5aa51146105bb578063eec8fddc146105d1578063f4427c2c14610604578063f953cec714610619575f80fd5b8063a8b2ae021461056a578063bddc966e1461057d578063ce5494bb1461059c575f80fd5b8063992c3e4b116100b7578063992c3e4b146104f95780639b7bb84714610518578063a6f9dae11461054b575f80fd5b80638456cb59146104b25780638da5cb5b146104c65780639890220b146104e5575f80fd5b80633f4ba83a116101475780635bc105c0116101225780635bc105c0146104435780635c975abb146104575780637424ddc8146104895780637ce1ffeb1461049c575f80fd5b80633f4ba83a1461037257806354d20cc2146103885780635a7287cf14610421575f80fd5b80631bad5957116101775780631bad5957146102d9578063256359a81461030c578063291347681461033f575f80fd5b806231d1151461021d57806307d9c5341461026d5780631b2e7f0a146102ab575f80fd5b36610219576002546001600160a01b03166101e25760405163cd3f165960e01b81525f60048201523360248201523060448201523460648201526084015b60405180910390fd5b60405134815233907f8e47b87b0ef542cdfa1659c551d88bad38aa7f452d2bbb349ab7530dfec8be8f9060200160405180910390a2005b5f80fd5b348015610228575f80fd5b506102507f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610278575f80fd5b5061029b610287366004611c7d565b60036020525f908152604090205460ff1681565b6040519015158152602001610264565b3480156102b6575f80fd5b5061029b6102c5366004611c7d565b60046020525f908152604090205460ff1681565b3480156102e4575f80fd5b506102507f000000000000000000000000000000000000000000000000000000000000000081565b348015610317575f80fd5b506102507f000000000000000000000000000000000000000000000000000000000000000081565b34801561034a575f80fd5b506102507f000000000000000000000000000000000000000000000000000000000000000081565b34801561037d575f80fd5b5061038661062c565b005b348015610393575f80fd5b5060408051808201909152601581527f726563656976654d6573736167652862797465732900000000000000000000006020909101526103f07ff953cec75ae677942d7cda5cb6d12c0cb96a0904bf37d36301eef297b83c411d81565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610264565b34801561042c575f80fd5b506104355f5481565b604051908152602001610264565b34801561044e575f80fd5b506104356106c4565b348015610462575f80fd5b5060025461047790600160a01b900460ff1681565b60405160ff9091168152602001610264565b610386610497366004611cd9565b6106f0565b3480156104a7575f80fd5b50610435620493e081565b3480156104bd575f80fd5b506103866108c1565b3480156104d1575f80fd5b50600254610250906001600160a01b031681565b3480156104f0575f80fd5b5061043561096a565b348015610504575f80fd5b50610386610513366004611d7c565b610ad7565b348015610523575f80fd5b506104357f000000000000000000000000000000000000000000000000000000000000000081565b348015610556575f80fd5b50610386610565366004611dae565b610e1b565b348015610575575f80fd5b506012610435565b348015610588575f80fd5b50610386610597366004611cd9565b610efc565b3480156105a7575f80fd5b506103866105b6366004611dae565b610f48565b3480156105c6575f80fd5b50610435621e848081565b3480156105dc575f80fd5b506102507f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f575f80fd5b5061043560015481565b610386610627366004611cd9565b61127a565b6002546001600160a01b0316331461066c5760025460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044016101d9565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556040517f20e9b9dbd8158c2b961d8645a7d06624a045634bb65f07ef751ae014a65f61f5905f90a1565b60246106d9600267ffffffffffffffff611df8565b6106e39190611e1e565b67ffffffffffffffff1681565b6002546001600160a81b90910460ff16111561071f576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60a81b1916600160a91b1780825560ff600160a01b90910416900361075d576040516313d0ff5960e31b815260040160405180910390fd5b5f54601281805f0361078257604051637c946ed760e01b815260040160405180910390fd5b61078c8184611e46565b5f908155600154604080516020810183905246918101919091523060608201529091906080016040516020818303038152906040528051906020012090505f806107d785898561133f565b9092509050801561085d57604051339082905f81818185875af1925050503d805f811461081f576040519150601f19603f3d011682016040523d82523d5f602084013e610824565b606091505b50506040518281523391507f8e49ed3e274fbea1556bdfaa9a37a0c28445bfe26d57beaf9f04fd517aa417419060200160405180910390a25b610868846001611e9c565b6001556040518581528390339084907f1ff6d173c1ebeb42f666a09b94f554cf43eadf8054fda3247f56c343baab28f79060200160405180910390a450506002805460ff60a81b1916600160a81b179055505050505050565b6002546001600160a01b031633146109015760025460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044016101d9565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740200000000000000000000000000000000000000001790556040517f8ef6a6615a637325c66275a8d4cadb0844f08a758e5a9df369412975bcdcbc48905f90a1565b6002545f906001600160a81b90910460ff16111561099b576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60a81b198116600160a91b179091556001600160a01b031633146109ed5760025460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044016101d9565b479050805f03610a1057604051637c946ed760e01b815260040160405180910390fd5b6040515f90339083908381818185875af1925050503d805f8114610a4f576040519150601f19603f3d011682016040523d82523d5f602084013e610a54565b606091505b5050905080610a8b5760405163cd3f165960e01b81525f6004820152306024820152336044820152606481018390526084016101d9565b60405182815233907ff36f4d6622e16a536bbb049064af779cdd483a0b388d347d3752a65f1058bf5b9060200160405180910390a2506002805460ff60a81b1916600160a81b17905590565b6002546001600160a81b90910460ff161115610b06576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60a81b1916600160a91b1780825560ff600160a01b909104169003610b44576040516313d0ff5960e31b815260040160405180910390fd5b604080516001600160a01b0385166020820152908101839052606081018290524660808201523060a08201525f9060c00160408051601f1981840301815291815281516020928301205f818152600490935291205490915060ff1680610bef576040517f2b82bd4a0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260248101859052604481018490526064016101d9565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610c53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c779190611eaf565b9050848110610dc45760405163095ea7b360e01b81526001600160a01b038781166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610cec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d109190611ec6565b5060405163b6b55f2560e01b8152600481018690526001600160a01b0387169063b6b55f25906024015f604051808303815f87803b158015610d50575f80fd5b505af1158015610d62573d5f803e3d5ffd5b5050505083866001600160a01b03167f22ab9fd8eb5063f7f3cb43c78f5d368aea9a51855ada00fa146687ef2c32198087604051610da291815260200190565b60405180910390a35f838152600460205260409020805460ff19169055610e00565b6040517fcf47918100000000000000000000000000000000000000000000000000000000815260048101829052602481018690526044016101d9565b50506002805460ff60a81b1916600160a81b17905550505050565b6002546001600160a01b03163314610e5b5760025460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044016101d9565b6001600160a01b038116610e9b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b905f90a250565b6002546001600160a01b03163314610f3c5760025460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044016101d9565b610f45816114fd565b50565b6002546001600160a81b90910460ff161115610f77576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60a81b198116600160a91b179091556001600160a01b03163314610fc95760025460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044016101d9565b600254600160a01b900460ff1660010361100f576040517fa45f47fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001600160a01b03163b5f0361104457604051631c7025f960e11b81526001600160a01b03821660048201526024016101d9565b306001600160a01b0382160361106f57604051631c7025f960e11b81523060048201526024016101d9565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156110d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f79190611eaf565b9050801561120e576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152602482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015611188573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ac9190611ec6565b90508061120c5760405163cd3f165960e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015230602483015284166044820152606481018390526084016101d9565b505b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040518181526001600160a01b0383169033907f928fd5531324ee87d76cc5307dc37580174da76b85cd546da631b2670bc266b59060200160405180910390a35050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112f457604051630d16cbdd60e01b81523360048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660248201526044016101d9565b610f457f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000083611ac9565b604080518082018252601581527f726563656976654d65737361676528627974657329000000000000000000000060209182015281519081018590529081018290525f90819081907ff953cec75ae677942d7cda5cb6d12c0cb96a0904bf37d36301eef297b83c411d9060600160408051601f19818403018152908290526113c991602401611f13565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290517f928c169a0000000000000000000000000000000000000000000000000000000081529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063928c169a906114b1907f0000000000000000000000000000000000000000000000000000000000000000908590600401611f25565b6020604051808303815f875af11580156114cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f19190611eaf565b96349650945050505050565b6002546001600160a81b90910460ff16111561152c576040516345f5ce8b60e11b815260040160405180910390fd5b6002805460ff60a81b1916600160a91b17905580515f908190819061155a9060209086018101908601611fdd565b5f81815260036020526040902054929550909350915060ff16156115ad576040517f56bc34a1000000000000000000000000000000000000000000000000000000008152600481018290526024016101d9565b5f818152600360205260408120805460ff19166001179055600254600160a01b900460ff16815b8551811015611a92575f8682815181106115f0576115f06120a4565b602002602001015190505f86838151811061160d5761160d6120a4565b602002602001015190505f8260405160240161163891906001600160a01b0391909116815260200190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1eda94d700000000000000000000000000000000000000000000000000000000179052519091505f9081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906116ce9085906120b8565b5f604051808303815f865af19150503d805f8114611707576040519150601f19603f3d011682016040523d82523d5f602084013e61170c565b606091505b50915091505f828015611720575081516020145b1561173c57818060200190518101906117399190611eaf565b90505b805f0361179d5761174d858a611e9c565b9850856001600160a01b03167f29bd7fae5899787bb9cb5aa121b781bf47bb44cc44f0f3ddd1e1ea383acd22fb8660405161178a91815260200190565b60405180910390a2505050505050611a8a565b80851115611806575f6117b08287611e46565b90506117bc818b611e9c565b9950819550866001600160a01b03167f29bd7fae5899787bb9cb5aa121b781bf47bb44cc44f0f3ddd1e1ea383acd22fb826040516117fc91815260200190565b60405180910390a2505b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561186a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188e9190611eaf565b90508581101580156118a05750886001145b156119d45760405163095ea7b360e01b81526001600160a01b038881166004830152602482018890527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015611911573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119359190611ec6565b5060405163b6b55f2560e01b8152600481018790526001600160a01b0388169063b6b55f25906024015f604051808303815f87803b158015611975575f80fd5b505af1158015611987573d5f803e3d5ffd5b505050508a876001600160a01b03167f22ab9fd8eb5063f7f3cb43c78f5d368aea9a51855ada00fa146687ef2c321980886040516119c791815260200190565b60405180910390a3611a82565b604080516001600160a01b0389166020820152908101879052606081018c90524660808201523060a08201525f9060c00160408051601f1981840301815282825280516020918201205f81815260048352839020805460ff191660011790558a84529083018590529082018c905291508c906001600160a01b038a169083907ff40f70fa5e98296d34577a11349caa5adf0d9cf9b6d416fd901de223c50d7a6c9060600160405180910390a4505b505050505050505b6001016115d4565b508115610e0057815f80828254611aa99190611e9c565b909155505050506002805460ff60a81b1916600160a81b17905550505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611b67576040517f2f3111fa0000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301527f00000000000000000000000000000000000000000000000000000000000000001660248201526044016101d9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614611bec57604051630d16cbdd60e01b81526001600160a01b0380841660048301527f00000000000000000000000000000000000000000000000000000000000000001660248201526044016101d9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f98bbde530ec85b002f6fb0864beccaaf3ac3d2a4ac35cb3b03cf7c61ee415e337f000000000000000000000000000000000000000000000000000000000000000083604051611c679291906120ce565b60405180910390a2611c78816114fd565b505050565b5f60208284031215611c8d575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611cd157611cd1611c94565b604052919050565b5f6020808385031215611cea575f80fd5b823567ffffffffffffffff80821115611d01575f80fd5b818501915085601f830112611d14575f80fd5b813581811115611d2657611d26611c94565b611d38601f8201601f19168501611ca8565b91508082528684828501011115611d4d575f80fd5b80848401858401375f90820190930192909252509392505050565b6001600160a01b0381168114610f45575f80fd5b5f805f60608486031215611d8e575f80fd5b8335611d9981611d68565b95602085013595506040909401359392505050565b5f60208284031215611dbe575f80fd5b8135611dc981611d68565b9392505050565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f67ffffffffffffffff80841680611e1257611e12611dd0565b92169190910492915050565b67ffffffffffffffff828116828216039080821115611e3f57611e3f611de4565b5092915050565b81810381811115611e5957611e59611de4565b92915050565b80851115611e9457815f1904821115611e7a57611e7a611de4565b80851615611e8757918102915b93841c9390800290611e5f565b509250929050565b80820180821115611e5957611e59611de4565b5f60208284031215611ebf575f80fd5b5051919050565b5f60208284031215611ed6575f80fd5b81518015158114611dc9575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611dc96020830184611ee5565b6001600160a01b0383168152604060208201525f611f466040830184611ee5565b949350505050565b5f67ffffffffffffffff821115611f6757611f67611c94565b5060051b60200190565b5f82601f830112611f80575f80fd5b81516020611f95611f9083611f4e565b611ca8565b8083825260208201915060208460051b870101935086841115611fb6575f80fd5b602086015b84811015611fd25780518352918301918301611fbb565b509695505050505050565b5f805f60608486031215611fef575f80fd5b835167ffffffffffffffff80821115612006575f80fd5b818601915086601f830112612019575f80fd5b81516020612029611f9083611f4e565b82815260059290921b8401810191818101908a841115612047575f80fd5b948201945b8386101561206e57855161205f81611d68565b8252948201949082019061204c565b91890151919750909350505080821115612086575f80fd5b5061209386828701611f71565b925050604084015190509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b828152604060208201525f611f466040830184611ee556fea2646970667358221220eb969d2c32b3a2e175ba39d7ed8e92824742622b266b8ce2905d85d97642784f64736f6c63430008190033000000000000000000000000064f8b858c2a603e1b106a2039f5446d32dc81c1000000000000000000000000eb5638eefe289691ece01943f768edbf96258a8000000000000000000000000000000000000000000000000000000000000000640000000000000000000000005e13e07006d68b097dcb5979ef5545c4f91561620000000000000000000000000000000000000000000000000000000000000001