mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 18:26:16 +00:00
feat: support TON and USDT Jetton payments
- add TON chain, token, RPC, address normalization, and order matching support - add liteclient scanner with masterchain/shard catch-up and Jetton validation - add TON manual payment verification and focused tests
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/GMWalletApp/epusdt/model/mdb"
|
||||
addressutil "github.com/GMWalletApp/epusdt/util/address"
|
||||
"github.com/btcsuite/btcutil/base58"
|
||||
"github.com/gagliardetto/solana-go"
|
||||
)
|
||||
@@ -53,6 +54,9 @@ func isValidAddressByNetwork(network, addr string) bool {
|
||||
return isValidTronAddress(addr)
|
||||
case mdb.NetworkSolana:
|
||||
return isValidSolanaAddress(addr)
|
||||
case mdb.NetworkTon:
|
||||
_, err := addressutil.ParseTonMainnetAddress(addr)
|
||||
return err == nil
|
||||
default:
|
||||
// 其余 EVM 链统一使用 0x 地址校验
|
||||
return isValidEthereumAddress(addr)
|
||||
@@ -64,6 +68,11 @@ func normalizeWalletAddressByNetwork(network, addr string) string {
|
||||
switch strings.ToLower(strings.TrimSpace(network)) {
|
||||
case mdb.NetworkTron, mdb.NetworkSolana:
|
||||
return addr
|
||||
case mdb.NetworkTon:
|
||||
if normalized, err := addressutil.NormalizeTonAddress(addr); err == nil {
|
||||
return normalized
|
||||
}
|
||||
return addr
|
||||
default:
|
||||
return strings.ToLower(addr)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user