1[2 {3 "anonymous": false,4 "inputs": [5 {6 "indexed": true,7 "internalType": "address",8 "name": "owner",9 "type": "address"10 },11 {12 "indexed": true,13 "internalType": "address",14 "name": "spender",15 "type": "address"16 },17 {18 "indexed": false,19 "internalType": "uint256",20 "name": "value",21 "type": "uint256"22 }23 ],24 "name": "Approval",25 "type": "event"26 },27 {28 "anonymous": false,29 "inputs": [30 {31 "indexed": true,32 "internalType": "address",33 "name": "from",34 "type": "address"35 },36 {37 "indexed": true,38 "internalType": "address",39 "name": "to",40 "type": "address"41 },42 {43 "indexed": false,44 "internalType": "uint256",45 "name": "value",46 "type": "uint256"47 }48 ],49 "name": "Transfer",50 "type": "event"51 },52 {53 "inputs": [54 { "internalType": "address", "name": "owner", "type": "address" },55 { "internalType": "address", "name": "spender", "type": "address" }56 ],57 "name": "allowance",58 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],59 "stateMutability": "view",60 "type": "function"61 },62 {63 "inputs": [64 { "internalType": "address", "name": "spender", "type": "address" },65 { "internalType": "uint256", "name": "amount", "type": "uint256" }66 ],67 "name": "approve",68 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],69 "stateMutability": "nonpayable",70 "type": "function"71 },72 {73 "inputs": [74 { "internalType": "address", "name": "owner", "type": "address" }75 ],76 "name": "balanceOf",77 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],78 "stateMutability": "view",79 "type": "function"80 },81 {82 "inputs": [83 {84 "components": [85 { "internalType": "address", "name": "eth", "type": "address" },86 { "internalType": "uint256", "name": "sub", "type": "uint256" }87 ],88 "internalType": "struct CrossAddress",89 "name": "owner",90 "type": "tuple"91 }92 ],93 "name": "balanceOfCross",94 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],95 "stateMutability": "view",96 "type": "function"97 },98 {99 "inputs": [],100 "name": "decimals",101 "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],102 "stateMutability": "view",103 "type": "function"104 },105 {106 "inputs": [],107 "name": "name",108 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],109 "stateMutability": "view",110 "type": "function"111 },112 {113 "inputs": [114 { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }115 ],116 "name": "supportsInterface",117 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],118 "stateMutability": "view",119 "type": "function"120 },121 {122 "inputs": [],123 "name": "symbol",124 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],125 "stateMutability": "view",126 "type": "function"127 },128 {129 "inputs": [],130 "name": "totalSupply",131 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],132 "stateMutability": "view",133 "type": "function"134 },135 {136 "inputs": [137 { "internalType": "address", "name": "to", "type": "address" },138 { "internalType": "uint256", "name": "amount", "type": "uint256" }139 ],140 "name": "transfer",141 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],142 "stateMutability": "nonpayable",143 "type": "function"144 },145 {146 "inputs": [147 {148 "components": [149 { "internalType": "address", "name": "eth", "type": "address" },150 { "internalType": "uint256", "name": "sub", "type": "uint256" }151 ],152 "internalType": "struct CrossAddress",153 "name": "to",154 "type": "tuple"155 },156 { "internalType": "uint256", "name": "amount", "type": "uint256" }157 ],158 "name": "transferCross",159 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],160 "stateMutability": "nonpayable",161 "type": "function"162 },163 {164 "inputs": [165 { "internalType": "address", "name": "from", "type": "address" },166 { "internalType": "address", "name": "to", "type": "address" },167 { "internalType": "uint256", "name": "amount", "type": "uint256" }168 ],169 "name": "transferFrom",170 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],171 "stateMutability": "nonpayable",172 "type": "function"173 },174 {175 "inputs": [176 {177 "components": [178 { "internalType": "address", "name": "eth", "type": "address" },179 { "internalType": "uint256", "name": "sub", "type": "uint256" }180 ],181 "internalType": "struct CrossAddress",182 "name": "from",183 "type": "tuple"184 },185 {186 "components": [187 { "internalType": "address", "name": "eth", "type": "address" },188 { "internalType": "uint256", "name": "sub", "type": "uint256" }189 ],190 "internalType": "struct CrossAddress",191 "name": "to",192 "type": "tuple"193 },194 { "internalType": "uint256", "name": "amount", "type": "uint256" }195 ],196 "name": "transferFromCross",197 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],198 "stateMutability": "nonpayable",199 "type": "function"200 }201]