initikghuiu
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
* EVM (ETH+BSC) → 0xeb9f... (один EVM wallet, оба chain'а)
|
||||
* SOL → DQkQ... (Solana base58)
|
||||
* TRX → TRwp... (Tron base58)
|
||||
* BTC → не collectable (no wallet provided — bridge in BTC не имеет fee tx layer)
|
||||
* BTC → bc1q... (bech32 P2WPKH, отдельная fee tx перед bridge)
|
||||
*
|
||||
* Изменение wallet → требует code review + новый release.
|
||||
*/
|
||||
@@ -30,6 +30,9 @@ export const APP_FEE_WALLET_SOL = 'DQkQegoX698XkcXZ6VX9P1qUpbV64Sgjz1BCPFgfWpjD'
|
||||
/** Tron base58 (с T-prefix). */
|
||||
export const APP_FEE_WALLET_TRX = 'TRwpFjnfMBe4aDJbHYEqeUVCG1auF8wFXP';
|
||||
|
||||
/** Bitcoin bech32 (P2WPKH). */
|
||||
export const APP_FEE_WALLET_BTC = 'bc1qwzm9e4qun4tptecalq9zwxshdnwmvcxtz27znm';
|
||||
|
||||
/** 70 bps = 0.7%. Изменение требует code review. */
|
||||
export const APP_FEE_BPS = 70n;
|
||||
|
||||
@@ -37,22 +40,21 @@ export const APP_FEE_BPS = 70n;
|
||||
export const APP_FEE_DENOMINATOR = 10000n;
|
||||
|
||||
/**
|
||||
* Resolve fee recipient для chain. Throws для unsupported chain (BTC).
|
||||
* Resolve fee recipient для chain.
|
||||
*/
|
||||
export function getAppFeeWallet(chain: ChainCode): string {
|
||||
if (chain === 'ETH' || chain === 'BSC') return APP_FEE_WALLET_EVM;
|
||||
if (chain === 'SOL') return APP_FEE_WALLET_SOL;
|
||||
if (chain === 'TRX') return APP_FEE_WALLET_TRX;
|
||||
throw new Error(
|
||||
`getAppFeeWallet: chain '${chain}' has no fee wallet (BTC bridges не имеют collectable fee layer)`,
|
||||
);
|
||||
if (chain === 'BTC') return APP_FEE_WALLET_BTC;
|
||||
throw new Error(`getAppFeeWallet: unsupported chain '${chain}'`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check если для chain есть fee wallet. Used для conditional fee tx (skip BTC).
|
||||
* Check если для chain есть fee wallet.
|
||||
*/
|
||||
export function hasAppFee(chain: ChainCode): boolean {
|
||||
return chain === 'ETH' || chain === 'BSC' || chain === 'SOL' || chain === 'TRX';
|
||||
return chain === 'ETH' || chain === 'BSC' || chain === 'SOL' || chain === 'TRX' || chain === 'BTC';
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user