@trustline.id/web3sdk
Version:
Protects EVM-compatible smart contracts from unauthorized access and malicious transactions
72 lines (71 loc) • 8.69 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "PaymentFirewall",
"sourceName": "contracts/examples/PaymentFirewall.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "compliance",
"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": "0x608060405234801561000f575f5ffd5b5060405161077f38038061077f83398101604081905261002e916100c8565b806100388161003f565b50506100f5565b6100488161004b565b50565b5f546001600160a01b0316156100a75760405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015260640160405180910390fd5b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602082840312156100d8575f5ffd5b81516001600160a01b03811681146100ee575f5ffd5b9392505050565b61067d806101025f395ff3fe608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b506100566100513660046104d0565b6100bf565b005b61005661006636600461050e565b610297565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106100f2576100f2610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050838160018151811061014057610140610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061018381610426565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101fe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610222919061055d565b905080610290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106102ca576102ca610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061031857610318610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061035b81610426565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f81146103b1576040519150601f19603f3d011682016040523d82523d5f602084013e6103b6565b606091505b5050905080610421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f20706179206574686572730000000000000000000000006044820152606401610287565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916104839133913491903690889060040161057c565b5f604051808303815f87803b15801561049a575f5ffd5b505af1158015610290573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff811681146104cd575f5ffd5b50565b5f5f5f606084860312156104e2575f5ffd5b83356104ed816104ac565b925060208401356104fd816104ac565b929592945050506040919091013590565b5f6020828403121561051e575f5ffd5b8135610529816104ac565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561056d575f5ffd5b81518015158114610529575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b808310156106395773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610600565b50999850505050505050505056fea2646970667358221220782b6fae4b1923bb60065e28cd482c78fbc66b53903b8b529a41d440886f143e64736f6c634300081c0033",
"deployedBytecode": "0x608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b506100566100513660046104d0565b6100bf565b005b61005661006636600461050e565b610297565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106100f2576100f2610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050838160018151811061014057610140610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061018381610426565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101fe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610222919061055d565b905080610290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106102ca576102ca610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061031857610318610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061035b81610426565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f81146103b1576040519150601f19603f3d011682016040523d82523d5f602084013e6103b6565b606091505b5050905080610421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f20706179206574686572730000000000000000000000006044820152606401610287565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916104839133913491903690889060040161057c565b5f604051808303815f87803b15801561049a575f5ffd5b505af1158015610290573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff811681146104cd575f5ffd5b50565b5f5f5f606084860312156104e2575f5ffd5b83356104ed816104ac565b925060208401356104fd816104ac565b929592945050506040919091013590565b5f6020828403121561051e575f5ffd5b8135610529816104ac565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561056d575f5ffd5b81518015158114610529575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b808310156106395773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610600565b50999850505050505050505056fea2646970667358221220782b6fae4b1923bb60065e28cd482c78fbc66b53903b8b529a41d440886f143e64736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}