{
  "_format": "hh-sol-artifact-1",
  "contractName": "TokenThresholdActionMock",
  "sourceName": "contracts/test/actions/TokenThresholdActionMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "admin",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "registry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "Authorized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Executed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "smartVault",
          "type": "address"
        }
      ],
      "name": "SmartVaultSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "ThresholdSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "Unauthorized",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ANY_ADDRESS",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "NAMESPACE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "authorize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "call",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "isAuthorized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newSmartVault",
          "type": "address"
        }
      ],
      "name": "setSmartVault",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "setThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "smartVault",
      "outputs": [
        {
          "internalType": "contract ISmartVault",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "thresholdAmount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "thresholdToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "unauthorize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b50604051610c73380380610c7383398101604081905261002f916100fa565b6001600160a01b03811660805281818181610051826324cfc3cf60e21b610072565b61006282633323521b60e11b610072565b5050600180555061012d92505050565b6001600160a01b0382166000818152602081815260408083206001600160e01b0319861680855290835292819020805460ff19166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df7910160405180910390a25050565b80516001600160a01b03811681146100f557600080fd5b919050565b6000806040838503121561010d57600080fd5b610116836100de565b9150610124602084016100de565b90509250929050565b608051610b2b61014860003960006101bc0152610b2b6000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80636646a436116100815780639d8799901161005b5780639d879990146101f1578063b42953e714610204578063d9972b961461022457600080fd5b80636646a436146101a45780637b103999146101b7578063933f0f3c146101de57600080fd5b80633f81a192116100b25780633f81a1921461011d57806344ba1fca1461015d5780634fd49efd1461018457600080fd5b806313e3b57c146100d957806328f4dbb6146100ee5780633bd9ef281461010a575b600080fd5b6100ec6100e73660046109e9565b610247565b005b6100f760045481565b6040519081526020015b60405180910390f35b6100ec610118366004610a06565b610369565b61013873ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610101565b6100f77ff66b632ae3b479ef109dee46eb319414289a8426a08b64d81aad232941f9d22a81565b6002546101389073ffffffffffffffffffffffffffffffffffffffff1681565b6100ec6101b2366004610a32565b610377565b6101387f000000000000000000000000000000000000000000000000000000000000000081565b6100ec6101ec366004610a32565b6103af565b6100ec6101ff366004610a06565b6103e7565b6003546101389073ffffffffffffffffffffffffffffffffffffffff1681565b610237610232366004610a32565b610495565b6040519015158152602001610101565b610275336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b60025473ffffffffffffffffffffffffffffffffffffffff16156102fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f534d4152545f5641554c545f414c52454144595f53455400000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f6a7abc646862eeb16d8760c0c56dff37a2d2c6b012a3419910005e57e503a08790600090a250565b61037382826105bb565b5050565b6103a5336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b610373828261062b565b6103dd336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b61037382826106d0565b610415336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915560048290556040518281527ff7e18aa0532694077d6fc7df02e85d86b91ba964f958d1949d45c5776d36eb6e906020015b60405180910390a25050565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff1680610544575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b9392505050565b6105558282610495565b610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f57454400000000000000000060448201526064016102f1565b6105c58282610778565b610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d494e5f5448524553484f4c445f4e4f545f4d4554000000000000000000000060448201526064016102f1565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e5239101610489565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610489565b6000806107a5610787856107bf565b60035473ffffffffffffffffffffffffffffffffffffffff1661088f565b6004549091506107b5848361092c565b1015949350505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8316146107f85781610889565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166317fcb39b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108899190610a90565b92915050565b6002546040517fac41865a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528381166024830152600092169063ac41865a90604401602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105449190610aad565b600082820283158061094c57508284828161094957610949610ac6565b04145b6109b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d554c5f4f564552464c4f57000000000000000000000000000000000000000060448201526064016102f1565b670de0b6b3a764000090049392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109e657600080fd5b50565b6000602082840312156109fb57600080fd5b8135610544816109c4565b60008060408385031215610a1957600080fd5b8235610a24816109c4565b946020939093013593505050565b60008060408385031215610a4557600080fd5b8235610a50816109c4565b915060208301357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a8557600080fd5b809150509250929050565b600060208284031215610aa257600080fd5b8151610544816109c4565b600060208284031215610abf57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220c4e501acbe0fb0e114eede0061a8a3c5a2ed0ed5eaf67444e96b883f95423a4a64736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80636646a436116100815780639d8799901161005b5780639d879990146101f1578063b42953e714610204578063d9972b961461022457600080fd5b80636646a436146101a45780637b103999146101b7578063933f0f3c146101de57600080fd5b80633f81a192116100b25780633f81a1921461011d57806344ba1fca1461015d5780634fd49efd1461018457600080fd5b806313e3b57c146100d957806328f4dbb6146100ee5780633bd9ef281461010a575b600080fd5b6100ec6100e73660046109e9565b610247565b005b6100f760045481565b6040519081526020015b60405180910390f35b6100ec610118366004610a06565b610369565b61013873ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610101565b6100f77ff66b632ae3b479ef109dee46eb319414289a8426a08b64d81aad232941f9d22a81565b6002546101389073ffffffffffffffffffffffffffffffffffffffff1681565b6100ec6101b2366004610a32565b610377565b6101387f000000000000000000000000000000000000000000000000000000000000000081565b6100ec6101ec366004610a32565b6103af565b6100ec6101ff366004610a06565b6103e7565b6003546101389073ffffffffffffffffffffffffffffffffffffffff1681565b610237610232366004610a32565b610495565b6040519015158152602001610101565b610275336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b60025473ffffffffffffffffffffffffffffffffffffffff16156102fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f534d4152545f5641554c545f414c52454144595f53455400000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f6a7abc646862eeb16d8760c0c56dff37a2d2c6b012a3419910005e57e503a08790600090a250565b61037382826105bb565b5050565b6103a5336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b610373828261062b565b6103dd336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b61037382826106d0565b610415336000357fffffffff000000000000000000000000000000000000000000000000000000001661054b565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915560048290556040518281527ff7e18aa0532694077d6fc7df02e85d86b91ba964f958d1949d45c5776d36eb6e906020015b60405180910390a25050565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff1680610544575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b9392505050565b6105558282610495565b610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f57454400000000000000000060448201526064016102f1565b6105c58282610778565b610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d494e5f5448524553484f4c445f4e4f545f4d4554000000000000000000000060448201526064016102f1565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e5239101610489565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610489565b6000806107a5610787856107bf565b60035473ffffffffffffffffffffffffffffffffffffffff1661088f565b6004549091506107b5848361092c565b1015949350505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8316146107f85781610889565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166317fcb39b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108899190610a90565b92915050565b6002546040517fac41865a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528381166024830152600092169063ac41865a90604401602060405180830381865afa158015610908573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105449190610aad565b600082820283158061094c57508284828161094957610949610ac6565b04145b6109b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d554c5f4f564552464c4f57000000000000000000000000000000000000000060448201526064016102f1565b670de0b6b3a764000090049392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109e657600080fd5b50565b6000602082840312156109fb57600080fd5b8135610544816109c4565b60008060408385031215610a1957600080fd5b8235610a24816109c4565b946020939093013593505050565b60008060408385031215610a4557600080fd5b8235610a50816109c4565b915060208301357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a8557600080fd5b809150509250929050565b600060208284031215610aa257600080fd5b8151610544816109c4565b600060208284031215610abf57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220c4e501acbe0fb0e114eede0061a8a3c5a2ed0ed5eaf67444e96b883f95423a4a64736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
