From b38e22eb32c64e8abbfcc42e078fa13c0b09a524 Mon Sep 17 00:00:00 2001 From: Corantin Date: Thu, 12 Sep 2024 22:07:40 -0400 Subject: [PATCH 01/13] Fix coucil safe not seeing buttons --- apps/web/components/PoolHeader.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/components/PoolHeader.tsx b/apps/web/components/PoolHeader.tsx index b783119ee..9876e9e6e 100644 --- a/apps/web/components/PoolHeader.tsx +++ b/apps/web/components/PoolHeader.tsx @@ -240,7 +240,7 @@ export default function PoolHeader({

{ipfsResult?.title} #{poolId}

- {(isCouncilMember ?? isCouncilSafe) && ( + {(!!isCouncilMember || isCouncilSafe) && ( // true
)} -
- +
+
+ +
+ +
+ + Council safe + + + +
Date: Thu, 31 Oct 2024 14:31:22 -0300 Subject: [PATCH 10/13] fix: remove proposal and funds statistic from pool in review --- apps/web/components/PoolCard.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/web/components/PoolCard.tsx b/apps/web/components/PoolCard.tsx index a19c177ea..9e7f512d4 100644 --- a/apps/web/components/PoolCard.tsx +++ b/apps/web/components/PoolCard.tsx @@ -76,11 +76,18 @@ export function PoolCard({ pool, tokenGarden }: Props) { icon={} count={proposals.length} label="proposals" + className={`${isEnabled ? "visible" : "invisible"}`} /> } label="funds" - className={`${poolType && PoolTypes[poolType] === "funding" ? "visible" : "invisible"}`} + className={`${ + isEnabled ? + poolType && PoolTypes[poolType] === "funding" ? + "visible" + : "invisible" + : "invisible" + }`} > Date: Thu, 31 Oct 2024 17:21:24 -0300 Subject: [PATCH 11/13] fix: pool form token address --- apps/web/components/Forms/PoolForm.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/web/components/Forms/PoolForm.tsx b/apps/web/components/Forms/PoolForm.tsx index a931b255a..1270424cf 100644 --- a/apps/web/components/Forms/PoolForm.tsx +++ b/apps/web/components/Forms/PoolForm.tsx @@ -194,7 +194,7 @@ export function PoolForm({ token, communityAddr }: Props) { rulingTime: parseTimeUnit(DEFAULT_RULING_TIMEOUT_SEC, "seconds", "days"), defaultResolution: 1, minThresholdPoints: 0, - poolTokenAddress: token.id, + poolTokenAddress: "", proposalCollateral: chain.id === polygon.id ? defaultMaticProposalColateral @@ -227,6 +227,7 @@ export function PoolForm({ token, communityAddr }: Props) { const { isConnected, missmatchUrl, tooltipMessage } = useDisableButtons(); const watchedAddress = watch("poolTokenAddress").toLowerCase() as Address; + const { data: customTokenData } = useToken({ address: watchedAddress ?? "0x", chainId: +chain, @@ -711,7 +712,7 @@ export function PoolForm({ token, communityAddr }: Props) { registerKey="maxAmount" type="number" placeholder="0" - suffix={token.symbol} + suffix={customTokenData?.symbol} />
)} From 3c40ddc6534f55758d9874dad7511ae9c0355874 Mon Sep 17 00:00:00 2001 From: Matias Date: Tue, 12 Nov 2024 17:27:45 -0300 Subject: [PATCH 12/13] fix: remove pool id from `PoolHeader` --- apps/web/components/PoolHeader.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/components/PoolHeader.tsx b/apps/web/components/PoolHeader.tsx index 4d84aeae1..34c29c166 100644 --- a/apps/web/components/PoolHeader.tsx +++ b/apps/web/components/PoolHeader.tsx @@ -303,7 +303,7 @@ export default function PoolHeader({

- {ipfsResult?.title} #{poolId} + {ipfsResult?.title}

{(!!isCouncilMember || isCouncilSafe) && ( From 74f5d98c4d51196b86eac7701725d24094beed34 Mon Sep 17 00:00:00 2001 From: Corantin Date: Mon, 2 Dec 2024 17:38:18 -0500 Subject: [PATCH 13/13] Add is Owner to safe abi --- pkg/contracts/out/ISafe.sol/ISafe.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/contracts/out/ISafe.sol/ISafe.json b/pkg/contracts/out/ISafe.sol/ISafe.json index bde668831..7792728d7 100644 --- a/pkg/contracts/out/ISafe.sol/ISafe.json +++ b/pkg/contracts/out/ISafe.sol/ISafe.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addOwnerWithThreshold","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execTransaction","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operation","type":"uint8","internalType":"enum Enum.Operation"},{"name":"safeTxGas","type":"uint256","internalType":"uint256"},{"name":"baseGas","type":"uint256","internalType":"uint256"},{"name":"gasPrice","type":"uint256","internalType":"uint256"},{"name":"gasToken","type":"address","internalType":"address"},{"name":"refundReceiver","type":"address","internalType":"address payable"},{"name":"signatures","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"payable"},{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getTransactionHash","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operation","type":"uint8","internalType":"enum Enum.Operation"},{"name":"safeTxGas","type":"uint256","internalType":"uint256"},{"name":"baseGas","type":"uint256","internalType":"uint256"},{"name":"gasPrice","type":"uint256","internalType":"uint256"},{"name":"gasToken","type":"address","internalType":"address"},{"name":"refundReceiver","type":"address","internalType":"address"},{"name":"_nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setup","inputs":[{"name":"_owners","type":"address[]","internalType":"address[]"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fallbackHandler","type":"address","internalType":"address"},{"name":"paymentToken","type":"address","internalType":"address"},{"name":"payment","type":"uint256","internalType":"uint256"},{"name":"paymentReceiver","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addOwnerWithThreshold(address,uint256)":"0d582f13","execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)":"6a761202","getOwners()":"a0e67e2b","getTransactionHash(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)":"d8d11f78","nonce()":"affed0e0","setup(address[],uint256,address,bytes,address,address,uint256,address)":"b63e800d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addOwnerWithThreshold"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address payable","name":"refundReceiver","type":"address"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"stateMutability":"payable","type":"function","name":"execTransaction","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTransactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"fallbackHandler","type":"address"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address payable","name":"paymentReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setup"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":33397,"exportedSymbols":{"Enum":[33396],"ISafe":[33380],"SafeProxyFactory":[33392]},"nodeType":"SourceUnit","src":"42:1491:69","nodes":[{"id":33289,"nodeType":"PragmaDirective","src":"42:24:69","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":33380,"nodeType":"ContractDefinition","src":"68:1193:69","nodes":[{"id":33295,"nodeType":"FunctionDefinition","src":"90:62:69","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:69","parameters":{"id":33290,"nodeType":"ParameterList","parameters":[],"src":"108:2:69"},"returnParameters":{"id":33294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33295,"src":"134:16:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":33291,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33292,"nodeType":"ArrayTypeName","src":"134:9:69","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:69"},"scope":33380,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":33300,"nodeType":"FunctionDefinition","src":"157:49:69","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:69","parameters":{"id":33296,"nodeType":"ParameterList","parameters":[],"src":"171:2:69"},"returnParameters":{"id":33299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33300,"src":"197:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33297,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:69"},"scope":33380,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":33320,"nodeType":"FunctionDefinition","src":"211:272:69","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:69","parameters":{"id":33318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33303,"mutability":"mutable","name":"_owners","nameLocation":"254:7:69","nodeType":"VariableDeclaration","scope":33320,"src":"235:26:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":33301,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33302,"nodeType":"ArrayTypeName","src":"235:9:69","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":33305,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:69","nodeType":"VariableDeclaration","scope":33320,"src":"271:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33304,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33307,"mutability":"mutable","name":"to","nameLocation":"307:2:69","nodeType":"VariableDeclaration","scope":33320,"src":"299:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33306,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33309,"mutability":"mutable","name":"data","nameLocation":"334:4:69","nodeType":"VariableDeclaration","scope":33320,"src":"319:19:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":33308,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":33311,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:69","nodeType":"VariableDeclaration","scope":33320,"src":"348:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33310,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33313,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:69","nodeType":"VariableDeclaration","scope":33320,"src":"381:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33312,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33315,"mutability":"mutable","name":"payment","nameLocation":"419:7:69","nodeType":"VariableDeclaration","scope":33320,"src":"411:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33314,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33317,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:69","nodeType":"VariableDeclaration","scope":33320,"src":"436:31:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":33316,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:69","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:69"},"returnParameters":{"id":33319,"nodeType":"ParameterList","parameters":[],"src":"482:0:69"},"scope":33380,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":33346,"nodeType":"FunctionDefinition","src":"488:332:69","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:69","parameters":{"id":33342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33322,"mutability":"mutable","name":"to","nameLocation":"533:2:69","nodeType":"VariableDeclaration","scope":33346,"src":"525:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33321,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33324,"mutability":"mutable","name":"value","nameLocation":"553:5:69","nodeType":"VariableDeclaration","scope":33346,"src":"545:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33323,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33326,"mutability":"mutable","name":"data","nameLocation":"583:4:69","nodeType":"VariableDeclaration","scope":33346,"src":"568:19:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":33325,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":33329,"mutability":"mutable","name":"operation","nameLocation":"612:9:69","nodeType":"VariableDeclaration","scope":33346,"src":"597:24:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$33395","typeString":"enum Enum.Operation"},"typeName":{"id":33328,"nodeType":"UserDefinedTypeName","pathNode":{"id":33327,"name":"Enum.Operation","nameLocations":["597:4:69","602:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":33395,"src":"597:14:69"},"referencedDeclaration":33395,"src":"597:14:69","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$33395","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":33331,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:69","nodeType":"VariableDeclaration","scope":33346,"src":"631:17:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33330,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33333,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:69","nodeType":"VariableDeclaration","scope":33346,"src":"658:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33332,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33335,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:69","nodeType":"VariableDeclaration","scope":33346,"src":"683:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33334,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33337,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:69","nodeType":"VariableDeclaration","scope":33346,"src":"709:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33336,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33339,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:69","nodeType":"VariableDeclaration","scope":33346,"src":"735:22:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33338,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33341,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:69","nodeType":"VariableDeclaration","scope":33346,"src":"767:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33340,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:69"},"returnParameters":{"id":33345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33344,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33346,"src":"811:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:69"},"scope":33380,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":33372,"nodeType":"FunctionDefinition","src":"825:354:69","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:69","parameters":{"id":33368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33348,"mutability":"mutable","name":"to","nameLocation":"867:2:69","nodeType":"VariableDeclaration","scope":33372,"src":"859:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33347,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33350,"mutability":"mutable","name":"value","nameLocation":"887:5:69","nodeType":"VariableDeclaration","scope":33372,"src":"879:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33349,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33352,"mutability":"mutable","name":"data","nameLocation":"917:4:69","nodeType":"VariableDeclaration","scope":33372,"src":"902:19:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":33351,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":33355,"mutability":"mutable","name":"operation","nameLocation":"946:9:69","nodeType":"VariableDeclaration","scope":33372,"src":"931:24:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$33395","typeString":"enum Enum.Operation"},"typeName":{"id":33354,"nodeType":"UserDefinedTypeName","pathNode":{"id":33353,"name":"Enum.Operation","nameLocations":["931:4:69","936:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":33395,"src":"931:14:69"},"referencedDeclaration":33395,"src":"931:14:69","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$33395","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":33357,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:69","nodeType":"VariableDeclaration","scope":33372,"src":"965:17:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33356,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33359,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:69","nodeType":"VariableDeclaration","scope":33372,"src":"992:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33358,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33361,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:69","nodeType":"VariableDeclaration","scope":33372,"src":"1017:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33360,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33363,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:69","nodeType":"VariableDeclaration","scope":33372,"src":"1043:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33362,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33365,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:69","nodeType":"VariableDeclaration","scope":33372,"src":"1069:30:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":33364,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:69","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":33367,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:69","nodeType":"VariableDeclaration","scope":33372,"src":"1109:23:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33366,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:69"},"returnParameters":{"id":33371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33370,"mutability":"mutable","name":"success","nameLocation":"1170:7:69","nodeType":"VariableDeclaration","scope":33372,"src":"1165:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33369,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:69"},"scope":33380,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":33379,"nodeType":"FunctionDefinition","src":"1184:75:69","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:69","parameters":{"id":33377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33374,"mutability":"mutable","name":"owner","nameLocation":"1223:5:69","nodeType":"VariableDeclaration","scope":33379,"src":"1215:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33373,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33376,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:69","nodeType":"VariableDeclaration","scope":33379,"src":"1230:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33375,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:69"},"returnParameters":{"id":33378,"nodeType":"ParameterList","parameters":[],"src":"1258:0:69"},"scope":33380,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[33380],"name":"ISafe","nameLocation":"78:5:69","scope":33397,"usedErrors":[]},{"id":33392,"nodeType":"ContractDefinition","src":"1263:179:69","nodes":[{"id":33391,"nodeType":"FunctionDefinition","src":"1296:144:69","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:69","parameters":{"id":33387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33382,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:69","nodeType":"VariableDeclaration","scope":33391,"src":"1326:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33381,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33384,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:69","nodeType":"VariableDeclaration","scope":33391,"src":"1346:24:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33383,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":33386,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:69","nodeType":"VariableDeclaration","scope":33391,"src":"1372:17:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33385,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:69"},"returnParameters":{"id":33390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33389,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:69","nodeType":"VariableDeclaration","scope":33391,"src":"1425:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33388,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:69"},"scope":33392,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[33392],"name":"SafeProxyFactory","nameLocation":"1273:16:69","scope":33397,"usedErrors":[]},{"id":33396,"nodeType":"ContractDefinition","src":"1444:88:69","nodes":[{"id":33395,"nodeType":"EnumDefinition","src":"1473:57:69","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":33393,"name":"Call","nameLocation":"1498:4:69","nodeType":"EnumValue","src":"1498:4:69"},{"id":33394,"name":"DelegateCall","nameLocation":"1512:12:69","nodeType":"EnumValue","src":"1512:12:69"}],"name":"Operation","nameLocation":"1478:9:69"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[33396],"name":"Enum","nameLocation":"1462:4:69","scope":33397,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":69} \ No newline at end of file +{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b","isOwner(address)":"2f54bf6e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"],\"viaIR\":true},\"sources\":{\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f\",\"dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c","urls":["bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f","dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/ISafe.sol","id":69800,"exportedSymbols":{"ISafe":[69799]},"nodeType":"SourceUnit","src":"42:179:100","nodes":[{"id":69785,"nodeType":"PragmaDirective","src":"42:24:100","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":69799,"nodeType":"ContractDefinition","src":"68:152:100","nodes":[{"id":69791,"nodeType":"FunctionDefinition","src":"90:62:100","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:100","parameters":{"id":69786,"nodeType":"ParameterList","parameters":[],"src":"108:2:100"},"returnParameters":{"id":69790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69791,"src":"134:16:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69787,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69788,"nodeType":"ArrayTypeName","src":"134:9:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:100"},"scope":69799,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":69798,"nodeType":"FunctionDefinition","src":"157:61:100","nodes":[],"functionSelector":"2f54bf6e","implemented":false,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"166:7:100","parameters":{"id":69794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69793,"mutability":"mutable","name":"owner","nameLocation":"182:5:100","nodeType":"VariableDeclaration","scope":69798,"src":"174:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69792,"name":"address","nodeType":"ElementaryTypeName","src":"174:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173:15:100"},"returnParameters":{"id":69797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69798,"src":"212:4:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69795,"name":"bool","nodeType":"ElementaryTypeName","src":"212:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"211:6:100"},"scope":69799,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[69799],"name":"ISafe","nameLocation":"78:5:100","scope":69800,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":100} \ No newline at end of file