UNPKG

@robertprp/intents-sdk

Version:

Shogun Network Intent-based cross-chain swaps SDK

28 lines 1.07 kB
import { isValidSuiAddress, normalizeSuiAddress } from '@mysten/sui/utils'; import { MAX_UINT_64 } from '../../constants.js'; import { BaseValidator } from '../../utils/base-validator.js'; const SUI_TOKEN_ADDRESS_REGEX = /^0x[a-fA-F0-9]{64}::\w+::\w+$/; export class SuiValidator extends BaseValidator { isValidAddress(address) { return isValidSuiAddress(normalizeSuiAddress(address)); } isValidTokenAddress(tokenAddress) { const [address] = tokenAddress.split('::'); const isValidAddress = address !== undefined ? this.isValidAddress(address) : false; return isValidAddress && SUI_TOKEN_ADDRESS_REGEX.test(tokenAddress); } isValidAmount(amount) { return amount > 0n && amount < MAX_UINT_64; } getChainName() { return 'Sui'; } async validateCrossChainOrderFeasability() { // No chain-specific validation implemented for now for Sui return; } validateSingleChainOrderFeasability() { return Promise.resolve(); } } //# sourceMappingURL=validator.js.map