feat: add expiry swap route paramater

This commit is contained in:
c4605
2025-05-03 15:45:42 +08:00
parent 54eef8e346
commit d17514e8f5
7 changed files with 21 additions and 3 deletions

View File

@@ -85,6 +85,7 @@ export const btcPegInEndpointV207Agg = defineContract({
type: tupleT({
'chain-id': optionalT(uintT, ),
'dest-chain-id': uintT,
expiry: uintT,
from: bufferT,
'min-amount-out': optionalT(uintT, ),
'swap-token-in': principalT,
@@ -115,6 +116,7 @@ export const btcPegInEndpointV207Agg = defineContract({
'order-details': tupleT({
'chain-id': optionalT(uintT, ),
'dest-chain-id': uintT,
expiry: uintT,
from: bufferT,
'min-amount-out': optionalT(uintT, ),
'swap-token-in': principalT,
@@ -133,6 +135,7 @@ export const btcPegInEndpointV207Agg = defineContract({
output: responseSimpleT(tupleT({
'chain-id': optionalT(uintT, ),
'dest-chain-id': uintT,
expiry: uintT,
from: bufferT,
'min-amount-out': optionalT(uintT, ),
'swap-token-in': principalT,
@@ -197,6 +200,7 @@ export const btcPegInEndpointV207Agg = defineContract({
output: responseSimpleT(tupleT({
'amount-in-fixed': uintT,
'dest-chain-id': uintT,
expiry: uintT,
'fail-settle': tupleT({ address: bufferT, 'chain-id': optionalT(uintT, ), token: principalT }, ),
'min-amount-out': optionalT(uintT, ),
'success-settle': tupleT({ address: bufferT, 'chain-id': optionalT(uintT, ), token: principalT }, ),

View File

@@ -27,6 +27,7 @@ export const crossPegOutEndpointV201Agg = defineContract({
{ name: 'token-out', type: principalT },
{ name: 'min-amount-out', type: optionalT(uintT, ) },
{ name: 'dest-chain-id', type: uintT },
{ name: 'expiry', type: uintT },
{
name: 'success-settle',
type: tupleT({ address: bufferT, 'chain-id': optionalT(uintT, ), token: principalT }, )

View File

@@ -125,6 +125,7 @@ export const metaPegInEndpointV206Agg = defineContract({
type: tupleT({
'chain-id': optionalT(uintT, ),
'dest-chain-id': uintT,
expiry: uintT,
from: bufferT,
'min-amount-out': optionalT(uintT, ),
'swap-token-in': principalT,
@@ -147,6 +148,7 @@ export const metaPegInEndpointV206Agg = defineContract({
'order-details': tupleT({
'chain-id': optionalT(uintT, ),
'dest-chain-id': uintT,
expiry: uintT,
from: bufferT,
'min-amount-out': optionalT(uintT, ),
'swap-token-in': principalT,
@@ -165,6 +167,7 @@ export const metaPegInEndpointV206Agg = defineContract({
output: responseSimpleT(tupleT({
'chain-id': optionalT(uintT, ),
'dest-chain-id': uintT,
expiry: uintT,
from: bufferT,
'min-amount-out': optionalT(uintT, ),
'swap-token-in': principalT,
@@ -278,6 +281,7 @@ export const metaPegInEndpointV206Agg = defineContract({
output: responseSimpleT(tupleT({
'amount-in-fixed': uintT,
'dest-chain-id': uintT,
expiry: uintT,
'fail-settle': tupleT({ address: bufferT, 'chain-id': optionalT(uintT, ), token: principalT }, ),
'min-amount-out': optionalT(uintT, ),
'success-settle': tupleT({ address: bufferT, 'chain-id': optionalT(uintT, ), token: principalT }, ),

View File

@@ -24,13 +24,13 @@ export const STACKS_TESTNET: StacksNetwork = {
export const contractNameOverrides_mainnet: Record<string, string> = {
"btc-peg-in-endpoint-v2-07": "btc-peg-in-v2-07a",
"btc-peg-in-endpoint-v2-07-swap": "btc-peg-in-v2-07e-swap",
"btc-peg-in-endpoint-v2-07-agg": "btc-peg-in-v2-07f-agg",
"btc-peg-in-endpoint-v2-07-agg": "btc-peg-in-v2-07h-agg",
"btc-peg-in-endpoint-v2-05-launchpad": "btc-peg-in-v2-05-launchpad-3c",
"meta-peg-in-endpoint-v2-06-swap": "meta-peg-in-v2-06e-swap",
"meta-peg-in-endpoint-v2-06-agg": "meta-peg-in-v2-06g-agg",
"meta-peg-in-endpoint-v2-06-agg": "meta-peg-in-v2-06i-agg",
"cross-peg-in-endpoint-v2-04-swap": "cross-peg-in-v2-04b-swap",
"cross-peg-in-endpoint-v2-04-launchpad": "cross-peg-in-v2-04-launchpad-3c",
"cross-peg-out-endpoint-v2-01-agg": "cross-peg-out-v2-01b-agg",
"cross-peg-out-endpoint-v2-01-agg": "cross-peg-out-v2-01c-agg",
}
export const contractNameOverrides_testnet: Record<string, string> = {
"token-wliabtc": "token-wliabtc-dk",

View File

@@ -345,6 +345,10 @@ async function createBridgeOrderFromBitcoinImpl(
"swap-token-in": `${swapFromTokenStacksAddress.deployerAddress}.${swapFromTokenStacksAddress.contractName}`,
"swap-token-out": `${swapToTokenStacksAddress.deployerAddress}.${swapToTokenStacksAddress.contractName}`,
"token-out": `${tokenOutStacksAddress.deployerAddress}.${tokenOutStacksAddress.contractName}`,
expiry:
swapInfo.expiredAt == null
? 0n
: BigInt(Math.ceil(swapInfo.expiredAt.getTime() / 1000)),
},
},
contractAggCallInfo.executeOptions,

View File

@@ -341,6 +341,10 @@ async function createBridgeOrderFromMetaImpl(
"swap-token-in": `${swapFromTokenStacksAddress.deployerAddress}.${swapFromTokenStacksAddress.contractName}`,
"swap-token-out": `${swapToTokenStacksAddress.deployerAddress}.${swapToTokenStacksAddress.contractName}`,
"token-out": `${tokenOutStacksAddress.deployerAddress}.${tokenOutStacksAddress.contractName}`,
expiry:
swapInfo.expiredAt == null
? 0n
: BigInt(Math.ceil(swapInfo.expiredAt.getTime() / 1000)),
},
},
contractAggCallInfo.executeOptions,

View File

@@ -58,6 +58,7 @@ export interface SwapRouteViaEVMDexAggregator {
evmChain: KnownChainId.EVMChain
fromEVMToken: KnownTokenId.EVMToken
toEVMToken: KnownTokenId.EVMToken
expiredAt?: null | Date
}
export interface SwapRouteViaEVMDexAggregator_WithExchangeRate