@allbridge/bridge-core-sdk 3.27.0-alpha.6 → 3.27.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +2 -2
- package/dist/browser/index.js.map +3 -3
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +3 -3
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +3 -3
- package/dist/src/services/bridge/stx/index.js +4 -1
- package/dist/src/services/bridge/stx/index.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -46,11 +46,14 @@ class StxBridgeService extends models_2.ChainBridgeService {
|
|
|
46
46
|
}
|
|
47
47
|
const isPayWithStable = txSendParams.gasFeePaymentMethod === models_1.FeePaymentMethod.WITH_STABLECOIN;
|
|
48
48
|
let feeTokenAmount;
|
|
49
|
+
let feeNativeAmount;
|
|
49
50
|
if (isPayWithStable) {
|
|
50
51
|
feeTokenAmount = totalFee;
|
|
52
|
+
feeNativeAmount = 0n;
|
|
51
53
|
}
|
|
52
54
|
else {
|
|
53
55
|
feeTokenAmount = 0n;
|
|
56
|
+
feeNativeAmount = totalFee;
|
|
54
57
|
const postUserStxPostCondition = (0, post_conditions_1.getStxPostCondition)(totalFee, "lte", params.fromAccountAddress);
|
|
55
58
|
postConditions.push(postUserStxPostCondition);
|
|
56
59
|
}
|
|
@@ -67,7 +70,7 @@ class StxBridgeService extends models_2.ChainBridgeService {
|
|
|
67
70
|
receiveToken: Uint8Array.from(toTokenAddress),
|
|
68
71
|
nonce: Uint8Array.from((0, utils_1.getNonce)()),
|
|
69
72
|
messengerId: messenger,
|
|
70
|
-
feeNativeAmount:
|
|
73
|
+
feeNativeAmount: feeNativeAmount,
|
|
71
74
|
feeTokenAmount: feeTokenAmount,
|
|
72
75
|
});
|
|
73
76
|
const privateKey = (0, transactions_1.makeRandomPrivKey)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/stx/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ClarigenClient, contractFactory } from \"@clarigen/core\";\nimport { createNetwork } from \"@stacks/network\";\nimport {\n ContractIdString,\n makeRandomPrivKey,\n makeUnsignedContractCall,\n parseContractId,\n PostCondition,\n PostConditionMode,\n privateKeyToPublic,\n} from \"@stacks/transactions\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { MethodNotSupportedError } from \"../../../exceptions\";\nimport { AllbridgeCoreSdkOptions } from \"../../../index\";\nimport { FeePaymentMethod } from \"../../../models\";\nimport { RawStxTransaction, TransactionResponse } from \"../../models\";\nimport { stacksContracts as contracts } from \"../../models/stx/clarigen-types\";\nimport { getTokenName } from \"../../utils/stx/get-token-name\";\nimport { getFungiblePostCondition, getStxPostCondition } from \"../../utils/stx/post-conditions\";\nimport { ChainBridgeService, SendParams, SwapParams } from \"../models\";\nimport { getNonce, prepareTxSendParams, prepareTxSwapParams } from \"../utils\";\n\nexport class StxBridgeService extends ChainBridgeService {\n chainType: ChainType.STX = ChainType.STX;\n\n private client: ClarigenClient;\n\n constructor(\n public nodeRpcUrl: string,\n public params: AllbridgeCoreSdkOptions,\n public api: AllbridgeCoreClient\n ) {\n super();\n const network = createNetwork({\n network: this.params.stxIsTestnet ? \"testnet\" : \"mainnet\",\n client: { baseUrl: this.nodeRpcUrl },\n apiKey: this.params.stxHeroApiKey,\n });\n this.client = new ClarigenClient(network, this.params.stxHeroApiKey);\n }\n\n send(_params: SendParams): Promise<TransactionResponse> {\n throw new MethodNotSupportedError();\n }\n\n async buildRawTransactionSend(params: SendParams): Promise<RawStxTransaction> {\n const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);\n const { contractAddress: bridgeAddress, messenger, toChainId, toAccountAddress, toTokenAddress } = txSendParams;\n const amount = BigInt(txSendParams.amount);\n\n const postFungiblePostCondition = getFungiblePostCondition(\n amount,\n \"lte\",\n params.fromAccountAddress,\n params.sourceToken.tokenAddress,\n getTokenName(params.sourceToken)\n );\n const postStxPostCondition = getStxPostCondition(0, \"gte\", params.sourceToken.bridgeAddress);\n const postConditions: PostCondition[] = [postFungiblePostCondition, postStxPostCondition];\n\n let totalFee = BigInt(txSendParams.fee);\n if (txSendParams.extraGas) {\n totalFee = totalFee + BigInt(txSendParams.extraGas);\n }\n\n const isPayWithStable = txSendParams.gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN;\n\n let feeTokenAmount: bigint;\n if (isPayWithStable) {\n feeTokenAmount = totalFee;\n } else {\n feeTokenAmount = 0n;\n const postUserStxPostCondition = getStxPostCondition(totalFee, \"lte\", params.fromAccountAddress);\n postConditions.push(postUserStxPostCondition);\n }\n\n const [contractPrincipal] = parseContractId(bridgeAddress as ContractIdString);\n\n const bridge = contractFactory(contracts.bridge, bridgeAddress);\n const { contractAddress, contractName, functionName, functionArgs } = bridge.swapAndBridge({\n ftRef: params.sourceToken.tokenAddress,\n poolRef: params.sourceToken.poolAddress,\n messengerRef: `${contractPrincipal}.messenger`,\n gasOracleRef: `${contractPrincipal}.gas-oracle`,\n amount,\n recipient: Uint8Array.from(toAccountAddress),\n destinationChainId: toChainId,\n receiveToken: Uint8Array.from(toTokenAddress),\n nonce: Uint8Array.from(getNonce()),\n messengerId: messenger,\n feeNativeAmount: totalFee,\n feeTokenAmount: feeTokenAmount,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions,\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n\n async buildRawTransactionSwap(params: SwapParams): Promise<RawStxTransaction> {\n const txSwapParams = prepareTxSwapParams(this.chainType, params);\n const amount = BigInt(txSwapParams.amount);\n const minimumReceiveAmount = BigInt(txSwapParams.minimumReceiveAmount);\n\n const bridgeAddress = params.sourceToken.bridgeAddress;\n const bridge = contractFactory(contracts.bridge, bridgeAddress);\n const { contractAddress, contractName, functionName, functionArgs } = bridge.swap({\n amount,\n sendPoolRef: params.sourceToken.poolAddress,\n sendFtRef: params.sourceToken.tokenAddress,\n receivePoolRef: params.destinationToken.poolAddress,\n receiveFtRef: params.destinationToken.tokenAddress,\n recipient: params.toAccountAddress,\n receiveAmountMin: minimumReceiveAmount,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const postFungibleCondition = getFungiblePostCondition(\n amount,\n \"lte\",\n params.fromAccountAddress,\n params.sourceToken.tokenAddress,\n getTokenName(params.sourceToken)\n );\n\n const postFungibleMinReceiveCondition = getFungiblePostCondition(\n minimumReceiveAmount,\n \"gte\",\n params.destinationToken.poolAddress,\n params.destinationToken.tokenAddress,\n getTokenName(params.destinationToken)\n );\n\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [postFungibleCondition, postFungibleMinReceiveCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/stx/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ClarigenClient, contractFactory } from \"@clarigen/core\";\nimport { createNetwork } from \"@stacks/network\";\nimport {\n ContractIdString,\n makeRandomPrivKey,\n makeUnsignedContractCall,\n parseContractId,\n PostCondition,\n PostConditionMode,\n privateKeyToPublic,\n} from \"@stacks/transactions\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { MethodNotSupportedError } from \"../../../exceptions\";\nimport { AllbridgeCoreSdkOptions } from \"../../../index\";\nimport { FeePaymentMethod } from \"../../../models\";\nimport { RawStxTransaction, TransactionResponse } from \"../../models\";\nimport { stacksContracts as contracts } from \"../../models/stx/clarigen-types\";\nimport { getTokenName } from \"../../utils/stx/get-token-name\";\nimport { getFungiblePostCondition, getStxPostCondition } from \"../../utils/stx/post-conditions\";\nimport { ChainBridgeService, SendParams, SwapParams } from \"../models\";\nimport { getNonce, prepareTxSendParams, prepareTxSwapParams } from \"../utils\";\n\nexport class StxBridgeService extends ChainBridgeService {\n chainType: ChainType.STX = ChainType.STX;\n\n private client: ClarigenClient;\n\n constructor(\n public nodeRpcUrl: string,\n public params: AllbridgeCoreSdkOptions,\n public api: AllbridgeCoreClient\n ) {\n super();\n const network = createNetwork({\n network: this.params.stxIsTestnet ? \"testnet\" : \"mainnet\",\n client: { baseUrl: this.nodeRpcUrl },\n apiKey: this.params.stxHeroApiKey,\n });\n this.client = new ClarigenClient(network, this.params.stxHeroApiKey);\n }\n\n send(_params: SendParams): Promise<TransactionResponse> {\n throw new MethodNotSupportedError();\n }\n\n async buildRawTransactionSend(params: SendParams): Promise<RawStxTransaction> {\n const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);\n const { contractAddress: bridgeAddress, messenger, toChainId, toAccountAddress, toTokenAddress } = txSendParams;\n const amount = BigInt(txSendParams.amount);\n\n const postFungiblePostCondition = getFungiblePostCondition(\n amount,\n \"lte\",\n params.fromAccountAddress,\n params.sourceToken.tokenAddress,\n getTokenName(params.sourceToken)\n );\n const postStxPostCondition = getStxPostCondition(0, \"gte\", params.sourceToken.bridgeAddress);\n const postConditions: PostCondition[] = [postFungiblePostCondition, postStxPostCondition];\n\n let totalFee = BigInt(txSendParams.fee);\n if (txSendParams.extraGas) {\n totalFee = totalFee + BigInt(txSendParams.extraGas);\n }\n\n const isPayWithStable = txSendParams.gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN;\n\n let feeTokenAmount: bigint;\n let feeNativeAmount: bigint;\n if (isPayWithStable) {\n feeTokenAmount = totalFee;\n feeNativeAmount = 0n;\n } else {\n feeTokenAmount = 0n;\n feeNativeAmount = totalFee;\n const postUserStxPostCondition = getStxPostCondition(totalFee, \"lte\", params.fromAccountAddress);\n postConditions.push(postUserStxPostCondition);\n }\n\n const [contractPrincipal] = parseContractId(bridgeAddress as ContractIdString);\n\n const bridge = contractFactory(contracts.bridge, bridgeAddress);\n const { contractAddress, contractName, functionName, functionArgs } = bridge.swapAndBridge({\n ftRef: params.sourceToken.tokenAddress,\n poolRef: params.sourceToken.poolAddress,\n messengerRef: `${contractPrincipal}.messenger`,\n gasOracleRef: `${contractPrincipal}.gas-oracle`,\n amount,\n recipient: Uint8Array.from(toAccountAddress),\n destinationChainId: toChainId,\n receiveToken: Uint8Array.from(toTokenAddress),\n nonce: Uint8Array.from(getNonce()),\n messengerId: messenger,\n feeNativeAmount: feeNativeAmount,\n feeTokenAmount: feeTokenAmount,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions,\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n\n async buildRawTransactionSwap(params: SwapParams): Promise<RawStxTransaction> {\n const txSwapParams = prepareTxSwapParams(this.chainType, params);\n const amount = BigInt(txSwapParams.amount);\n const minimumReceiveAmount = BigInt(txSwapParams.minimumReceiveAmount);\n\n const bridgeAddress = params.sourceToken.bridgeAddress;\n const bridge = contractFactory(contracts.bridge, bridgeAddress);\n const { contractAddress, contractName, functionName, functionArgs } = bridge.swap({\n amount,\n sendPoolRef: params.sourceToken.poolAddress,\n sendFtRef: params.sourceToken.tokenAddress,\n receivePoolRef: params.destinationToken.poolAddress,\n receiveFtRef: params.destinationToken.tokenAddress,\n recipient: params.toAccountAddress,\n receiveAmountMin: minimumReceiveAmount,\n });\n\n const privateKey = makeRandomPrivKey();\n const publicKey = privateKeyToPublic(privateKey);\n\n const postFungibleCondition = getFungiblePostCondition(\n amount,\n \"lte\",\n params.fromAccountAddress,\n params.sourceToken.tokenAddress,\n getTokenName(params.sourceToken)\n );\n\n const postFungibleMinReceiveCondition = getFungiblePostCondition(\n minimumReceiveAmount,\n \"gte\",\n params.destinationToken.poolAddress,\n params.destinationToken.tokenAddress,\n getTokenName(params.destinationToken)\n );\n\n const txOptions = {\n contractAddress,\n contractName,\n functionName,\n functionArgs,\n publicKey,\n validateWithAbi: true,\n network: this.client.network,\n postConditions: [postFungibleCondition, postFungibleMinReceiveCondition],\n postConditionMode: PostConditionMode.Deny,\n };\n const transaction = await makeUnsignedContractCall(txOptions);\n return transaction.serialize();\n }\n}\n"]}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "3.27.0-alpha.
|
|
1
|
+
export declare const VERSION = "3.27.0-alpha.7";
|
package/dist/src/version.js
CHANGED
package/dist/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,gBAAgB,CAAC","sourcesContent":["export const VERSION = \"3.27.0-alpha.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,gBAAgB,CAAC","sourcesContent":["export const VERSION = \"3.27.0-alpha.7\";\n"]}
|