@ironblocks/firewall-consumer
Version:
Provided interface for smart contracts to connect to Ironblocks' Firewall
74 lines (73 loc) • 10.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "SimpleUpgradeableFirewallConsumer",
"sourceName": "contracts/consumers/SimpleUpgradeableFirewallConsumer.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"inputs": [],
"name": "firewallAdmin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "userNativeFee",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "vennPolicyPayload",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeFunctionCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_firewallConsumerStorage",
"type": "address"
}
],
"name": "setFirewallConsumerStorage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506108bb806100206000396000f3fe6080604052600436106100345760003560e01c8063af076af414610039578063cb09f61f1461005b578063f05c85821461006e575b600080fd5b34801561004557600080fd5b5061005961005436600461067f565b6100ac565b005b6100596100693660046106ec565b6101dc565b34801561007a57600080fd5b506100836103b0565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46103bf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610172576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e0000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101a66101a060017f8e3c00479826132de4d9fbea35ecc012d08897d0189005139e3f3edc7ccc966d610766565b60009055565b6101d96101d460017f7ffa9b40ff30ebf8641c7bc9a690e086033cb7145678974a167b48d9033ba95d610766565b829055565b50565b60006101e661048e565b905060008173ffffffffffffffffffffffffffffffffffffffff16636064a0136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025991906107a0565b9050863410156102eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4669726577616c6c436f6e73756d65723a204e6f7420656e6f756768206e617460448201527f6976652076616c756520666f72206665650000000000000000000000000000006064820152608401610169565b60008173ffffffffffffffffffffffffffffffffffffffff168888886040516103159291906107bd565b60006040518083038185875af1925050503d8060008114610352576040519150601f19603f3d011682016040523d82523d6000602084013e610357565b606091505b505090508061036557600080fd5b6103a53086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104be92505050565b505050505050505050565b60006103ba6103bf565b905090565b6000806103ca61048e565b905073ffffffffffffffffffffffffffffffffffffffff811661041f5761041961041560017f8e3c00479826132de4d9fbea35ecc012d08897d0189005139e3f3edc7ccc966d610766565b5490565b91505090565b8073ffffffffffffffffffffffffffffffffffffffff1663af7f27f46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561046a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041991906107a0565b60006103ba61041560017f7ffa9b40ff30ebf8641c7bc9a690e086033cb7145678974a167b48d9033ba95d610766565b60606104e3838360405180606001604052806027815260200161085f602791396104ec565b90505b92915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161051691906107f1565b600060405180830381855af49150503d8060008114610551576040519150601f19603f3d011682016040523d82523d6000602084013e610556565b606091505b509150915061056786838387610571565b9695505050505050565b606083156106075782516000036106005773ffffffffffffffffffffffffffffffffffffffff85163b610600576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610169565b5081610611565b6106118383610619565b949350505050565b8151156106295781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610169919061080d565b73ffffffffffffffffffffffffffffffffffffffff811681146101d957600080fd5b60006020828403121561069157600080fd5b813561069c8161065d565b9392505050565b60008083601f8401126106b557600080fd5b50813567ffffffffffffffff8111156106cd57600080fd5b6020830191508360208285010111156106e557600080fd5b9250929050565b60008060008060006060868803121561070457600080fd5b85359450602086013567ffffffffffffffff8082111561072357600080fd5b61072f89838a016106a3565b9096509450604088013591508082111561074857600080fd5b50610755888289016106a3565b969995985093965092949392505050565b818103818111156104e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156107b257600080fd5b815161069c8161065d565b8183823760009101908152919050565b60005b838110156107e85781810151838201526020016107d0565b50506000910152565b600082516108038184602087016107cd565b9190910192915050565b602081526000825180602084015261082c8160408501602087016107cd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201798097893f2284215dcd42223b5d819091e7e8e0cd81a6c7eb7fa6c9ae6436d64736f6c63430008130033",
"deployedBytecode": "0x6080604052600436106100345760003560e01c8063af076af414610039578063cb09f61f1461005b578063f05c85821461006e575b600080fd5b34801561004557600080fd5b5061005961005436600461067f565b6100ac565b005b6100596100693660046106ec565b6101dc565b34801561007a57600080fd5b506100836103b0565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46103bf565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610172576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e0000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101a66101a060017f8e3c00479826132de4d9fbea35ecc012d08897d0189005139e3f3edc7ccc966d610766565b60009055565b6101d96101d460017f7ffa9b40ff30ebf8641c7bc9a690e086033cb7145678974a167b48d9033ba95d610766565b829055565b50565b60006101e661048e565b905060008173ffffffffffffffffffffffffffffffffffffffff16636064a0136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025991906107a0565b9050863410156102eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4669726577616c6c436f6e73756d65723a204e6f7420656e6f756768206e617460448201527f6976652076616c756520666f72206665650000000000000000000000000000006064820152608401610169565b60008173ffffffffffffffffffffffffffffffffffffffff168888886040516103159291906107bd565b60006040518083038185875af1925050503d8060008114610352576040519150601f19603f3d011682016040523d82523d6000602084013e610357565b606091505b505090508061036557600080fd5b6103a53086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104be92505050565b505050505050505050565b60006103ba6103bf565b905090565b6000806103ca61048e565b905073ffffffffffffffffffffffffffffffffffffffff811661041f5761041961041560017f8e3c00479826132de4d9fbea35ecc012d08897d0189005139e3f3edc7ccc966d610766565b5490565b91505090565b8073ffffffffffffffffffffffffffffffffffffffff1663af7f27f46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561046a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041991906107a0565b60006103ba61041560017f7ffa9b40ff30ebf8641c7bc9a690e086033cb7145678974a167b48d9033ba95d610766565b60606104e3838360405180606001604052806027815260200161085f602791396104ec565b90505b92915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161051691906107f1565b600060405180830381855af49150503d8060008114610551576040519150601f19603f3d011682016040523d82523d6000602084013e610556565b606091505b509150915061056786838387610571565b9695505050505050565b606083156106075782516000036106005773ffffffffffffffffffffffffffffffffffffffff85163b610600576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610169565b5081610611565b6106118383610619565b949350505050565b8151156106295781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610169919061080d565b73ffffffffffffffffffffffffffffffffffffffff811681146101d957600080fd5b60006020828403121561069157600080fd5b813561069c8161065d565b9392505050565b60008083601f8401126106b557600080fd5b50813567ffffffffffffffff8111156106cd57600080fd5b6020830191508360208285010111156106e557600080fd5b9250929050565b60008060008060006060868803121561070457600080fd5b85359450602086013567ffffffffffffffff8082111561072357600080fd5b61072f89838a016106a3565b9096509450604088013591508082111561074857600080fd5b50610755888289016106a3565b969995985093965092949392505050565b818103818111156104e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156107b257600080fd5b815161069c8161065d565b8183823760009101908152919050565b60005b838110156107e85781810151838201526020016107d0565b50506000910152565b600082516108038184602087016107cd565b9190910192915050565b602081526000825180602084015261082c8160408501602087016107cd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201798097893f2284215dcd42223b5d819091e7e8e0cd81a6c7eb7fa6c9ae6436d64736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}