UNPKG

@ironblocks/firewall-consumer

Version:

Provided interface for smart contracts to connect to Ironblocks' Firewall

138 lines (137 loc) 20.7 kB
{ "_format": "hh-sol-artifact-1", "contractName": "FirewallConsumer", "sourceName": "contracts/FirewallConsumer.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "FirewallAdminUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newFirewall", "type": "address" } ], "name": "FirewallUpdated", "type": "event" }, { "inputs": [], "name": "acceptFirewallAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "firewallAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vennPolicy", "type": "address" }, { "internalType": "bytes", "name": "vennPolicyPayload", "type": "bytes" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeFunctionCall", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vennPolicy", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setApprovedVennPolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "setApprovedVennPolicyFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_firewall", "type": "address" } ], "name": "setFirewall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_firewallAdmin", "type": "address" } ], "name": "setFirewallAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60806040523480156200001157600080fd5b506000336200004b6200004660017f5dd2e3b890564a8f99f7f203f226a27a8aa59aee19a4ece5cf5eaa77ab91f662620000f1565b839055565b620000816200007c60017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136620000f1565b829055565b620000b8620000b260017f471011fb6f6f818490c7275a3f5781bd5ea022cb5a243dd8f2d009d0882c74a3620000f1565b60019055565b620000e9620000b260017f649dd3ecd011e05f7b661f5786e7205a54d2201cb71ede57000d4047776e2040620000f1565b505062000119565b818103818111156200011357634e487b7160e01b600052601160045260246000fd5b92915050565b6110cb80620001296000396000f3fe6080604052600436106100705760003560e01c80638c36d02d1161004e5780638c36d02d146100bf578063acef6106146100df578063efc2e703146100ff578063f05c85821461011f57600080fd5b80631a8828f414610075578063734b71981461008a5780637c65c38b146100aa575b600080fd5b610088610083366004610ea2565b61015d565b005b34801561009657600080fd5b506100886100a5366004610f23565b6104fa565b3480156100b657600080fd5b50610088610694565b3480156100cb57600080fd5b506100886100da366004610f23565b6107b9565b3480156100eb57600080fd5b506100886100fa366004610f3e565b61091a565b34801561010b57600080fd5b5061008861011a366004610f57565b610a2f565b34801561012b57600080fd5b50610134610b8d565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b84600061018b60017f6782ca2e76fbed2f777ca33e218789cca19c2f6a133e95d845003afe7a328fab610f93565b60408051602081019290925273ffffffffffffffffffffffffffffffffffffffff84169082015260600160405160208183030381529060405280519060200120905060008060001b6101db835490565b1415905080610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4669726577616c6c436f6e73756d65723a204e6f7420617070726f766564205660448201527f656e6e20706f6c6963790000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61029b837f0c908cff00000000000000000000000000000000000000000000000000000000610bc2565b6102a457600080fd5b60006102d86102d460017ff313666cbe82d6ed38ebc95c800c2b3beb64c78c4f1ce31a7b38a023ff4ec4f8610f93565b5490565b90503481111561036a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4669726577616c6c436f6e73756d65723a204e6f7420656e6f7567682045544860448201527f20666f72206665650000000000000000000000000000000000000000000000006064820152608401610268565b61039d61039860017f471011fb6f6f818490c7275a3f5781bd5ea022cb5a243dd8f2d009d0882c74a3610f93565b339055565b6103d16103cb60017f649dd3ecd011e05f7b661f5786e7205a54d2201cb71ede57000d4047776e2040610f93565b60029055565b60008973ffffffffffffffffffffffffffffffffffffffff16828a8a6040516103fb929190610fcd565b60006040518083038185875af1925050503d8060008114610438576040519150601f19603f3d011682016040523d82523d6000602084013e61043d565b606091505b505090508061044b57600080fd5b61048b3088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9392505050565b506104c06104ba60017f471011fb6f6f818490c7275a3f5781bd5ea022cb5a243dd8f2d009d0882c74a3610f93565b60019055565b6104ee6104ba60017f649dd3ecd011e05f7b661f5786e7205a54d2201cb71ede57000d4047776e2040610f93565b50505050505050505050565b6105286102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b73ffffffffffffffffffffffffffffffffffffffff811661065e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4669726577616c6c436f6e73756d65723a207a65726f206164647265737300006044820152606401610268565b61069161068c60017f8583d637b7eb6415d11ef26648cf0702cf161a357dfe51b6ff7a332110d4bdd3610f93565b829055565b50565b6106c26102d460017f8583d637b7eb6415d11ef26648cf0702cf161a357dfe51b6ff7a332110d4bdd3610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4669726577616c6c436f6e73756d65723a206e6f74206e65772061646d696e006044820152606401610268565b61078461039860017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b6040513381527f2763a008a9a724a5da2f35346041f5c552001ab556d786252e1ff4ff798dfc1b9060200160405180910390a1565b6107e76102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b6108ce61068c60017f5dd2e3b890564a8f99f7f203f226a27a8aa59aee19a4ece5cf5eaa77ab91f662610f93565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f60c1452966d777aab347837b9ceeaa613af32925b5aab43918e878fd036086709060200160405180910390a150565b6109486102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b61069161068c60017ff313666cbe82d6ed38ebc95c800c2b3beb64c78c4f1ce31a7b38a023ff4ec4f8610f93565b610a5d6102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b6000610b4360017f6782ca2e76fbed2f777ca33e218789cca19c2f6a133e95d845003afe7a328fab610f93565b60408051602081019290925273ffffffffffffffffffffffffffffffffffffffff851690820152606001604051602081830303815290604052805190602001209050818155505050565b6000610bbd6102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b905090565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610c7a575060208210155b8015610c865750600081115b9450505050505b92915050565b6060610cb8838360405180606001604052806027815260200161106f60279139610cbf565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610ce99190611001565b600060405180830381855af49150503d8060008114610d24576040519150601f19603f3d011682016040523d82523d6000602084013e610d29565b606091505b5091509150610d3a86838387610d44565b9695505050505050565b60608315610dda578251600003610dd35773ffffffffffffffffffffffffffffffffffffffff85163b610dd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610268565b5081610de4565b610de48383610dec565b949350505050565b815115610dfc5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610268919061101d565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e5457600080fd5b919050565b60008083601f840112610e6b57600080fd5b50813567ffffffffffffffff811115610e8357600080fd5b602083019150836020828501011115610e9b57600080fd5b9250929050565b600080600080600060608688031215610eba57600080fd5b610ec386610e30565b9450602086013567ffffffffffffffff80821115610ee057600080fd5b610eec89838a01610e59565b90965094506040880135915080821115610f0557600080fd5b50610f1288828901610e59565b969995985093965092949392505050565b600060208284031215610f3557600080fd5b610cb882610e30565b600060208284031215610f5057600080fd5b5035919050565b60008060408385031215610f6a57600080fd5b610f7383610e30565b915060208301358015158114610f8857600080fd5b809150509250929050565b81810381811115610c8d577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8183823760009101908152919050565b60005b83811015610ff8578181015183820152602001610fe0565b50506000910152565b60008251611013818460208701610fdd565b9190910192915050565b602081526000825180602084015261103c816040850160208701610fdd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202ee378f50f6fbc08f89cf42125739113a2e16af8402a043fe9978538cdb67dd964736f6c63430008130033", "deployedBytecode": "0x6080604052600436106100705760003560e01c80638c36d02d1161004e5780638c36d02d146100bf578063acef6106146100df578063efc2e703146100ff578063f05c85821461011f57600080fd5b80631a8828f414610075578063734b71981461008a5780637c65c38b146100aa575b600080fd5b610088610083366004610ea2565b61015d565b005b34801561009657600080fd5b506100886100a5366004610f23565b6104fa565b3480156100b657600080fd5b50610088610694565b3480156100cb57600080fd5b506100886100da366004610f23565b6107b9565b3480156100eb57600080fd5b506100886100fa366004610f3e565b61091a565b34801561010b57600080fd5b5061008861011a366004610f57565b610a2f565b34801561012b57600080fd5b50610134610b8d565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b84600061018b60017f6782ca2e76fbed2f777ca33e218789cca19c2f6a133e95d845003afe7a328fab610f93565b60408051602081019290925273ffffffffffffffffffffffffffffffffffffffff84169082015260600160405160208183030381529060405280519060200120905060008060001b6101db835490565b1415905080610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4669726577616c6c436f6e73756d65723a204e6f7420617070726f766564205660448201527f656e6e20706f6c6963790000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61029b837f0c908cff00000000000000000000000000000000000000000000000000000000610bc2565b6102a457600080fd5b60006102d86102d460017ff313666cbe82d6ed38ebc95c800c2b3beb64c78c4f1ce31a7b38a023ff4ec4f8610f93565b5490565b90503481111561036a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4669726577616c6c436f6e73756d65723a204e6f7420656e6f7567682045544860448201527f20666f72206665650000000000000000000000000000000000000000000000006064820152608401610268565b61039d61039860017f471011fb6f6f818490c7275a3f5781bd5ea022cb5a243dd8f2d009d0882c74a3610f93565b339055565b6103d16103cb60017f649dd3ecd011e05f7b661f5786e7205a54d2201cb71ede57000d4047776e2040610f93565b60029055565b60008973ffffffffffffffffffffffffffffffffffffffff16828a8a6040516103fb929190610fcd565b60006040518083038185875af1925050503d8060008114610438576040519150601f19603f3d011682016040523d82523d6000602084013e61043d565b606091505b505090508061044b57600080fd5b61048b3088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c9392505050565b506104c06104ba60017f471011fb6f6f818490c7275a3f5781bd5ea022cb5a243dd8f2d009d0882c74a3610f93565b60019055565b6104ee6104ba60017f649dd3ecd011e05f7b661f5786e7205a54d2201cb71ede57000d4047776e2040610f93565b50505050505050505050565b6105286102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b73ffffffffffffffffffffffffffffffffffffffff811661065e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4669726577616c6c436f6e73756d65723a207a65726f206164647265737300006044820152606401610268565b61069161068c60017f8583d637b7eb6415d11ef26648cf0702cf161a357dfe51b6ff7a332110d4bdd3610f93565b829055565b50565b6106c26102d460017f8583d637b7eb6415d11ef26648cf0702cf161a357dfe51b6ff7a332110d4bdd3610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4669726577616c6c436f6e73756d65723a206e6f74206e65772061646d696e006044820152606401610268565b61078461039860017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b6040513381527f2763a008a9a724a5da2f35346041f5c552001ab556d786252e1ff4ff798dfc1b9060200160405180910390a1565b6107e76102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b6108ce61068c60017f5dd2e3b890564a8f99f7f203f226a27a8aa59aee19a4ece5cf5eaa77ab91f662610f93565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f60c1452966d777aab347837b9ceeaa613af32925b5aab43918e878fd036086709060200160405180910390a150565b6109486102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b61069161068c60017ff313666cbe82d6ed38ebc95c800c2b3beb64c78c4f1ce31a7b38a023ff4ec4f8610f93565b610a5d6102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4669726577616c6c436f6e73756d65723a206e6f74206669726577616c6c206160448201527f646d696e000000000000000000000000000000000000000000000000000000006064820152608401610268565b6000610b4360017f6782ca2e76fbed2f777ca33e218789cca19c2f6a133e95d845003afe7a328fab610f93565b60408051602081019290925273ffffffffffffffffffffffffffffffffffffffff851690820152606001604051602081830303815290604052805190602001209050818155505050565b6000610bbd6102d460017f29982a6ac507a2a707ced6dee5d76285dd49725db977de83d9702c628c974136610f93565b905090565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015610c7a575060208210155b8015610c865750600081115b9450505050505b92915050565b6060610cb8838360405180606001604052806027815260200161106f60279139610cbf565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610ce99190611001565b600060405180830381855af49150503d8060008114610d24576040519150601f19603f3d011682016040523d82523d6000602084013e610d29565b606091505b5091509150610d3a86838387610d44565b9695505050505050565b60608315610dda578251600003610dd35773ffffffffffffffffffffffffffffffffffffffff85163b610dd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610268565b5081610de4565b610de48383610dec565b949350505050565b815115610dfc5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610268919061101d565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e5457600080fd5b919050565b60008083601f840112610e6b57600080fd5b50813567ffffffffffffffff811115610e8357600080fd5b602083019150836020828501011115610e9b57600080fd5b9250929050565b600080600080600060608688031215610eba57600080fd5b610ec386610e30565b9450602086013567ffffffffffffffff80821115610ee057600080fd5b610eec89838a01610e59565b90965094506040880135915080821115610f0557600080fd5b50610f1288828901610e59565b969995985093965092949392505050565b600060208284031215610f3557600080fd5b610cb882610e30565b600060208284031215610f5057600080fd5b5035919050565b60008060408385031215610f6a57600080fd5b610f7383610e30565b915060208301358015158114610f8857600080fd5b809150509250929050565b81810381811115610c8d577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8183823760009101908152919050565b60005b83811015610ff8578181015183820152602001610fe0565b50506000910152565b60008251611013818460208701610fdd565b9190910192915050565b602081526000825180602084015261103c816040850160208701610fdd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202ee378f50f6fbc08f89cf42125739113a2e16af8402a043fe9978538cdb67dd964736f6c63430008130033", "linkReferences": {}, "deployedLinkReferences": {} }