@trustline.id/web3sdk
Version:
Protects EVM-compatible smart contracts from unauthorized access and malicious transactions
72 lines (71 loc) • 8.07 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "PaymentFirewall",
"sourceName": "contracts/examples/PaymentFirewall.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "validationEngine",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "destination",
"type": "address"
}
],
"name": "payEthers",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "payTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "validationEngine",
"outputs": [
{
"internalType": "contract IValidationEngine",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561000f575f5ffd5b506040516106e53803806106e583398101604081905261002e916100c8565b806100388161003f565b50506100f5565b6100488161004b565b50565b5f546001600160a01b0316156100a75760405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015260640160405180910390fd5b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602082840312156100d8575f5ffd5b81516001600160a01b03811681146100ee575f5ffd5b9392505050565b6105e3806101025f395ff3fe608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b50610056610051366004610436565b6100bf565b005b610056610066366004610474565b61024a565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106100f3576100f3610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506101368161038c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d591906104c3565b905080610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f8151811061027e5761027e610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506102c18161038c565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f8114610317576040519150601f19603f3d011682016040523d82523d5f602084013e61031c565b606091505b5050905080610387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920657468657273000000000000000000000000604482015260640161023a565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916103e9913391349190369088906004016104e2565b5f604051808303815f87803b158015610400575f5ffd5b505af1158015610243573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff81168114610433575f5ffd5b50565b5f5f5f60608486031215610448575f5ffd5b833561045381610412565b9250602084013561046381610412565b929592945050506040919091013590565b5f60208284031215610484575f5ffd5b813561048f81610412565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156104d3575f5ffd5b8151801515811461048f575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b8083101561059f5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610566565b50999850505050505050505056fea26469706673582212207239e00c7cc2793b19c1cc42645fab24a2c2f4c1b587a1e6f1cdb52b7ee3679564736f6c634300081c0033",
"deployedBytecode": "0x608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b50610056610051366004610436565b6100bf565b005b610056610066366004610474565b61024a565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106100f3576100f3610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506101368161038c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d591906104c3565b905080610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f8151811061027e5761027e610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506102c18161038c565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f8114610317576040519150601f19603f3d011682016040523d82523d5f602084013e61031c565b606091505b5050905080610387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920657468657273000000000000000000000000604482015260640161023a565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916103e9913391349190369088906004016104e2565b5f604051808303815f87803b158015610400575f5ffd5b505af1158015610243573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff81168114610433575f5ffd5b50565b5f5f5f60608486031215610448575f5ffd5b833561045381610412565b9250602084013561046381610412565b929592945050506040919091013590565b5f60208284031215610484575f5ffd5b813561048f81610412565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156104d3575f5ffd5b8151801515811461048f575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b8083101561059f5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610566565b50999850505050505050505056fea26469706673582212207239e00c7cc2793b19c1cc42645fab24a2c2f4c1b587a1e6f1cdb52b7ee3679564736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}