UNPKG

@ironblocks/firewall-consumer

Version:

Provided interface for smart contracts to connect to Ironblocks' Firewall

74 lines (73 loc) 10.6 kB
{ "_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": {} }