diff --git a/abis/MyVRC25.json b/abis/MyVRC25.json new file mode 100644 index 0000000..a121127 --- /dev/null +++ b/abis/MyVRC25.json @@ -0,0 +1,521 @@ +{ + "contractName": "MyVRC25", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "_decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "_initialSupply", + "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": true, + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Fee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "FeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "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": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "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": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "estimateFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "issuer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": [ + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "setFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "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": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101406040523480156200001257600080fd5b5060405162002c3138038062002c31833981810160405260808110156200003857600080fd5b81019080805160405193929190846401000000008211156200005957600080fd5b838201915060208201858111156200007057600080fd5b82518660018202830111640100000000821117156200008e57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c4578082015181840152602081019050620000a7565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b838201915060208201858111156200012d57600080fd5b82518660018202830111640100000000821117156200014b57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018157808201518184015260208101905062000164565b50505050905090810190601f168015620001af5780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190805190602001909291905050506040518060400160405280600581526020017f56524332350000000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508585858260059080519060200190620002549291906200067f565b5081600690805190602001906200026d9291906200067f565b5080600760006101000a81548160ff021916908360ff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505060008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250506200032b620003ad60201b60201c565b60a0818152505062000345818484620003b560201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508061012081815250505050505050620003a333826200042c60201b60201c565b5050505062000735565b600046905090565b6000838383620003ca620003ad60201b60201c565b30604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001955050505050506040516020818303038152906040528051906020012090509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620004d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f56524332353a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620004ec81600854620005f660201b620014ab1790919060201c565b6008819055506200054a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620005f660201b620014ab1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101562000675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620006b7576000855562000703565b82601f10620006d257805160ff191683800117855562000703565b8280016001018555821562000703579182015b8281111562000702578251825591602001919060010190620006e5565b5b50905062000712919062000716565b5090565b5b808211156200073157600081600090555060010162000717565b5090565b60805160a05160c05160601c60e05161010051610120516124af6200078260003980611d46525080611d88525080611d67525080611c95525080611ceb525080611d1b52506124af6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806342966c68116100b85780638da5cb5b1161007c5780638da5cb5b1461052757806395d89b411461055b578063a9059cbb146105de578063d505accf14610642578063dd62ed3e146106db578063f2fde38b1461075357610137565b806342966c68146103fb57806369fe0e2d1461043f57806370a082311461046d57806379ba5097146104c55780637ecebe00146104cf57610137565b80631d143848116100ff5780631d143848146102e657806323b872dd1461031a57806324ec75901461039e578063313ce567146103bc5780633644e515146103dd57610137565b806301ffc9a71461013c57806306fdde031461019f578063095ea7b314610222578063127e8e4d1461028657806318160ddd146102c8575b600080fd5b6101876004803603602081101561015257600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610797565b60405180821515815260200191505060405180910390f35b6101a7610811565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e75780820151818401526020810190506101cc565b50505050905090810190601f1680156102145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026e6004803603604081101561023857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108b3565b60405180821515815260200191505060405180910390f35b6102b26004803603602081101561029c57600080fd5b81019080803590602001909291905050506108e3565b6040518082815260200191505060405180910390f35b6102d0610923565b6040518082815260200191505060405180910390f35b6102ee61092d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103866004803603606081101561033057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610957565b60405180821515815260200191505060405180910390f35b6103a6610bac565b6040518082815260200191505060405180910390f35b6103c4610bb6565b604051808260ff16815260200191505060405180910390f35b6103e5610bcd565b6040518082815260200191505060405180910390f35b6104276004803603602081101561041157600080fd5b8101908080359060200190929190505050610bdc565b60405180821515815260200191505060405180910390f35b61046b6004803603602081101561045557600080fd5b8101908080359060200190929190505050610c0a565b005b6104af6004803603602081101561048357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d0e565b6040518082815260200191505060405180910390f35b6104cd610d56565b005b610511600480360360208110156104e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f47565b6040518082815260200191505060405180910390f35b61052f610f90565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610563610fba565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105a3578082015181840152602081019050610588565b50505050905090810190601f1680156105d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61062a600480360360408110156105f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105c565b60405180821515815260200191505060405180910390f35b6106d9600480360360e081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061108b565b005b61073d600480360360408110156106f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611297565b6040518082815260200191505060405180910390f35b6107956004803603602081101561076957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131e565b005b60007f08617865000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061080a575061080982611533565b5b9050919050565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050905090565b6000806108c060006108e3565b90506108cd33858561159d565b6108d8333083611794565b600191505092915050565b60006109043373ffffffffffffffffffffffffffffffffffffffff16611898565b15610912576000905061091e565b61091b826118ab565b90505b919050565b6000600854905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610963836108e3565b905061097881846114ab90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610a69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f56524332353a20616d6f756e742065786565647320616c6c6f77616e6365000081525060200191505060405180910390fd5b610b0a81610afc85600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118be90919063ffffffff16565b6118be90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b95858585611941565b610ba0858583611794565b60019150509392505050565b6000600154905090565b6000600760009054906101000a900460ff16905090565b6000610bd7611c91565b905090565b600080610be960006108e3565b9050610bf53384611db2565b610c00333083611794565b6001915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ccd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f56524332353a2063616c6c6572206973206e6f7420746865206f776e6572000081525060200191505060405180910390fd5b806001819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76816040518082815260200191505060405180910390a150565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dfc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612450602a913960400191505060405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110525780601f1061102757610100808354040283529160200191611052565b820191906000526020600020905b81548152906001019060200180831161103557829003601f168201915b5050505050905090565b600080611068836108e3565b9050611075338585611941565b611080338583611794565b600191505092915050565b83421115611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f56524332353a205065726d69742065787069726564000000000000000000000081525060200191505060405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111308c612004565b89604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001965050505050505060405160208183030381529060405280519060200120905060006111b38261205b565b905060006111c3828787876120c2565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611266576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f56524332353a20496e76616c6964207065726d6974000000000000000000000081525060200191505060405180910390fd5b600061127260006108e3565b905061127f8b8b8b61159d565b61128a8b3083611794565b5050505050505050505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f56524332353a2063616c6c6572206973206e6f7420746865206f776e6572000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611467576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123e96024913960400191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828401905083811015611529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007f08617865000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611623576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123a36024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061240d6022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6117b33373ffffffffffffffffffffffffffffffffffffffff16611898565b156117bd57611893565b6000811115611892576117f383600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611941565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167ffcf5b3276434181e3c48bd3fe569b8939808f11e845d4b963693b9d7dbd6dd99846040518082815260200191505060405180910390a45b5b505050565b600080823b905060008111915050919050565b60006118b5610bac565b82019050919050565b600082821115611936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061235c6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a4d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806123396023913960400191505060405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611b01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f56524332353a20696e7375666669656e742062616c616e63650000000000000081525060200191505060405180910390fd5b611b52816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118be90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611be5816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114ab90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d1457507f0000000000000000000000000000000000000000000000000000000000000000611d126122c1565b145b15611d41577f00000000000000000000000000000000000000000000000000000000000000009050611daf565b611dac7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122c9565b90505b90565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061242f6021913960400191505060405180910390fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611eec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f56524332353a20696e7375666669656e742062616c616e63650000000000000081525060200191505060405180910390fd5b611f01816008546118be90919063ffffffff16565b600881905550611f58816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118be90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b6000612065611c91565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115612140576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123816022913960400191505060405180910390fd5b601b8460ff1614806121555750601c8460ff16145b6121aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123c76022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612206573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45434453413a20696e76616c6964207369676e6174757265000000000000000081525060200191505060405180910390fd5b80915050949350505050565b600046905090565b60008383836122d66122c1565b30604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200195505050505050604051602081830303815290604052805190602001209050939250505056fe56524332353a207472616e7366657220746f20746865207a65726f206164647265737356524332353a207472616e736665722066726f6d20746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756556524332353a20617070726f76652066726f6d20746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756556524332353a206e6577206f776e657220697320746865207a65726f206164647265737356524332353a20617070726f766520746f20746865207a65726f206164647265737356524332353a206275726e2066726f6d20746865207a65726f206164647265737356524332353a206f6e6c79206e6577206f776e65722063616e20616363657074206f776e657273686970a2646970667358221220d7bd4c30dbd4d3ce9b25c41a8493aacbd92222fce271fa6ee6736e88c8f4fb3f64736f6c63430007060033" +} \ No newline at end of file diff --git a/abis/MyVRC25Mintable.json b/abis/MyVRC25Mintable.json new file mode 100644 index 0000000..f402810 --- /dev/null +++ b/abis/MyVRC25Mintable.json @@ -0,0 +1,545 @@ +{ + "contractName": "MyVRC25Mintable", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "_decimals", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "_initialSupply", + "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": true, + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Fee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "FeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "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": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "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": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "estimateFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "issuer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": [ + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "setFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "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": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101406040523480156200001257600080fd5b5060405162002f3438038062002f34833981810160405260808110156200003857600080fd5b81019080805160405193929190846401000000008211156200005957600080fd5b838201915060208201858111156200007057600080fd5b82518660018202830111640100000000821117156200008e57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c4578082015181840152602081019050620000a7565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b838201915060208201858111156200012d57600080fd5b82518660018202830111640100000000821117156200014b57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018157808201518184015260208101905062000164565b50505050905090810190601f168015620001af5780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190805190602001909291905050506040518060400160405280600581526020017f56524332350000000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508585858260059080519060200190620002549291906200067f565b5081600690805190602001906200026d9291906200067f565b5080600760006101000a81548160ff021916908360ff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505060008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250506200032b620003ad60201b60201c565b60a0818152505062000345818484620003b560201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508061012081815250505050505050620003a333826200042c60201b60201c565b5050505062000735565b600046905090565b6000838383620003ca620003ad60201b60201c565b30604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001955050505050506040516020818303038152906040528051906020012090509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620004d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f56524332353a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620004ec81600854620005f660201b620015f31790919060201c565b6008819055506200054a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620005f660201b620015f31790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101562000675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620006b7576000855562000703565b82601f10620006d257805160ff191683800117855562000703565b8280016001018555821562000703579182015b8281111562000702578251825591602001919060010190620006e5565b5b50905062000712919062000716565b5090565b5b808211156200073157600081600090555060010162000717565b5090565b60805160a05160c05160601c60e05161010051610120516127b26200078260003980611e8e525080611ed0525080611eaf525080611ddd525080611e33525080611e6352506127b26000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806342966c68116100b85780638da5cb5b1161007c5780638da5cb5b1461059657806395d89b41146105ca578063a9059cbb1461064d578063d505accf146106b1578063dd62ed3e1461074a578063f2fde38b146107c257610142565b806342966c681461046a57806369fe0e2d146104ae57806370a08231146104dc57806379ba5097146105345780637ecebe001461053e57610142565b80631d1438481161010a5780631d143848146102f157806323b872dd1461032557806324ec7590146103a9578063313ce567146103c75780633644e515146103e857806340c10f191461040657610142565b806301ffc9a71461014757806306fdde03146101aa578063095ea7b31461022d578063127e8e4d1461029157806318160ddd146102d3575b600080fd5b6101926004803603602081101561015d57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610806565b60405180821515815260200191505060405180910390f35b6101b2610880565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f25780820151818401526020810190506101d7565b50505050905090810190601f16801561021f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102796004803603604081101561024357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610922565b60405180821515815260200191505060405180910390f35b6102bd600480360360208110156102a757600080fd5b8101908080359060200190929190505050610952565b6040518082815260200191505060405180910390f35b6102db610992565b6040518082815260200191505060405180910390f35b6102f961099c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103916004803603606081101561033b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109c6565b60405180821515815260200191505060405180910390f35b6103b1610c1b565b6040518082815260200191505060405180910390f35b6103cf610c25565b604051808260ff16815260200191505060405180910390f35b6103f0610c3c565b6040518082815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c4b565b60405180821515815260200191505060405180910390f35b6104966004803603602081101561048057600080fd5b8101908080359060200190929190505050610d24565b60405180821515815260200191505060405180910390f35b6104da600480360360208110156104c457600080fd5b8101908080359060200190929190505050610d52565b005b61051e600480360360208110156104f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e56565b6040518082815260200191505060405180910390f35b61053c610e9e565b005b6105806004803603602081101561055457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061108f565b6040518082815260200191505060405180910390f35b61059e6110d8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105d2611102565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106125780820151818401526020810190506105f7565b50505050905090810190601f16801561063f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106996004803603604081101561066357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111a4565b60405180821515815260200191505060405180910390f35b610748600480360360e08110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506111d3565b005b6107ac6004803603604081101561076057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113df565b6040518082815260200191505060405180910390f35b610804600480360360208110156107d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611466565b005b60007f08617865000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061087957506108788261167b565b5b9050919050565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b60008061092f6000610952565b905061093c3385856116e5565b6109473330836118dc565b600191505092915050565b60006109733373ffffffffffffffffffffffffffffffffffffffff166119e0565b15610981576000905061098d565b61098a826119f3565b90505b919050565b6000600854905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806109d283610952565b90506109e781846115f390919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ad8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f56524332353a20616d6f756e742065786565647320616c6c6f77616e6365000081525060200191505060405180910390fd5b610b7981610b6b85600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a0690919063ffffffff16565b611a0690919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c04858585611a89565b610c0f8585836118dc565b60019150509392505050565b6000600154905090565b6000600760009054906101000a900460ff16905090565b6000610c46611dd9565b905090565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f56524332353a2063616c6c6572206973206e6f7420746865206f776e6572000081525060200191505060405180910390fd5b610d1a8383611efa565b6001905092915050565b600080610d316000610952565b9050610d3d33846120b5565b610d483330836118dc565b6001915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f56524332353a2063616c6c6572206973206e6f7420746865206f776e6572000081525060200191505060405180910390fd5b806001819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76816040518082815260200191505060405180910390a150565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612753602a913960400191505060405180910390fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561119a5780601f1061116f5761010080835404028352916020019161119a565b820191906000526020600020905b81548152906001019060200180831161117d57829003601f168201915b5050505050905090565b6000806111b083610952565b90506111bd338585611a89565b6111c83385836118dc565b600191505092915050565b83421115611249576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f56524332353a205065726d69742065787069726564000000000000000000000081525060200191505060405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886112788c612307565b89604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001965050505050505060405160208183030381529060405280519060200120905060006112fb8261235e565b9050600061130b828787876123c5565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f56524332353a20496e76616c6964207065726d6974000000000000000000000081525060200191505060405180910390fd5b60006113ba6000610952565b90506113c78b8b8b6116e5565b6113d28b30836118dc565b5050505050505050505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611529576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f56524332353a2063616c6c6572206973206e6f7420746865206f776e6572000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806126ec6024913960400191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828401905083811015611671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007f08617865000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561176b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806126a66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127106022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6118fb3373ffffffffffffffffffffffffffffffffffffffff166119e0565b15611905576119db565b60008111156119da5761193b83600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611a89565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167ffcf5b3276434181e3c48bd3fe569b8939808f11e845d4b963693b9d7dbd6dd99846040518082815260200191505060405180910390a45b5b505050565b600080823b905060008111915050919050565b60006119fd610c1b565b82019050919050565b600082821115611a7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061265f6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061263c6023913960400191505060405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611c49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f56524332353a20696e7375666669656e742062616c616e63650000000000000081525060200191505060405180910390fd5b611c9a816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a0690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d2d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115f390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611e5c57507f0000000000000000000000000000000000000000000000000000000000000000611e5a6125c4565b145b15611e89577f00000000000000000000000000000000000000000000000000000000000000009050611ef7565b611ef47f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006125cc565b90505b90565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f56524332353a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b611fb2816008546115f390919063ffffffff16565b600881905550612009816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115f390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561213b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806127326021913960400191505060405180910390fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156121ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f56524332353a20696e7375666669656e742062616c616e63650000000000000081525060200191505060405180910390fd5b61220481600854611a0690919063ffffffff16565b60088190555061225b816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a0690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b6000612368611dd9565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115612443576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806126846022913960400191505060405180910390fd5b601b8460ff1614806124585750601c8460ff16145b6124ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806126ca6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612509573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45434453413a20696e76616c6964207369676e6174757265000000000000000081525060200191505060405180910390fd5b80915050949350505050565b600046905090565b60008383836125d96125c4565b30604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200195505050505050604051602081830303815290604052805190602001209050939250505056fe56524332353a207472616e7366657220746f20746865207a65726f206164647265737356524332353a207472616e736665722066726f6d20746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756556524332353a20617070726f76652066726f6d20746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202776272076616c756556524332353a206e6577206f776e657220697320746865207a65726f206164647265737356524332353a20617070726f766520746f20746865207a65726f206164647265737356524332353a206275726e2066726f6d20746865207a65726f206164647265737356524332353a206f6e6c79206e6577206f776e65722063616e20616363657074206f776e657273686970a26469706673582212208da4806d36c28add90dfad526e95eb9ddade326eba757db73b96a5a20add7e7064736f6c63430007060033" +} \ No newline at end of file diff --git a/apis/account.js b/apis/account.js index 7677dc8..cf27d86 100644 --- a/apis/account.js +++ b/apis/account.js @@ -4,7 +4,7 @@ const config = require('config') const router = express.Router() const { check, validationResult, query } = require('express-validator/check') const axios = require('axios') -// const web3 = require('../models/blockchain/web3') +const web3 = require('../models/blockchain/web3') const urljoin = require('url-join') function serializeQuery (params, prefix) { @@ -35,7 +35,7 @@ router.get('/:account', [ try { const account = req.params.account.toLowerCase() const { data } = await axios.get( - urljoin(config.get('tomoscanAPI'), `/api/accounts/${account}`) + urljoin(config.get('tomoscanAPI'), `/api/account/${account}`) ) return res.json(data) } catch (error) { @@ -47,21 +47,22 @@ router.get('/:account/listTokens', [ query('limit') .isInt({ min: 0, max: 200 }).optional().withMessage('limit should greater than 0 and less than 200'), query('page').isNumeric({ no_symbols: true }).optional().withMessage('page must be number'), - check('account').exists().isLength({ min: 42, max: 42 }).withMessage('Account address is incorrect.') + check('account').exists().custom((account) => web3.utils.isAddress(account)) + .withMessage('Account address is incorrect.') ], async (req, res, next) => { const errors = validationResult(req) if (!errors.isEmpty()) { return next(errors.array()) } try { - const account = (req.params.account || '').toLowerCase() + const account = web3.utils.toChecksumAddress(req.params.account) const params = { - limit: req.query.limit || 1, - page: req.query.page || 1 + limit: req.query.limit || 1 } + params.offset = ((req.query.page || 1) - 1) * params.limit const query = serializeQuery(params) const { data } = await axios.get( - urljoin(config.get('tomoscanAPI'), `/api/accounts/${account}/listTokens?${query}`) + urljoin(config.get('tomoscanAPI'), `/api/token/listByOwner?owner=${account}&${query}`) ) return res.json(data) } catch (error) { diff --git a/apis/token.js b/apis/token.js index 1b88dc8..97d9b23 100644 --- a/apis/token.js +++ b/apis/token.js @@ -79,7 +79,7 @@ router.post('/createToken', [ check('decimals').exists().withMessage("'decimal' is required"), check('totalSupply').exists().withMessage("'totalSupply' is required"), check('type').exists().withMessage("'type' is required") - .isIn(['trc20', 'trc21']).withMessage("'type' should be 'trc20' or 'trc21'"), + .isIn(['trc20', 'trc21', 'vrc25']).withMessage("'type' should be 'trc20' or 'trc21'"), check('minFee').isFloat({ min: 0 }).exists().withMessage("'minFee' is required"), check('mintable').exists().isBoolean().withMessage("'mintable' must be true or false") ], async function (req, res, next) { @@ -100,7 +100,10 @@ router.post('/createToken', [ let contractCode let p if (mintable) { - if (type === 'trc21') { + if (type === 'vrc25') { + p = path.resolve(__dirname, '../contracts', 'MyVRC25Mintable.sol') + contractCode = fs.readFileSync(p, 'UTF-8') + } else if (type === 'trc21') { p = path.resolve(__dirname, '../contracts', 'TRC21Mintable.sol') contractCode = fs.readFileSync(p, 'UTF-8') } else { @@ -108,7 +111,10 @@ router.post('/createToken', [ contractCode = fs.readFileSync(p, 'UTF-8') } } else { - if (type === 'trc21') { + if (type === 'vrc25') { + p = path.resolve(__dirname, '../contracts', 'MyVRC25.sol') + contractCode = fs.readFileSync(p, 'UTF-8') + } else if (type === 'trc21') { p = path.resolve(__dirname, '../contracts', 'TRC21.sol') contractCode = fs.readFileSync(p, 'UTF-8') } else { @@ -381,11 +387,15 @@ router.get('/getToken', async function (req, res, next) { } }) -router.get('/:token', [], async (req, res, next) => { +router.get('/:token', [ + check('token').exists().custom( + (token) => web3.utils.isAddress(token) + ).withMessage('token address is incorrect.') +], async (req, res, next) => { try { - const token = req.params.token || '' + const token = web3.utils.toChecksumAddress(req.params.token) const { data } = await axios.get( - urljoin(config.get('tomoscanAPI'), `/api/tokens/${token}`) + urljoin(config.get('tomoscanAPI'), `/api/token/${token}`) ) return res.json(data) } catch (error) { @@ -406,26 +416,38 @@ router.get('/holders/trc21/:token', [], async (req, res, next) => { return next(error) } }) -router.get('/holders/:token', [], async (req, res, next) => { +router.get('/holders/:token', [ + check('token').exists().custom( + (token) => web3.utils.isAddress(token) + ).withMessage('token address is incorrect.') +], async (req, res, next) => { try { - const token = req.params.token || '' + const token = web3.utils.toChecksumAddress(req.params.token) const page = req.query.page || 1 const limit = req.query.limit || 20 const { data } = await axios.get( - urljoin(config.get('tomoscanAPI'), `/api/token-holders/?address=${token}&page=${page}&limit=${limit}`) + urljoin(config.get('tomoscanAPI'), `/api/tokenHolder/${token}?offset=${(page - 1) * limit}&limit=${limit}`) ) return res.json(data) } catch (error) { return next(error) } }) -router.get('/txes/trc20/:token', [], async (req, res, next) => { + +router.get('/nft/txs/:token', [ + check('token').exists().custom( + (token) => web3.utils.isAddress(token) + ).withMessage('token address is incorrect.') +], async (req, res, next) => { try { - const token = req.params.token || '' + const token = web3.utils.toChecksumAddress(req.params.token) const page = req.query.page || 1 const limit = req.query.limit || 20 const { data } = await axios.get( - urljoin(config.get('tomoscanAPI'), `/api/token-txs/trc20?token=${token}&page=${page}&limit=${limit}`) + urljoin( + config.get('tomoscanAPI'), + `/api/tokenTx/nft/list?tokenAddress=${token}&offset=${(page - 1) * limit}&limit=${limit}` + ) ) return res.json(data) } catch (error) { @@ -433,13 +455,20 @@ router.get('/txes/trc20/:token', [], async (req, res, next) => { } }) -router.get('/txes/trc21/:token', [], async (req, res, next) => { +router.get('/txs/:token', [ + check('token').exists().custom( + (token) => web3.utils.isAddress(token) + ).withMessage('token address is incorrect.') +], async (req, res, next) => { try { - const token = req.params.token || '' + const token = web3.utils.toChecksumAddress(req.params.token) const page = req.query.page || 1 const limit = req.query.limit || 20 const { data } = await axios.get( - urljoin(config.get('tomoscanAPI'), `/api/token-txs/trc21?token=${token}&page=${page}&limit=${limit}`) + urljoin( + config.get('tomoscanAPI'), + `/api/tokenTx/list?tokenAddress=${token}&offset=${(page - 1) * limit}&limit=${limit}` + ) ) return res.json(data) } catch (error) { diff --git a/app/app.js b/app/app.js index 00f631a..397647c 100644 --- a/app/app.js +++ b/app/app.js @@ -11,6 +11,8 @@ import MyTRC21Abi from '../build/contracts/MyTRC21' import MyTRC21MintableAbi from '../build/contracts/MyTRC21Mintable' import MyTRC20Abi from '../build/contracts/MyTRC20' import MyTRC20MintableAbi from '../build/contracts/MyTRC20Mintable' +import MyVRC25Abi from '../build/contracts/MyVRC25' +import MyVRC25MintableAbi from '../build/contracts/MyVRC25Mintable' import Web3 from 'web3' import { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue' @@ -90,6 +92,8 @@ Vue.prototype.setupProvider = async function (provider, wjs) { Vue.prototype.MyTRC21Mintable = MyTRC21MintableAbi Vue.prototype.MyTRC20 = MyTRC20Abi Vue.prototype.MyTRC20Mintable = MyTRC20MintableAbi + Vue.prototype.MyVRC25 = MyVRC25Abi + Vue.prototype.MyVRC25Mintable = MyVRC25MintableAbi if (chainConfig.issuerAddress) { Vue.prototype.TRC21Issuer = new wjs.eth.Contract( TRC21IssuerAritfacts.abi, diff --git a/app/assets/scss/components/_token.scss b/app/assets/scss/components/_token.scss index 8cee10a..4e12c46 100644 --- a/app/assets/scss/components/_token.scss +++ b/app/assets/scss/components/_token.scss @@ -51,7 +51,7 @@ margin-left: 5px; } .apply-tomoz { - background: $background-violet; + background: $background-blue; @include fsz(14); // border-radius: 30px; padding: 2px 10px; diff --git a/app/assets/scss/settings/_colors.scss b/app/assets/scss/settings/_colors.scss index 1eca90e..5daaa33 100644 --- a/app/assets/scss/settings/_colors.scss +++ b/app/assets/scss/settings/_colors.scss @@ -39,8 +39,8 @@ $background-white: #ffffff; $background-oranges: #141414; $background-blue: #766B60; $background-blue-active: #766B60; -$background-violet: #5565c7; -$background-violet-active: #3D4DAC; +$background-violet: #766B60; +$background-violet-active: #766B60; $background-primary: #EBE9E5; diff --git a/app/components/Token.vue b/app/components/Token.vue index 75b7c88..e8d233e 100644 --- a/app/components/Token.vue +++ b/app/components/Token.vue @@ -9,6 +9,11 @@ v-if="!moreInfo"> {{ token.symbol }} + + VRC-25 + @@ -51,15 +56,16 @@