- 主要实现Etherum、Binance、Polygon链等智能合约常用业务调用
/// 代币授权
func tokenApprove(){letconfig=CSContractConfig()
config.abiType =.erc20;
config.privateKey ="your privateKey"
config.from ="your walletAddress";
config.approveAmount ="1000000000000";
config.contractAddress ="contract address"
config.symbol ="token symbol"CSContractManager.shared.callContract(method:"approve", params:[], config: config){ result inif(result.transHash.length >0 && result.callData.count >0){print("Token approve success")}else{print("Token approve fail")}}} /// 代币发送
func sendToken(){letconfig=CSContractConfig()
config.abiType =.erc20;
config.privateKey ="your privateKey"
config.from ="your walletAddress";
config.contractAddress ="contract address"
config.symbol ="token symbol"
config.gasLimit = kBaseGasLimit;
lettargetAddress="target address"CSContractManager.shared.sendToken(config: config, amount:"10", toAdds: targetAddress){ result inif(result.transHash.length >0){print("Token send success")}else{print("Token send fail")}}} /// 查询代币信息
func queryToken(){lettokenAddress=""guardlet token =CSContractManager.shared.querySocialToken(address: tokenAddress)else{return}print("Token Name:\(token.name)\n")print("Token Symbol:\(token.symbol)\n")print("Token decimals:\(token.decimals)\n")} /// 查询当前钱包账户余额
func queryAccountBalance (){letmyWalletAddress="your walletAddress";
letbalance=CSContractManager.shared.getAccountBalance(address: myWalletAddress)print("Your account balance:\(balance)")}