[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "adminCall", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "getAdmin", "outputs": [ { "internalType": "address", "name": "adminAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getContractType", "outputs": [ { "internalType": "bytes32", "name": "contractType", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDeploymentBlock", "outputs": [ { "internalType": "address", "name": "holograph", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getHolograph", "outputs": [ { "internalType": "address", "name": "holograph", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getHolographEnforcer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOriginChain", "outputs": [ { "internalType": "uint32", "name": "originChain", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getSourceContract", "outputs": [ { "internalType": "address", "name": "sourceContract", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "initPayload", "type": "bytes" } ], "name": "init", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adminAddress", "type": "address" } ], "name": "setAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
608060405234801561001057600080fd5b50610f19806100206000396000f3fe6080604052600436106100c05760003560e01c806380d1cb3511610074578063c51a29e01161004e578063c51a29e0146102b7578063c8a4c3d5146102f4578063f851a44014610309576100c7565b806380d1cb351461022c578063913a0ef214610260578063bf64a82d146102a4576100c7565b80636e9960c3116100a55780636e9960c3146101a45780636faf275b146101d8578063704b6c021461020c576100c7565b80634827ae0c146100f95780634ddf47d414610153576100c7565b366100c757005b60006100d161031e565b90503660008037600080366000845af43d6000803e8080156100f2573d6000f35b3d6000fd5b005b34801561010557600080fd5b507fb4107f746e9496e8452accc7de63d1c5e14c19f510932daa04077cd49e8bd77a545b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561015f57600080fd5b5061017361016e366004610bb3565b61045c565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161014a565b3480156101b057600080fd5b507f3f106594dc74eeef980dae234cde8324dc2497b13d27a0c59e55bd2ca10a07c954610129565b3480156101e457600080fd5b507f27d542086d1e831d40b749e7f5509a626c3047a36d160781c40d5acc83e5b07454610129565b34801561021857600080fd5b506100f7610227366004610c58565b610910565b34801561023857600080fd5b507f9172848b0f1df776dc924b58e7fa303087ae0409bbf611608529e7f747d55de354610129565b34801561026c57600080fd5b507fd49ffd6af8249d6e6b5963d9d2b22c6db30ad594cb468453047a14e1c1bcde4d5460405163ffffffff909116815260200161014a565b6100f76102b2366004610c7c565b6109ea565b3480156102c357600080fd5b507f0b671eb65810897366dd82c4cbb7d9dff8beda8484194956e81e89b8a361d9c75460405190815260200161014a565b34801561030057600080fd5b5061012961031e565b34801561031557600080fd5b50610129610ac0565b60008060007fb4107f746e9496e8452accc7de63d1c5e14c19f510932daa04077cd49e8bd77a5491507f0b671eb65810897366dd82c4cbb7d9dff8beda8484194956e81e89b8a361d9c75490508173ffffffffffffffffffffffffffffffffffffffff16635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103da9190610d01565b73ffffffffffffffffffffffffffffffffffffffff166374b7510c826040518263ffffffff1660e01b815260040161041491815260200190565b602060405180830381865afa158015610431573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104559190610d01565b9250505090565b60006104867f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a015490565b156104f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f484f4c4f475241504845523a20616c726561647920696e697469616c697a656460448201526064015b60405180910390fd5b600080838060200190518101906105099190610d9b565b91509150600080600080858060200190518101906105279190610dff565b9350935093509350337f3f106594dc74eeef980dae234cde8324dc2497b13d27a0c59e55bd2ca10a07c955437f9172848b0f1df776dc924b58e7fa303087ae0409bbf611608529e7f747d55de355817f0b671eb65810897366dd82c4cbb7d9dff8beda8484194956e81e89b8a361d9c755827fb4107f746e9496e8452accc7de63d1c5e14c19f510932daa04077cd49e8bd77a55837fd49ffd6af8249d6e6b5963d9d2b22c6db30ad594cb468453047a14e1c1bcde4d55807f27d542086d1e831d40b749e7f5509a626c3047a36d160781c40d5acc83e5b074556000808473ffffffffffffffffffffffffffffffffffffffff16635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106739190610d01565b73ffffffffffffffffffffffffffffffffffffffff166374b7510c856040518263ffffffff1660e01b81526004016106ad91815260200190565b602060405180830381865afa1580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee9190610d01565b73ffffffffffffffffffffffffffffffffffffffff16634ddf47d460e01b8860405160240161071d9190610e5d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516107a69190610eae565b600060405180830381855af49150503d80600081146107e1576040519150601f19603f3d011682016040523d82523d6000602084013e6107e6565b606091505b50915091506000818060200190518101906108019190610eca565b905082801561085157507fffffffff0000000000000000000000000000000000000000000000000000000081167f4ddf47d400000000000000000000000000000000000000000000000000000000145b6108b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f696e697469616c697a6174696f6e206661696c6564000000000000000000000060448201526064016104e9565b6108e060017f4e5f991bca30eca2d4643aaefa807e88f96a4a97398933d572a3c0d973004a0155565b507f4ddf47d4000000000000000000000000000000000000000000000000000000009a9950505050505050505050565b7f3f106594dc74eeef980dae234cde8324dc2497b13d27a0c59e55bd2ca10a07c95473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f484f4c4f47524150483a2061646d696e206f6e6c792066756e6374696f6e000060448201526064016104e9565b7f3f106594dc74eeef980dae234cde8324dc2497b13d27a0c59e55bd2ca10a07c955565b7f3f106594dc74eeef980dae234cde8324dc2497b13d27a0c59e55bd2ca10a07c95473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f484f4c4f47524150483a2061646d696e206f6e6c792066756e6374696f6e000060448201526064016104e9565b808260003760008082600034875af13d6000803e8080156100f2573d6000f35b6000610aea7f3f106594dc74eeef980dae234cde8324dc2497b13d27a0c59e55bd2ca10a07c95490565b905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610b6557610b65610aef565b604052919050565b600067ffffffffffffffff821115610b8757610b87610aef565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600060208284031215610bc557600080fd5b813567ffffffffffffffff811115610bdc57600080fd5b8201601f81018413610bed57600080fd5b8035610c00610bfb82610b6d565b610b1e565b818152856020838501011115610c1557600080fd5b81602084016020830137600091810160200191909152949350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c5557600080fd5b50565b600060208284031215610c6a57600080fd5b8135610c7581610c33565b9392505050565b600080600060408486031215610c9157600080fd5b8335610c9c81610c33565b9250602084013567ffffffffffffffff80821115610cb957600080fd5b818601915086601f830112610ccd57600080fd5b813581811115610cdc57600080fd5b876020828501011115610cee57600080fd5b6020830194508093505050509250925092565b600060208284031215610d1357600080fd5b8151610c7581610c33565b60005b83811015610d39578181015183820152602001610d21565b83811115610d48576000848401525b50505050565b600082601f830112610d5f57600080fd5b8151610d6d610bfb82610b6d565b818152846020838601011115610d8257600080fd5b610d93826020830160208701610d1e565b949350505050565b60008060408385031215610dae57600080fd5b825167ffffffffffffffff80821115610dc657600080fd5b610dd286838701610d4e565b93506020850151915080821115610de857600080fd5b50610df585828601610d4e565b9150509250929050565b60008060008060808587031215610e1557600080fd5b845163ffffffff81168114610e2957600080fd5b6020860151909450610e3a81610c33565b604086015160608701519194509250610e5281610c33565b939692955090935050565b6020815260008251806020840152610e7c816040850160208701610d1e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008251610ec0818460208701610d1e565b9190910192915050565b600060208284031215610edc57600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114610c7557600080fdfea164736f6c634300080d000a