diff --git a/.env.production b/.env.production index f904884..0ed9532 100644 --- a/.env.production +++ b/.env.production @@ -1,12 +1,13 @@ ### # @LastEditors: John # @Date: 2024-07-02 11:31:07 - # @LastEditTime: 2024-07-18 17:35:13 + # @LastEditTime: 2024-07-19 14:39:15 # @Author: John ### VITE_BASE_URL=/ -VITE_BASE_API_URL=/api +VITE_BASE_API_URL= VITE_PARTICIPATE_CHAIN_ID=56 -VITE_PURCHASED_CONTRACT_ADDRESS= -VITE_NETWORK_USDT_ADDRESS= +VITE_PURCHASED_CONTRACT_ADDRESS=0xb8D623B24b6A9B7044C078B80c90B292e5b2ee13 +VITE_RECEIVE_RAMB_CONTRACT_ADDRESS=0x40b07C2944390f11bc14acF89710Bd7228Aca9bE +VITE_NETWORK_USDT_ADDRESS=0x55d398326f99059fF775485246999027B3197955 VITE_CHECK_TRANSACTION_DETAILS_URL=https://bscscan.com/ \ No newline at end of file diff --git a/src/contract/abi/RedDevils.json b/src/contract/abi/RedDevils.json index 4e4ebb9..5dcbcf3 100644 --- a/src/contract/abi/RedDevils.json +++ b/src/contract/abi/RedDevils.json @@ -22,7 +22,7 @@ "type": "string" } ], - "name": "buyHMNFT", + "name": "buyEquityNFT", "outputs": [ { "internalType": "uint256", diff --git a/src/contract/abi/USDT.json b/src/contract/abi/USDT.json index 6bcabcc..68e18be 100644 --- a/src/contract/abi/USDT.json +++ b/src/contract/abi/USDT.json @@ -1,205 +1,10 @@ [ - { - "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": [], + "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, - { - "inputs": [], - "name": "ECDSAInvalidSignature", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "name": "ECDSAInvalidSignatureLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "ECDSAInvalidSignatureS", - "type": "error" - }, - { - "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" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "ERC2612ExpiredSignature", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "signer", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "ERC2612InvalidSigner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "currentNonce", - "type": "uint256" - } - ], - "name": "InvalidAccountNonce", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidShortString", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "str", - "type": "string" - } - ], - "name": "StringTooLong", - "type": "error" - }, { "anonymous": false, "inputs": [ @@ -227,77 +32,23 @@ }, { "anonymous": false, - "inputs": [], - "name": "EIP712DomainChanged", + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", "type": "event" }, - { - "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": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -324,35 +75,52 @@ "type": "event" }, { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", + "constant": true, + "inputs": [], + "name": "_decimals", "outputs": [ { - "internalType": "bool", + "internalType": "uint8", "name": "", - "type": "bool" + "type": "uint8" } ], - "stateMutability": "nonpayable", + "payable": false, + "stateMutability": "view", "type": "function" }, { + "constant": true, + "inputs": [], + "name": "_name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, "inputs": [ { "internalType": "address", @@ -373,10 +141,38 @@ "type": "uint256" } ], + "payable": false, "stateMutability": "view", "type": "function" }, { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, "inputs": [ { "internalType": "address", @@ -392,10 +188,33 @@ "type": "uint256" } ], + "payable": false, "stateMutability": "view", "type": "function" }, { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, "inputs": [], "name": "decimals", "outputs": [ @@ -405,66 +224,100 @@ "type": "uint8" } ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], + "payable": false, "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "eip712Domain", - "outputs": [ - { - "internalType": "bytes1", - "name": "fields", - "type": "bytes1" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - }, - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, + "constant": false, + "inputs": [ { "internalType": "address", - "name": "verifyingContract", + "name": "spender", "type": "address" }, { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "extensions", - "type": "uint256[]" + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" } ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, "stateMutability": "view", "type": "function" }, { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, "inputs": [], "name": "name", "outputs": [ @@ -474,29 +327,36 @@ "type": "string" } ], + "payable": false, "stateMutability": "view", "type": "function" }, { - "inputs": [ + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ { "internalType": "address", - "name": "owner", + "name": "", "type": "address" } ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], + "payable": false, "stateMutability": "view", "type": "function" }, { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, "inputs": [], "name": "symbol", "outputs": [ @@ -506,10 +366,12 @@ "type": "string" } ], + "payable": false, "stateMutability": "view", "type": "function" }, { + "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ @@ -519,7 +381,80 @@ "type": "uint256" } ], + "payable": false, "stateMutability": "view", "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "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" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" } ] diff --git a/src/contract/abi/receive.json b/src/contract/abi/receive.json index d20c331..617a638 100644 --- a/src/contract/abi/receive.json +++ b/src/contract/abi/receive.json @@ -51,41 +51,6 @@ "name": "OwnershipTransferred", "type": "event" }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "paymentTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "orderId", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "hashStr", - "type": "bytes32" - } - ], - "name": "reward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -111,37 +76,17 @@ "name": "RewardSuccess", "type": "event" }, - { - "inputs": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "setUSDCAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", + "name": "R_MAB", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", "type": "function" }, { @@ -178,15 +123,70 @@ }, { "inputs": [], - "name": "RMAB", - "outputs": [ + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { - "internalType": "contract IERC20", - "name": "", + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "paymentTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "orderId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "hashStr", + "type": "bytes32" + } + ], + "name": "reward", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", "type": "address" } ], - "stateMutability": "view", + "name": "setUSDCAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", "type": "function" } ] diff --git a/src/contract/utils.ts b/src/contract/utils.ts index 86b2d5a..0e575a4 100644 --- a/src/contract/utils.ts +++ b/src/contract/utils.ts @@ -1,7 +1,7 @@ /* * @LastEditors: John * @Date: 2024-06-19 15:48:57 - * @LastEditTime: 2024-07-18 18:33:04 + * @LastEditTime: 2024-07-19 14:09:28 * @Author: John */ import { config } from "@/components/WalletProvider"; @@ -168,13 +168,13 @@ export async function payByContract( await authorizedU(amount); } const NFTURI = - "https://gateway.pinata.cloud/ipfs/QmWxBbFG3WJXVTDqrFUPhMuLmeHqKNBBkzSuvQyyk7ftfi/CodeConqueror-Bnb.json"; + "https://gateway.lighthouse.storage/ipfs/bafkreicjdund46333jhrj556kkdsi7bqupyt2qi3lmylmtxcfiw7f2afe4"; console.log("参数:", amount, orderID, payInduction, NFTURI); estimateGas(config, { to: import.meta.env.VITE_PURCHASED_CONTRACT_ADDRESS, data: encodeFunctionData({ abi: RedDevilsAbi, - functionName: "buyHMNFT", + functionName: "buyEquityNFT", args: [amount, orderID, payInduction, NFTURI], }), }) @@ -184,7 +184,7 @@ export async function payByContract( writeContract(config, { abi: RedDevilsAbi, address: import.meta.env.VITE_PURCHASED_CONTRACT_ADDRESS, - functionName: "buyHMNFT", + functionName: "buyEquityNFT", args: [amount, orderID, payInduction, NFTURI], gas: gasPrice, }) @@ -193,12 +193,12 @@ export async function payByContract( reslove(receipt); }) .catch((err: BaseError) => { - console.log("buyHMNFT Transaction err", err); + console.log("buyEquityNFT Transaction err", err); reject(err); }); }) .catch((err: BaseError) => { - console.log("buyHMNFT estimateGas err", err); + console.log("buyEquityNFT estimateGas err", err); reject(err); }); } catch (err) {