@soma-finance/core-contracts
Version:
SOMA Finance core contracts
333 lines (332 loc) • 16.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "ERC20",
"sourceName": "contracts/soma/SomaSwap/test/ERC20.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_totalSupply",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PERMIT_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"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": "",
"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": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "permit",
"outputs": [],
"stateMutability": "nonpayable",
"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": "0x608060405234801561001057600080fd5b50604051610a4a380380610a4a83398101604081905261002f916101cf565b604080518082018252600a8152692a32b9ba102a37b5b2b760b11b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f81e8ad438398ab0d4a2a7ecb159490c091bb27c67ace5181f70084e30fadaea2818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246608082018190523060a0808401919091528451808403909101815260c0909201909352805191012060035561010c3383610113565b5050610209565b61012c816000546101ba60201b6105181790919060201c565b60009081556001600160a01b03831681526001602090815260409091205461015d9183906105186101ba821b17901c565b6001600160a01b0383166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906101ae9085815260200190565b60405180910390a35050565b60006101c682846101e8565b90505b92915050565b6000602082840312156101e157600080fd5b5051919050565b808201808211156101c957634e487b7160e01b600052601160045260246000fd5b610832806102186000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101ea578063a9059cbb1461020b578063d505accf1461021e578063dd62ed3e1461023357600080fd5b80633644e515146101a157806370a08231146101aa5780637ecebe00146101ca57600080fd5b806306fdde03146100d4578063095ea7b31461011357806318160ddd1461013657806323b872dd1461014d57806330adf81f14610160578063313ce56714610187575b600080fd5b6100fd6040518060400160405280600a8152602001692a32b9ba102a37b5b2b760b11b81525081565b60405161010a919061063f565b60405180910390f35b6101266101213660046106a9565b61025e565b604051901515815260200161010a565b61013f60005481565b60405190815260200161010a565b61012661015b3660046106d3565b610275565b61013f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61018f601281565b60405160ff909116815260200161010a565b61013f60035481565b61013f6101b836600461070f565b60016020526000908152604090205481565b61013f6101d836600461070f565b60046020526000908152604090205481565b6100fd60405180604001604052806002815260200161151560f21b81525081565b6101266102193660046106a9565b610309565b61023161022c36600461072a565b610316565b005b61013f61024136600461079d565b600260209081526000928352604080842090915290825290205481565b600061026b33848461052b565b5060015b92915050565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146102f4576001600160a01b03841660009081526002602090815260408083203384529091529020546102cf908361058d565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6102ff848484610599565b5060019392505050565b600061026b338484610599565b428410156103555760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b60448201526064015b60405180910390fd5b6003546001600160a01b038816600090815260046020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9190876103a8836107e6565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161042192919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa15801561048c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906104c25750886001600160a01b0316816001600160a01b0316145b6105025760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015260640161034c565b61050d89898961052b565b505050505050505050565b600061052482846107ff565b9392505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105248284610812565b6001600160a01b0383166000908152600160205260409020546105bc908261058d565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546105eb9082610518565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105809085815260200190565b600060208083528351808285015260005b8181101561066c57858101830151858201604001528201610650565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106a457600080fd5b919050565b600080604083850312156106bc57600080fd5b6106c58361068d565b946020939093013593505050565b6000806000606084860312156106e857600080fd5b6106f18461068d565b92506106ff6020850161068d565b9150604084013590509250925092565b60006020828403121561072157600080fd5b6105248261068d565b600080600080600080600060e0888a03121561074557600080fd5b61074e8861068d565b965061075c6020890161068d565b95506040880135945060608801359350608088013560ff8116811461078057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156107b057600080fd5b6107b98361068d565b91506107c76020840161068d565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107f8576107f86107d0565b5060010190565b8082018082111561026f5761026f6107d0565b8181038181111561026f5761026f6107d056fea164736f6c6343000812000a",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101ea578063a9059cbb1461020b578063d505accf1461021e578063dd62ed3e1461023357600080fd5b80633644e515146101a157806370a08231146101aa5780637ecebe00146101ca57600080fd5b806306fdde03146100d4578063095ea7b31461011357806318160ddd1461013657806323b872dd1461014d57806330adf81f14610160578063313ce56714610187575b600080fd5b6100fd6040518060400160405280600a8152602001692a32b9ba102a37b5b2b760b11b81525081565b60405161010a919061063f565b60405180910390f35b6101266101213660046106a9565b61025e565b604051901515815260200161010a565b61013f60005481565b60405190815260200161010a565b61012661015b3660046106d3565b610275565b61013f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61018f601281565b60405160ff909116815260200161010a565b61013f60035481565b61013f6101b836600461070f565b60016020526000908152604090205481565b61013f6101d836600461070f565b60046020526000908152604090205481565b6100fd60405180604001604052806002815260200161151560f21b81525081565b6101266102193660046106a9565b610309565b61023161022c36600461072a565b610316565b005b61013f61024136600461079d565b600260209081526000928352604080842090915290825290205481565b600061026b33848461052b565b5060015b92915050565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146102f4576001600160a01b03841660009081526002602090815260408083203384529091529020546102cf908361058d565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6102ff848484610599565b5060019392505050565b600061026b338484610599565b428410156103555760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b60448201526064015b60405180910390fd5b6003546001600160a01b038816600090815260046020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9190876103a8836107e6565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161042192919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa15801561048c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906104c25750886001600160a01b0316816001600160a01b0316145b6105025760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015260640161034c565b61050d89898961052b565b505050505050505050565b600061052482846107ff565b9392505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105248284610812565b6001600160a01b0383166000908152600160205260409020546105bc908261058d565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546105eb9082610518565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105809085815260200190565b600060208083528351808285015260005b8181101561066c57858101830151858201604001528201610650565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106a457600080fd5b919050565b600080604083850312156106bc57600080fd5b6106c58361068d565b946020939093013593505050565b6000806000606084860312156106e857600080fd5b6106f18461068d565b92506106ff6020850161068d565b9150604084013590509250925092565b60006020828403121561072157600080fd5b6105248261068d565b600080600080600080600060e0888a03121561074557600080fd5b61074e8861068d565b965061075c6020890161068d565b95506040880135945060608801359350608088013560ff8116811461078057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156107b057600080fd5b6107b98361068d565b91506107c76020840161068d565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016107f8576107f86107d0565b5060010190565b8082018082111561026f5761026f6107d0565b8181038181111561026f5761026f6107d056fea164736f6c6343000812000a",
"linkReferences": {},
"deployedLinkReferences": {}
}