@ensuro/swaplibrary
Version:
Solidity Library that implements swap using different plaforms with a homogeneneous interface
355 lines • 16.8 kB
JSON
{
"_format": "hh3-artifact-1",
"contractName": "TestCurrency",
"sourceName": "contracts/mocks/TestCurrency.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "uint256",
"name": "initialSupply",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "decimals_",
"type": "uint8"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a060405234801561000f575f5ffd5b50604051610b90380380610b9083398101604081905261002e9161027b565b8383600361003c838261038f565b506004610049828261038f565b5050600580546001600160a01b0319163390811790915560ff831660805261007291508361007b565b50505050610472565b6001600160a01b0382166100a95760405163ec442f0560e01b81525f60048201526024015b60405180910390fd5b6100b45f83836100b8565b5050565b6001600160a01b0383166100e2578060025f8282546100d7919061044d565b909155506101529050565b6001600160a01b0383165f90815260208190526040902054818110156101345760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100a0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661016e5760028054829003905561018c565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101d191815260200190565b60405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610201575f5ffd5b81516001600160401b0381111561021a5761021a6101de565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610248576102486101de565b60405281815283820160200185101561025f575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f6080858703121561028e575f5ffd5b84516001600160401b038111156102a3575f5ffd5b6102af878288016101f2565b602087015190955090506001600160401b038111156102cc575f5ffd5b6102d8878288016101f2565b93505060408501519150606085015160ff811681146102f5575f5ffd5b939692955090935050565b600181811c9082168061031457607f821691505b60208210810361033257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038a578282111561038a57805f5260205f20601f840160051c602085101561036357505f5b90810190601f840160051c035f5b81811015610386575f83820155600101610371565b5050505b505050565b81516001600160401b038111156103a8576103a86101de565b6103bc816103b68454610300565b84610338565b6020601f8211600181146103ee575f83156103d75750848201515b5f19600385901b1c1916600184901b178455610446565b5f84815260208120601f198516915b8281101561041d57878501518255602094850194600190920191016103fd565b508482101561043a57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b8082018082111561046c57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805161070661048a5f395f61010101526107065ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce567146100fa57806370a082311461012b57806395d89b4114610153578063a9059cbb1461015b578063dd62ed3e1461016e575f5ffd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd146100e7575b5f5ffd5b61009c6101a6565b6040516100a99190610576565b60405180910390f35b6100c56100c03660046105c6565b610236565b60405190151581526020016100a9565b6002545b6040519081526020016100a9565b6100c56100f53660046105ee565b61024f565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016100a9565b6100d9610139366004610628565b6001600160a01b03165f9081526020819052604090205490565b61009c610272565b6100c56101693660046105c6565b610281565b6100d961017c366004610648565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101b590610679565b80601f01602080910402602001604051908101604052809291908181526020018280546101e190610679565b801561022c5780601f106102035761010080835404028352916020019161022c565b820191905f5260205f20905b81548152906001019060200180831161020f57829003601f168201915b5050505050905090565b5f3361024381858561028e565b60019150505b92915050565b5f3361025c8582856102a0565b610267858585610321565b506001949350505050565b6060600480546101b590610679565b5f33610243818585610321565b61029b838383600161037e565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561031b578181101561030d57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61031b84848484035f61037e565b50505050565b6001600160a01b03831661034a57604051634b637e8f60e11b81525f6004820152602401610304565b6001600160a01b0382166103735760405163ec442f0560e01b81525f6004820152602401610304565b61029b838383610450565b6001600160a01b0384166103a75760405163e602df0560e01b81525f6004820152602401610304565b6001600160a01b0383166103d057604051634a1406b160e11b81525f6004820152602401610304565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561031b57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161044291815260200190565b60405180910390a350505050565b6001600160a01b03831661047a578060025f82825461046f91906106b1565b909155506104ea9050565b6001600160a01b0383165f90815260208190526040902054818110156104cc5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610304565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661050657600280548290039055610524565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161056991815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146105c1575f5ffd5b919050565b5f5f604083850312156105d7575f5ffd5b6105e0836105ab565b946020939093013593505050565b5f5f5f60608486031215610600575f5ffd5b610609846105ab565b9250610617602085016105ab565b929592945050506040919091013590565b5f60208284031215610638575f5ffd5b610641826105ab565b9392505050565b5f5f60408385031215610659575f5ffd5b610662836105ab565b9150610670602084016105ab565b90509250929050565b600181811c9082168061068d57607f821691505b6020821081036106ab57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561024957634e487b7160e01b5f52601160045260245ffdfea264697066735822122019597c8e85c8d90e2787fc7f7f39347d24b6b29ee2d12f84c3e04abc4600391364736f6c63430008230033",
"deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce567146100fa57806370a082311461012b57806395d89b4114610153578063a9059cbb1461015b578063dd62ed3e1461016e575f5ffd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd146100e7575b5f5ffd5b61009c6101a6565b6040516100a99190610576565b60405180910390f35b6100c56100c03660046105c6565b610236565b60405190151581526020016100a9565b6002545b6040519081526020016100a9565b6100c56100f53660046105ee565b61024f565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016100a9565b6100d9610139366004610628565b6001600160a01b03165f9081526020819052604090205490565b61009c610272565b6100c56101693660046105c6565b610281565b6100d961017c366004610648565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101b590610679565b80601f01602080910402602001604051908101604052809291908181526020018280546101e190610679565b801561022c5780601f106102035761010080835404028352916020019161022c565b820191905f5260205f20905b81548152906001019060200180831161020f57829003601f168201915b5050505050905090565b5f3361024381858561028e565b60019150505b92915050565b5f3361025c8582856102a0565b610267858585610321565b506001949350505050565b6060600480546101b590610679565b5f33610243818585610321565b61029b838383600161037e565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561031b578181101561030d57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61031b84848484035f61037e565b50505050565b6001600160a01b03831661034a57604051634b637e8f60e11b81525f6004820152602401610304565b6001600160a01b0382166103735760405163ec442f0560e01b81525f6004820152602401610304565b61029b838383610450565b6001600160a01b0384166103a75760405163e602df0560e01b81525f6004820152602401610304565b6001600160a01b0383166103d057604051634a1406b160e11b81525f6004820152602401610304565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561031b57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161044291815260200190565b60405180910390a350505050565b6001600160a01b03831661047a578060025f82825461046f91906106b1565b909155506104ea9050565b6001600160a01b0383165f90815260208190526040902054818110156104cc5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610304565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661050657600280548290039055610524565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161056991815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146105c1575f5ffd5b919050565b5f5f604083850312156105d7575f5ffd5b6105e0836105ab565b946020939093013593505050565b5f5f5f60608486031215610600575f5ffd5b610609846105ab565b9250610617602085016105ab565b929592945050506040919091013590565b5f60208284031215610638575f5ffd5b610641826105ab565b9392505050565b5f5f60408385031215610659575f5ffd5b610662836105ab565b9150610670602084016105ab565b90509250929050565b600181811c9082168061068d57607f821691505b6020821081036106ab57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561024957634e487b7160e01b5f52601160045260245ffdfea264697066735822122019597c8e85c8d90e2787fc7f7f39347d24b6b29ee2d12f84c3e04abc4600391364736f6c63430008230033",
"linkReferences": {},
"deployedLinkReferences": {},
"immutableReferences": {
"8074": [
{
"length": 32,
"start": 257
}
]
},
"inputSourceName": "project/contracts/mocks/TestCurrency.sol",
"buildInfoId": "solc-0_8_35-3c6720e352a8805a57f3d5d8111ba91dcd52bec9"
}