@allbridge/bridge-core-sdk 3.33.0-alpha.1 → 3.33.0-alpha.3
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 +4 -4
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +4 -4
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/services/bridge/cctp-utils.d.ts +1 -0
- package/dist/src/services/bridge/cctp-utils.js +13 -0
- package/dist/src/services/bridge/cctp-utils.js.map +1 -0
- package/dist/src/services/bridge/evm/abr-payer.d.ts +3 -0
- package/dist/src/services/bridge/evm/abr-payer.js +11 -0
- package/dist/src/services/bridge/evm/abr-payer.js.map +1 -0
- package/dist/src/services/bridge/evm/index.js +35 -10
- package/dist/src/services/bridge/evm/index.js.map +1 -1
- package/dist/src/services/bridge/sol/bridge-tx-service.d.ts +2 -1
- package/dist/src/services/bridge/sol/bridge-tx-service.js +28 -12
- package/dist/src/services/bridge/sol/bridge-tx-service.js.map +1 -1
- package/dist/src/services/bridge/sol/index.d.ts +1 -1
- package/dist/src/services/bridge/sol/index.js.map +1 -1
- package/dist/src/services/bridge/sol/payer-with-token-service.js +17 -1
- package/dist/src/services/bridge/sol/payer-with-token-service.js.map +1 -1
- package/dist/src/services/bridge/srb/index.d.ts +1 -1
- package/dist/src/services/bridge/srb/index.js +33 -3
- package/dist/src/services/bridge/srb/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/index.js +2 -1
- package/dist/src/services/liquidity-pool/index.js.map +1 -1
- package/dist/src/services/models/abi/CctpBridge.d.ts +40 -0
- package/dist/src/services/models/abi/CctpBridge.js +52 -0
- package/dist/src/services/models/abi/CctpBridge.js.map +1 -1
- package/dist/src/services/models/sol/types/cctp_v2_bridge.d.ts +254 -0
- package/dist/src/services/models/sol/types/cctp_v2_bridge.js.map +1 -1
- package/dist/src/services/models/sol/types/cctp_v2_bridge.json +254 -0
- package/dist/src/services/models/sol/types/payer_with_token.d.ts +6 -0
- package/dist/src/services/models/sol/types/payer_with_token.js.map +1 -1
- package/dist/src/services/models/sol/types/payer_with_token.json +6 -0
- package/dist/src/services/models/srb/cctp-bridge-contract.d.ts +451 -0
- package/dist/src/services/models/srb/cctp-bridge-contract.js +150 -0
- package/dist/src/services/models/srb/cctp-bridge-contract.js.map +1 -0
- package/dist/src/services/utils/srb/index.d.ts +1 -0
- package/dist/src/services/utils/srb/index.js +9 -0
- package/dist/src/services/utils/srb/index.js.map +1 -0
- 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 +3 -2
|
@@ -10,7 +10,7 @@ export declare class SrbBridgeService extends ChainBridgeService {
|
|
|
10
10
|
chainType: ChainType.SRB;
|
|
11
11
|
constructor(nodeRpcUrlsConfig: NodeRpcUrlsConfig, params: AllbridgeCoreSdkOptions, api: AllbridgeCoreClient);
|
|
12
12
|
buildRawTransactionSend(params: SendParams): Promise<RawTransaction>;
|
|
13
|
-
buildRawTransactionSendFromParams(params: TxSendParamsSrb): Promise<RawTransaction>;
|
|
13
|
+
buildRawTransactionSendFromParams(params: TxSendParamsSrb, sendParams?: SendParams): Promise<RawTransaction>;
|
|
14
14
|
/** @deprecated Do not use. */
|
|
15
15
|
buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction>;
|
|
16
16
|
/** @deprecated Do not use. */
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { Address } from "@stellar/stellar-sdk";
|
|
2
2
|
import { Big } from "big.js";
|
|
3
3
|
import { ChainSymbol } from "../../../chains/chain.enums";
|
|
4
|
+
import { Messenger } from "../../../client/core-api/core-api.model";
|
|
4
5
|
import { MethodNotSupportedError, SdkError } from "../../../exceptions";
|
|
5
6
|
import { ChainType } from "../../../index";
|
|
6
7
|
import { FeePaymentMethod } from "../../../models";
|
|
7
8
|
import { assertNever } from "../../../utils/utils";
|
|
8
9
|
import { BridgeContract } from "../../models/srb/bridge-contract";
|
|
10
|
+
import { Client as CctpBridgeContract } from "../../models/srb/cctp-bridge-contract";
|
|
9
11
|
import { getSorobanInclusionFee } from "../../models/srb/utils";
|
|
12
|
+
import { getCctpSolTokenRecipientAddress } from "../get-cctp-sol-token-recipient-address";
|
|
10
13
|
import { ChainBridgeService } from "../models";
|
|
11
14
|
import { getNonceBigInt, prepareTxSendParams, prepareTxSwapParams } from "../utils";
|
|
12
15
|
export class SrbBridgeService extends ChainBridgeService {
|
|
@@ -22,16 +25,43 @@ export class SrbBridgeService extends ChainBridgeService {
|
|
|
22
25
|
}
|
|
23
26
|
async buildRawTransactionSend(params) {
|
|
24
27
|
const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);
|
|
25
|
-
return await this.buildRawTransactionSendFromParams(txSendParams);
|
|
28
|
+
return await this.buildRawTransactionSendFromParams(txSendParams, params);
|
|
26
29
|
}
|
|
27
|
-
async buildRawTransactionSendFromParams(params) {
|
|
30
|
+
async buildRawTransactionSendFromParams(params, sendParams) {
|
|
28
31
|
const { amount, contractAddress, fromAccountAddress, fromTokenAddress, toChainId, toAccountAddress, toTokenAddress, fee, gasFeePaymentMethod, extraGas, } = params;
|
|
29
32
|
let totalFee = fee;
|
|
30
33
|
if (extraGas) {
|
|
31
34
|
totalFee = Big(totalFee).plus(extraGas).toFixed();
|
|
32
35
|
}
|
|
33
|
-
const contract = this.getContract(BridgeContract, contractAddress, fromAccountAddress);
|
|
34
36
|
const inclusionFee = await getSorobanInclusionFee(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));
|
|
37
|
+
if (params.messenger === Messenger.CCTP_V2) {
|
|
38
|
+
const contract = this.getContract(CctpBridgeContract, contractAddress, fromAccountAddress);
|
|
39
|
+
const recipient = sendParams?.destinationToken.chainType === ChainType.SOLANA
|
|
40
|
+
? await getCctpSolTokenRecipientAddress(this.chainType, sendParams.toAccountAddress, sendParams.destinationToken.tokenAddress, this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL))
|
|
41
|
+
: toAccountAddress;
|
|
42
|
+
if (gasFeePaymentMethod === FeePaymentMethod.WITH_ABR) {
|
|
43
|
+
throw new SdkError("SRB CCTPv2 bridge does not support ABR payment method");
|
|
44
|
+
}
|
|
45
|
+
let cctpFee;
|
|
46
|
+
switch (gasFeePaymentMethod) {
|
|
47
|
+
case FeePaymentMethod.WITH_NATIVE_CURRENCY:
|
|
48
|
+
cctpFee = { gas_amount: BigInt(totalFee), fee_token_amount: 0n };
|
|
49
|
+
break;
|
|
50
|
+
case FeePaymentMethod.WITH_STABLECOIN:
|
|
51
|
+
cctpFee = { gas_amount: 0n, fee_token_amount: BigInt(totalFee) };
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
return assertNever(gasFeePaymentMethod, "Unhandled FeePaymentMethod");
|
|
55
|
+
}
|
|
56
|
+
return (await contract.bridge({
|
|
57
|
+
sender: fromAccountAddress,
|
|
58
|
+
amount: BigInt(amount),
|
|
59
|
+
recipient: Buffer.from(recipient),
|
|
60
|
+
destination_chain_id: +toChainId,
|
|
61
|
+
...cctpFee,
|
|
62
|
+
}, { fee: inclusionFee })).toXDR();
|
|
63
|
+
}
|
|
64
|
+
const contract = this.getContract(BridgeContract, contractAddress, fromAccountAddress);
|
|
35
65
|
let tx;
|
|
36
66
|
switch (gasFeePaymentMethod) {
|
|
37
67
|
case FeePaymentMethod.WITH_NATIVE_CURRENCY:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/srb/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Address, contract } from \"@stellar/stellar-sdk\";\nimport { Big } from \"big.js\";\nimport { ChainSymbol } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { MethodNotSupportedError, SdkError } from \"../../../exceptions\";\nimport { AllbridgeCoreSdkOptions, ChainType } from \"../../../index\";\nimport { FeePaymentMethod } from \"../../../models\";\nimport { assertNever } from \"../../../utils/utils\";\nimport { NodeRpcUrlsConfig } from \"../../index\";\nimport { RawTransaction, TransactionResponse } from \"../../models\";\nimport { BridgeContract } from \"../../models/srb/bridge-contract\";\nimport { getSorobanInclusionFee } from \"../../models/srb/utils\";\nimport { ChainBridgeService, SendParams, SwapParams, TxSendParamsSrb, TxSwapParamsSol } from \"../models\";\nimport { getNonceBigInt, prepareTxSendParams, prepareTxSwapParams } from \"../utils\";\nimport ContractClientOptions = contract.ClientOptions;\n\nexport class SrbBridgeService extends ChainBridgeService {\n chainType: ChainType.SRB = ChainType.SRB;\n\n constructor(\n readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n readonly params: AllbridgeCoreSdkOptions,\n readonly api: AllbridgeCoreClient\n ) {\n super();\n }\n\n async buildRawTransactionSend(params: SendParams): Promise<RawTransaction> {\n const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);\n return await this.buildRawTransactionSendFromParams(txSendParams);\n }\n\n async buildRawTransactionSendFromParams(params: TxSendParamsSrb): Promise<RawTransaction> {\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toChainId,\n toAccountAddress,\n toTokenAddress,\n fee,\n gasFeePaymentMethod,\n extraGas,\n } = params;\n\n let totalFee = fee;\n if (extraGas) {\n totalFee = Big(totalFee).plus(extraGas).toFixed();\n }\n const contract = this.getContract(BridgeContract, contractAddress, fromAccountAddress);\n const inclusionFee = await getSorobanInclusionFee(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));\n let tx;\n switch (gasFeePaymentMethod) {\n case FeePaymentMethod.WITH_NATIVE_CURRENCY:\n tx = await contract.swap_and_bridge(\n {\n sender: fromAccountAddress,\n token: Address.contract(Buffer.from(fromTokenAddress)).toString(),\n amount: BigInt(amount),\n recipient: Buffer.from(toAccountAddress),\n destination_chain_id: +toChainId,\n receive_token: Buffer.from(toTokenAddress),\n nonce: getNonceBigInt(),\n gas_amount: BigInt(totalFee),\n fee_token_amount: BigInt(0),\n },\n { fee: inclusionFee }\n );\n break;\n case FeePaymentMethod.WITH_STABLECOIN:\n tx = await contract.swap_and_bridge(\n {\n sender: fromAccountAddress,\n token: Address.contract(Buffer.from(fromTokenAddress)).toString(),\n amount: BigInt(amount),\n recipient: Buffer.from(toAccountAddress),\n destination_chain_id: +toChainId,\n receive_token: Buffer.from(toTokenAddress),\n nonce: getNonceBigInt(),\n gas_amount: BigInt(0),\n fee_token_amount: BigInt(totalFee),\n },\n { fee: inclusionFee }\n );\n break;\n case FeePaymentMethod.WITH_ABR:\n throw new SdkError(\"SRB bridge does not support ABR payment method\");\n default: {\n return assertNever(gasFeePaymentMethod, \"Unhandled FeePaymentMethod\");\n }\n }\n\n return tx.toXDR();\n }\n\n /** @deprecated Do not use. */\n async buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction> {\n const txSwapParams = prepareTxSwapParams(this.chainType, params);\n return await this.buildRawTransactionSwapFromParams(txSwapParams);\n }\n\n /** @deprecated Do not use. */\n async buildRawTransactionSwapFromParams(params: TxSwapParamsSol): Promise<RawTransaction> {\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toAccountAddress,\n toTokenAddress,\n minimumReceiveAmount,\n } = params;\n const contract = this.getContract(BridgeContract, contractAddress, fromAccountAddress);\n const inclusionFee = await getSorobanInclusionFee(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));\n return (\n await contract.swap(\n {\n sender: fromAccountAddress,\n amount: BigInt(amount),\n token: Address.contract(Buffer.from(fromTokenAddress)).toBuffer(),\n receive_token: Buffer.from(toTokenAddress),\n recipient: toAccountAddress,\n receive_amount_min: BigInt(minimumReceiveAmount),\n },\n { fee: inclusionFee }\n )\n ).toXDR();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n send(params: SendParams): Promise<TransactionResponse> {\n throw new MethodNotSupportedError();\n }\n\n private getContract<T>(contract: new (args: ContractClientOptions) => T, address: string, sender?: string): T {\n const config: ContractClientOptions = {\n publicKey: sender,\n contractId: address,\n networkPassphrase: this.params.sorobanNetworkPassphrase,\n rpcUrl: this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB),\n };\n return new contract(config);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/srb/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Address, contract } from \"@stellar/stellar-sdk\";\nimport { Big } from \"big.js\";\nimport { ChainSymbol } from \"../../../chains/chain.enums\";\nimport { Messenger } from \"../../../client/core-api/core-api.model\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { MethodNotSupportedError, SdkError } from \"../../../exceptions\";\nimport { AllbridgeCoreSdkOptions, ChainType } from \"../../../index\";\nimport { FeePaymentMethod } from \"../../../models\";\nimport { assertNever } from \"../../../utils/utils\";\nimport { NodeRpcUrlsConfig } from \"../../index\";\nimport { RawTransaction, TransactionResponse } from \"../../models\";\nimport { BridgeContract } from \"../../models/srb/bridge-contract\";\nimport { Client as CctpBridgeContract } from \"../../models/srb/cctp-bridge-contract\";\nimport { getSorobanInclusionFee } from \"../../models/srb/utils\";\nimport { getCctpSolTokenRecipientAddress } from \"../get-cctp-sol-token-recipient-address\";\nimport { ChainBridgeService, SendParams, SwapParams, TxSendParamsSrb, TxSwapParamsSol } from \"../models\";\nimport { getNonceBigInt, prepareTxSendParams, prepareTxSwapParams } from \"../utils\";\nimport ContractClientOptions = contract.ClientOptions;\n\nexport class SrbBridgeService extends ChainBridgeService {\n chainType: ChainType.SRB = ChainType.SRB;\n\n constructor(\n readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n readonly params: AllbridgeCoreSdkOptions,\n readonly api: AllbridgeCoreClient\n ) {\n super();\n }\n\n async buildRawTransactionSend(params: SendParams): Promise<RawTransaction> {\n const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);\n return await this.buildRawTransactionSendFromParams(txSendParams, params);\n }\n\n async buildRawTransactionSendFromParams(params: TxSendParamsSrb, sendParams?: SendParams): Promise<RawTransaction> {\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toChainId,\n toAccountAddress,\n toTokenAddress,\n fee,\n gasFeePaymentMethod,\n extraGas,\n } = params;\n\n let totalFee = fee;\n if (extraGas) {\n totalFee = Big(totalFee).plus(extraGas).toFixed();\n }\n const inclusionFee = await getSorobanInclusionFee(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));\n if (params.messenger === Messenger.CCTP_V2) {\n const contract = this.getContract(CctpBridgeContract, contractAddress, fromAccountAddress);\n const recipient =\n sendParams?.destinationToken.chainType === ChainType.SOLANA\n ? await getCctpSolTokenRecipientAddress(\n this.chainType,\n sendParams.toAccountAddress,\n sendParams.destinationToken.tokenAddress,\n this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL)\n )\n : toAccountAddress;\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_ABR) {\n throw new SdkError(\"SRB CCTPv2 bridge does not support ABR payment method\");\n }\n let cctpFee: { gas_amount: bigint; fee_token_amount: bigint };\n switch (gasFeePaymentMethod) {\n case FeePaymentMethod.WITH_NATIVE_CURRENCY:\n cctpFee = { gas_amount: BigInt(totalFee), fee_token_amount: 0n };\n break;\n case FeePaymentMethod.WITH_STABLECOIN:\n cctpFee = { gas_amount: 0n, fee_token_amount: BigInt(totalFee) };\n break;\n default:\n return assertNever(gasFeePaymentMethod, \"Unhandled FeePaymentMethod\");\n }\n\n return (\n await contract.bridge(\n {\n sender: fromAccountAddress,\n amount: BigInt(amount),\n recipient: Buffer.from(recipient),\n destination_chain_id: +toChainId,\n ...cctpFee,\n },\n { fee: inclusionFee as unknown as string }\n )\n ).toXDR();\n }\n\n const contract = this.getContract(BridgeContract, contractAddress, fromAccountAddress);\n let tx;\n switch (gasFeePaymentMethod) {\n case FeePaymentMethod.WITH_NATIVE_CURRENCY:\n tx = await contract.swap_and_bridge(\n {\n sender: fromAccountAddress,\n token: Address.contract(Buffer.from(fromTokenAddress)).toString(),\n amount: BigInt(amount),\n recipient: Buffer.from(toAccountAddress),\n destination_chain_id: +toChainId,\n receive_token: Buffer.from(toTokenAddress),\n nonce: getNonceBigInt(),\n gas_amount: BigInt(totalFee),\n fee_token_amount: BigInt(0),\n },\n { fee: inclusionFee }\n );\n break;\n case FeePaymentMethod.WITH_STABLECOIN:\n tx = await contract.swap_and_bridge(\n {\n sender: fromAccountAddress,\n token: Address.contract(Buffer.from(fromTokenAddress)).toString(),\n amount: BigInt(amount),\n recipient: Buffer.from(toAccountAddress),\n destination_chain_id: +toChainId,\n receive_token: Buffer.from(toTokenAddress),\n nonce: getNonceBigInt(),\n gas_amount: BigInt(0),\n fee_token_amount: BigInt(totalFee),\n },\n { fee: inclusionFee }\n );\n break;\n case FeePaymentMethod.WITH_ABR:\n throw new SdkError(\"SRB bridge does not support ABR payment method\");\n default: {\n return assertNever(gasFeePaymentMethod, \"Unhandled FeePaymentMethod\");\n }\n }\n\n return tx.toXDR();\n }\n\n /** @deprecated Do not use. */\n async buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction> {\n const txSwapParams = prepareTxSwapParams(this.chainType, params);\n return await this.buildRawTransactionSwapFromParams(txSwapParams);\n }\n\n /** @deprecated Do not use. */\n async buildRawTransactionSwapFromParams(params: TxSwapParamsSol): Promise<RawTransaction> {\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toAccountAddress,\n toTokenAddress,\n minimumReceiveAmount,\n } = params;\n const contract = this.getContract(BridgeContract, contractAddress, fromAccountAddress);\n const inclusionFee = await getSorobanInclusionFee(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));\n return (\n await contract.swap(\n {\n sender: fromAccountAddress,\n amount: BigInt(amount),\n token: Address.contract(Buffer.from(fromTokenAddress)).toBuffer(),\n receive_token: Buffer.from(toTokenAddress),\n recipient: toAccountAddress,\n receive_amount_min: BigInt(minimumReceiveAmount),\n },\n { fee: inclusionFee }\n )\n ).toXDR();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n send(params: SendParams): Promise<TransactionResponse> {\n throw new MethodNotSupportedError();\n }\n\n private getContract<T>(contract: new (args: ContractClientOptions) => T, address: string, sender?: string): T {\n const config: ContractClientOptions = {\n publicKey: sender,\n contractId: address,\n networkPassphrase: this.params.sorobanNetworkPassphrase,\n rpcUrl: this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB),\n };\n return new contract(config);\n }\n}\n"]}
|
|
@@ -34,7 +34,8 @@ export class DefaultLiquidityPoolService {
|
|
|
34
34
|
this.params = params;
|
|
35
35
|
this.tokenService = tokenService;
|
|
36
36
|
this.rawTxBuilder = new DefaultRawPoolTransactionBuilder(api, nodeRpcUrlsConfig, this.params, tokenService);
|
|
37
|
-
const
|
|
37
|
+
const cachePoolInfoChainSec = params.cachePoolInfoChainSec ?? 20;
|
|
38
|
+
const ttl = cachePoolInfoChainSec > 0 ? cachePoolInfoChainSec * 1000 : 20 * 1000;
|
|
38
39
|
this.cache = new Cache({ defaultTtl: ttl });
|
|
39
40
|
}
|
|
40
41
|
async getAllowance(a, b) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/liquidity-pool/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { AlgorandClient } from \"@algorandfoundation/algokit-utils\";\nimport { Algodv2 } from \"algosdk\";\nimport { Big } from \"big.js\";\nimport Cache from \"timed-cache\";\nimport { TronWeb } from \"tronweb\";\nimport { FMT_BYTES, FMT_NUMBER, Web3 } from \"web3\";\nimport { NodeRpcUrlsConfig } from \"..\";\nimport { Chains } from \"../../chains\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { AllbridgeCoreClientFiltered } from \"../../client/core-api/core-client-filtered\";\nimport { AllbridgeCoreSdkOptions, ChainType, EssentialWeb3 } from \"../../index\";\nimport { PoolInfo, PoolKeyObject, TokenWithChainDetails } from \"../../tokens-info\";\nimport { convertIntAmountToFloat, fromSystemPrecision } from \"../../utils/calculation\";\nimport { SYSTEM_PRECISION } from \"../../utils/calculation/constants\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, TransactionResponse } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { depositAmountToVUsd, vUsdToWithdrawalAmount } from \"../utils/calculation\";\nimport { AlgPoolService } from \"./alg\";\nimport { EvmPoolService } from \"./evm\";\nimport { ApproveParams, ChainPoolService, CheckAllowanceParams, GetAllowanceParams, UserBalanceInfo } from \"./models\";\nimport { DefaultRawPoolTransactionBuilder, RawPoolTransactionBuilder } from \"./raw-pool-transaction-builder\";\nimport { SolanaPoolService } from \"./sol\";\nimport { SrbPoolService } from \"./srb\";\nimport { StxPoolService } from \"./stx\";\nimport { SuiPoolService } from \"./sui\";\nimport { TronPoolService } from \"./trx\";\n\n/**\n * @deprecated Do not use.\n */\nexport interface LiquidityPoolService {\n /** @deprecated Do not use. */\n rawTxBuilder: RawPoolTransactionBuilder;\n\n /**\n * Get amount of tokens approved for poolInfo\n * @param provider - will be used to access the network\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n * @deprecated Do not use.\n */\n getAllowance(provider: Provider, params: GetAllowanceParams): Promise<string>;\n\n /**\n * Get amount of tokens approved for poolInfo\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n * @deprecated Do not use.\n */\n getAllowance(params: GetAllowanceParams): Promise<string>;\n\n /**\n * Check if the amount of approved tokens is enough\n * @param provider - will be used to access the network\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n * @deprecated Do not use.\n */\n checkAllowance(provider: Provider, params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * Check if the amount of approved tokens is enough\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n * @deprecated Do not use.\n */\n checkAllowance(params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawPoolTransactionBuilder.approve}<p>\n * Approve tokens usage by another address on chains\n * <p>\n * For ETH/USDT: due to specificity of the USDT contract:<br/>\n * If the current allowance is not 0, this function will perform an additional transaction to set allowance to 0 before setting the new allowance value.\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;\n\n /**\n * Calculates the amount of LP tokens that will be deposited\n * @param amount The float amount of tokens that will be sent\n * @param token\n * @param provider - will be used to access the network\n * @returns amount\n * @deprecated Do not use.\n */\n getAmountToBeDeposited(amount: string, token: TokenWithChainDetails, provider?: Provider): Promise<string>;\n\n /**\n * Calculates the amount of tokens will be withdrawn\n * @param amount The float amount of tokens that will be sent\n * @param accountAddress\n * @param token\n * @param provider - will be used to access the network\n * @returns amount\n * @deprecated Do not use.\n */\n getAmountToBeWithdrawn(\n amount: string,\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<string>;\n\n /**\n * Get User Balance Info on Liquidity poolInfo\n * @param accountAddress\n * @param token\n * @param provider\n * @returns UserBalanceInfo\n * @deprecated Do not use.\n */\n getUserBalanceInfo(\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<UserBalanceInfo>;\n\n /**\n * Gets information about the poolInfo from chain\n * @param token\n * @param provider - will be used to access the network\n * @returns poolInfo\n * @deprecated Do not use.\n */\n getPoolInfoFromChain(token: TokenWithChainDetails, provider?: Provider): Promise<Required<PoolInfo>>;\n}\n\n/**\n * @deprecated Do not use.\n */\nexport class DefaultLiquidityPoolService implements LiquidityPoolService {\n /** @deprecated Do not use. */\n public rawTxBuilder: RawPoolTransactionBuilder;\n private cache: Cache<PoolInfo>;\n\n constructor(\n private api: AllbridgeCoreClientFiltered,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService\n ) {\n this.rawTxBuilder = new DefaultRawPoolTransactionBuilder(api, nodeRpcUrlsConfig, this.params, tokenService);\n const ttl = params.cachePoolInfoChainSec > 0 ? params.cachePoolInfoChainSec * 1000 : 20 * 1000;\n this.cache = new Cache<PoolInfo>({ defaultTtl: ttl });\n }\n\n async getAllowance(a: Provider | GetAllowanceParams, b?: GetAllowanceParams): Promise<string> {\n if (b) {\n const provider = a as Provider;\n const params = b;\n return await this.tokenService.getAllowance({ ...params, spender: params.token.poolAddress }, provider);\n } else {\n const params = a as GetAllowanceParams;\n return await this.tokenService.getAllowance({ ...params, spender: params.token.poolAddress });\n }\n }\n\n async checkAllowance(a: Provider | CheckAllowanceParams, b?: CheckAllowanceParams): Promise<boolean> {\n if (b) {\n const provider = a as Provider;\n const params = b;\n return this.tokenService.checkAllowance({ ...params, spender: params.token.poolAddress }, provider);\n } else {\n const params = a as CheckAllowanceParams;\n return this.tokenService.checkAllowance({ ...params, spender: params.token.poolAddress });\n }\n }\n\n async approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse> {\n return this.tokenService.approve(provider, { ...approveData, spender: approveData.token.poolAddress });\n }\n\n async getAmountToBeDeposited(amount: string, token: TokenWithChainDetails, provider?: Provider): Promise<string> {\n validateAmountGtZero(amount);\n validateAmountDecimals(\"amount\", amount, token.decimals);\n const pool = await this.getPoolInfoFromChain(token, provider);\n const { vUsdBalance, tokenBalance, aValue, dValue } = pool;\n const vUsd = depositAmountToVUsd(amount, aValue, dValue, tokenBalance, vUsdBalance);\n return convertIntAmountToFloat(vUsd, SYSTEM_PRECISION).toFixed();\n }\n\n async getAmountToBeWithdrawn(\n amount: string,\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<string> {\n validateAmountGtZero(amount);\n validateAmountDecimals(\"amount\", amount, token.decimals);\n const pool = await this.getPoolInfoFromChain(token, provider);\n const tokenAmountInSP = vUsdToWithdrawalAmount(amount);\n const tokenAmount = fromSystemPrecision(tokenAmountInSP, token.decimals);\n const userBalanceInfo = await this.getUserBalanceInfo(accountAddress, token, provider);\n const earned = userBalanceInfo.earned(pool) || \"0\";\n const commonAmount = Big(tokenAmount).plus(earned).toFixed();\n return convertIntAmountToFloat(commonAmount, token.decimals).toFixed();\n }\n\n async getUserBalanceInfo(\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<UserBalanceInfo> {\n return getChainPoolService(\n token.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider\n ).getUserBalanceInfo(accountAddress, token);\n }\n\n async getPoolInfoFromChain(token: TokenWithChainDetails, provider?: Provider): Promise<PoolInfo> {\n const poolKey: PoolKeyObject = { chainSymbol: token.chainSymbol, poolAddress: token.poolAddress };\n const fromCache = this.cache.get(poolKey);\n if (fromCache) {\n return fromCache;\n } else {\n const poolInfo = await getChainPoolService(\n token.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider\n ).getPoolInfoFromChain(token);\n this.cache.put(poolKey, poolInfo);\n this.api.cachePut({ chainSymbol: token.chainSymbol, poolAddress: token.poolAddress }, poolInfo);\n return poolInfo;\n }\n }\n}\n\n/**\n * @deprecated Do not use.\n */\nexport function getChainPoolService(\n chainSymbol: string,\n api: AllbridgeCoreClient,\n nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n params: AllbridgeCoreSdkOptions,\n provider?: Provider\n): ChainPoolService {\n switch (Chains.getChainProperty(chainSymbol).chainType) {\n case ChainType.EVM: {\n if (provider) {\n return new EvmPoolService(provider as EssentialWeb3, api);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const web3 = new Web3(nodeRpcUrl);\n web3.defaultReturnFormat = { number: FMT_NUMBER.STR, bytes: FMT_BYTES.HEX };\n return new EvmPoolService(web3, api);\n }\n }\n case ChainType.TRX: {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const tronJsonRpc = params.tronJsonRpc;\n if (provider) {\n return new TronPoolService(provider as TronWeb, api, tronJsonRpc);\n } else {\n const tronWeb = new TronWeb({ fullHost: nodeRpcUrl });\n return new TronPoolService(tronWeb, api, tronJsonRpc);\n }\n }\n case ChainType.SOLANA: {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new SolanaPoolService(nodeRpcUrl, api);\n }\n case ChainType.SRB: {\n return new SrbPoolService(nodeRpcUrlsConfig, params, api);\n }\n case ChainType.SUI: {\n return new SuiPoolService(nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol), params, api);\n }\n case ChainType.ALG: {\n if (provider) {\n const algod = provider as Algodv2;\n const algorand = AlgorandClient.fromClients({ algod });\n return new AlgPoolService(algorand, api);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const algorand = AlgorandClient.fromConfig({\n algodConfig: { server: nodeRpcUrl },\n });\n return new AlgPoolService(algorand, api);\n }\n }\n case ChainType.STX: {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new StxPoolService(nodeRpcUrl, params, api);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/liquidity-pool/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { AlgorandClient } from \"@algorandfoundation/algokit-utils\";\nimport { Algodv2 } from \"algosdk\";\nimport { Big } from \"big.js\";\nimport Cache from \"timed-cache\";\nimport { TronWeb } from \"tronweb\";\nimport { FMT_BYTES, FMT_NUMBER, Web3 } from \"web3\";\nimport { NodeRpcUrlsConfig } from \"..\";\nimport { Chains } from \"../../chains\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { AllbridgeCoreClientFiltered } from \"../../client/core-api/core-client-filtered\";\nimport { AllbridgeCoreSdkOptions, ChainType, EssentialWeb3 } from \"../../index\";\nimport { PoolInfo, PoolKeyObject, TokenWithChainDetails } from \"../../tokens-info\";\nimport { convertIntAmountToFloat, fromSystemPrecision } from \"../../utils/calculation\";\nimport { SYSTEM_PRECISION } from \"../../utils/calculation/constants\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, TransactionResponse } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { depositAmountToVUsd, vUsdToWithdrawalAmount } from \"../utils/calculation\";\nimport { AlgPoolService } from \"./alg\";\nimport { EvmPoolService } from \"./evm\";\nimport { ApproveParams, ChainPoolService, CheckAllowanceParams, GetAllowanceParams, UserBalanceInfo } from \"./models\";\nimport { DefaultRawPoolTransactionBuilder, RawPoolTransactionBuilder } from \"./raw-pool-transaction-builder\";\nimport { SolanaPoolService } from \"./sol\";\nimport { SrbPoolService } from \"./srb\";\nimport { StxPoolService } from \"./stx\";\nimport { SuiPoolService } from \"./sui\";\nimport { TronPoolService } from \"./trx\";\n\n/**\n * @deprecated Do not use.\n */\nexport interface LiquidityPoolService {\n /** @deprecated Do not use. */\n rawTxBuilder: RawPoolTransactionBuilder;\n\n /**\n * Get amount of tokens approved for poolInfo\n * @param provider - will be used to access the network\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n * @deprecated Do not use.\n */\n getAllowance(provider: Provider, params: GetAllowanceParams): Promise<string>;\n\n /**\n * Get amount of tokens approved for poolInfo\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n * @deprecated Do not use.\n */\n getAllowance(params: GetAllowanceParams): Promise<string>;\n\n /**\n * Check if the amount of approved tokens is enough\n * @param provider - will be used to access the network\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n * @deprecated Do not use.\n */\n checkAllowance(provider: Provider, params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * Check if the amount of approved tokens is enough\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n * @deprecated Do not use.\n */\n checkAllowance(params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawPoolTransactionBuilder.approve}<p>\n * Approve tokens usage by another address on chains\n * <p>\n * For ETH/USDT: due to specificity of the USDT contract:<br/>\n * If the current allowance is not 0, this function will perform an additional transaction to set allowance to 0 before setting the new allowance value.\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;\n\n /**\n * Calculates the amount of LP tokens that will be deposited\n * @param amount The float amount of tokens that will be sent\n * @param token\n * @param provider - will be used to access the network\n * @returns amount\n * @deprecated Do not use.\n */\n getAmountToBeDeposited(amount: string, token: TokenWithChainDetails, provider?: Provider): Promise<string>;\n\n /**\n * Calculates the amount of tokens will be withdrawn\n * @param amount The float amount of tokens that will be sent\n * @param accountAddress\n * @param token\n * @param provider - will be used to access the network\n * @returns amount\n * @deprecated Do not use.\n */\n getAmountToBeWithdrawn(\n amount: string,\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<string>;\n\n /**\n * Get User Balance Info on Liquidity poolInfo\n * @param accountAddress\n * @param token\n * @param provider\n * @returns UserBalanceInfo\n * @deprecated Do not use.\n */\n getUserBalanceInfo(\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<UserBalanceInfo>;\n\n /**\n * Gets information about the poolInfo from chain\n * @param token\n * @param provider - will be used to access the network\n * @returns poolInfo\n * @deprecated Do not use.\n */\n getPoolInfoFromChain(token: TokenWithChainDetails, provider?: Provider): Promise<Required<PoolInfo>>;\n}\n\n/**\n * @deprecated Do not use.\n */\nexport class DefaultLiquidityPoolService implements LiquidityPoolService {\n /** @deprecated Do not use. */\n public rawTxBuilder: RawPoolTransactionBuilder;\n private cache: Cache<PoolInfo>;\n\n constructor(\n private api: AllbridgeCoreClientFiltered,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService\n ) {\n this.rawTxBuilder = new DefaultRawPoolTransactionBuilder(api, nodeRpcUrlsConfig, this.params, tokenService);\n const cachePoolInfoChainSec = params.cachePoolInfoChainSec ?? 20;\n const ttl = cachePoolInfoChainSec > 0 ? cachePoolInfoChainSec * 1000 : 20 * 1000;\n this.cache = new Cache<PoolInfo>({ defaultTtl: ttl });\n }\n\n async getAllowance(a: Provider | GetAllowanceParams, b?: GetAllowanceParams): Promise<string> {\n if (b) {\n const provider = a as Provider;\n const params = b;\n return await this.tokenService.getAllowance({ ...params, spender: params.token.poolAddress }, provider);\n } else {\n const params = a as GetAllowanceParams;\n return await this.tokenService.getAllowance({ ...params, spender: params.token.poolAddress });\n }\n }\n\n async checkAllowance(a: Provider | CheckAllowanceParams, b?: CheckAllowanceParams): Promise<boolean> {\n if (b) {\n const provider = a as Provider;\n const params = b;\n return this.tokenService.checkAllowance({ ...params, spender: params.token.poolAddress }, provider);\n } else {\n const params = a as CheckAllowanceParams;\n return this.tokenService.checkAllowance({ ...params, spender: params.token.poolAddress });\n }\n }\n\n async approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse> {\n return this.tokenService.approve(provider, { ...approveData, spender: approveData.token.poolAddress });\n }\n\n async getAmountToBeDeposited(amount: string, token: TokenWithChainDetails, provider?: Provider): Promise<string> {\n validateAmountGtZero(amount);\n validateAmountDecimals(\"amount\", amount, token.decimals);\n const pool = await this.getPoolInfoFromChain(token, provider);\n const { vUsdBalance, tokenBalance, aValue, dValue } = pool;\n const vUsd = depositAmountToVUsd(amount, aValue, dValue, tokenBalance, vUsdBalance);\n return convertIntAmountToFloat(vUsd, SYSTEM_PRECISION).toFixed();\n }\n\n async getAmountToBeWithdrawn(\n amount: string,\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<string> {\n validateAmountGtZero(amount);\n validateAmountDecimals(\"amount\", amount, token.decimals);\n const pool = await this.getPoolInfoFromChain(token, provider);\n const tokenAmountInSP = vUsdToWithdrawalAmount(amount);\n const tokenAmount = fromSystemPrecision(tokenAmountInSP, token.decimals);\n const userBalanceInfo = await this.getUserBalanceInfo(accountAddress, token, provider);\n const earned = userBalanceInfo.earned(pool) || \"0\";\n const commonAmount = Big(tokenAmount).plus(earned).toFixed();\n return convertIntAmountToFloat(commonAmount, token.decimals).toFixed();\n }\n\n async getUserBalanceInfo(\n accountAddress: string,\n token: TokenWithChainDetails,\n provider?: Provider\n ): Promise<UserBalanceInfo> {\n return getChainPoolService(\n token.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider\n ).getUserBalanceInfo(accountAddress, token);\n }\n\n async getPoolInfoFromChain(token: TokenWithChainDetails, provider?: Provider): Promise<PoolInfo> {\n const poolKey: PoolKeyObject = { chainSymbol: token.chainSymbol, poolAddress: token.poolAddress };\n const fromCache = this.cache.get(poolKey);\n if (fromCache) {\n return fromCache;\n } else {\n const poolInfo = await getChainPoolService(\n token.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider\n ).getPoolInfoFromChain(token);\n this.cache.put(poolKey, poolInfo);\n this.api.cachePut({ chainSymbol: token.chainSymbol, poolAddress: token.poolAddress }, poolInfo);\n return poolInfo;\n }\n }\n}\n\n/**\n * @deprecated Do not use.\n */\nexport function getChainPoolService(\n chainSymbol: string,\n api: AllbridgeCoreClient,\n nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n params: AllbridgeCoreSdkOptions,\n provider?: Provider\n): ChainPoolService {\n switch (Chains.getChainProperty(chainSymbol).chainType) {\n case ChainType.EVM: {\n if (provider) {\n return new EvmPoolService(provider as EssentialWeb3, api);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const web3 = new Web3(nodeRpcUrl);\n web3.defaultReturnFormat = { number: FMT_NUMBER.STR, bytes: FMT_BYTES.HEX };\n return new EvmPoolService(web3, api);\n }\n }\n case ChainType.TRX: {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const tronJsonRpc = params.tronJsonRpc;\n if (provider) {\n return new TronPoolService(provider as TronWeb, api, tronJsonRpc);\n } else {\n const tronWeb = new TronWeb({ fullHost: nodeRpcUrl });\n return new TronPoolService(tronWeb, api, tronJsonRpc);\n }\n }\n case ChainType.SOLANA: {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new SolanaPoolService(nodeRpcUrl, api);\n }\n case ChainType.SRB: {\n return new SrbPoolService(nodeRpcUrlsConfig, params, api);\n }\n case ChainType.SUI: {\n return new SuiPoolService(nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol), params, api);\n }\n case ChainType.ALG: {\n if (provider) {\n const algod = provider as Algodv2;\n const algorand = AlgorandClient.fromClients({ algod });\n return new AlgPoolService(algorand, api);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n const algorand = AlgorandClient.fromConfig({\n algodConfig: { server: nodeRpcUrl },\n });\n return new AlgPoolService(algorand, api);\n }\n }\n case ChainType.STX: {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new StxPoolService(nodeRpcUrl, params, api);\n }\n }\n}\n"]}
|
|
@@ -192,6 +192,32 @@ declare const artifact: {
|
|
|
192
192
|
readonly outputs: readonly [];
|
|
193
193
|
readonly stateMutability: "payable";
|
|
194
194
|
readonly type: "function";
|
|
195
|
+
}, {
|
|
196
|
+
readonly inputs: readonly [{
|
|
197
|
+
readonly internalType: "uint256";
|
|
198
|
+
readonly name: "amount";
|
|
199
|
+
readonly type: "uint256";
|
|
200
|
+
}, {
|
|
201
|
+
readonly internalType: "bytes32";
|
|
202
|
+
readonly name: "mintRecipient";
|
|
203
|
+
readonly type: "bytes32";
|
|
204
|
+
}, {
|
|
205
|
+
readonly internalType: "uint256";
|
|
206
|
+
readonly name: "destinationChainId";
|
|
207
|
+
readonly type: "uint256";
|
|
208
|
+
}, {
|
|
209
|
+
readonly internalType: "uint256";
|
|
210
|
+
readonly name: "relayerFeeTokenAmount";
|
|
211
|
+
readonly type: "uint256";
|
|
212
|
+
}, {
|
|
213
|
+
readonly internalType: "bytes";
|
|
214
|
+
readonly name: "hookData";
|
|
215
|
+
readonly type: "bytes";
|
|
216
|
+
}];
|
|
217
|
+
readonly name: "bridgeWithHook";
|
|
218
|
+
readonly outputs: readonly [];
|
|
219
|
+
readonly stateMutability: "payable";
|
|
220
|
+
readonly type: "function";
|
|
195
221
|
}, {
|
|
196
222
|
readonly inputs: readonly [{
|
|
197
223
|
readonly internalType: "uint256";
|
|
@@ -330,6 +356,20 @@ declare const artifact: {
|
|
|
330
356
|
}];
|
|
331
357
|
readonly stateMutability: "view";
|
|
332
358
|
readonly type: "function";
|
|
359
|
+
}, {
|
|
360
|
+
readonly inputs: readonly [{
|
|
361
|
+
readonly internalType: "uint256";
|
|
362
|
+
readonly name: "chainId";
|
|
363
|
+
readonly type: "uint256";
|
|
364
|
+
}];
|
|
365
|
+
readonly name: "otherBridges";
|
|
366
|
+
readonly outputs: readonly [{
|
|
367
|
+
readonly internalType: "bytes32";
|
|
368
|
+
readonly name: "cctpBridgeAddress";
|
|
369
|
+
readonly type: "bytes32";
|
|
370
|
+
}];
|
|
371
|
+
readonly stateMutability: "view";
|
|
372
|
+
readonly type: "function";
|
|
333
373
|
}, {
|
|
334
374
|
readonly inputs: readonly [{
|
|
335
375
|
readonly internalType: "address";
|
|
@@ -243,6 +243,39 @@ const artifact = {
|
|
|
243
243
|
stateMutability: "payable",
|
|
244
244
|
type: "function",
|
|
245
245
|
},
|
|
246
|
+
{
|
|
247
|
+
inputs: [
|
|
248
|
+
{
|
|
249
|
+
internalType: "uint256",
|
|
250
|
+
name: "amount",
|
|
251
|
+
type: "uint256",
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
internalType: "bytes32",
|
|
255
|
+
name: "mintRecipient",
|
|
256
|
+
type: "bytes32",
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
internalType: "uint256",
|
|
260
|
+
name: "destinationChainId",
|
|
261
|
+
type: "uint256",
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
internalType: "uint256",
|
|
265
|
+
name: "relayerFeeTokenAmount",
|
|
266
|
+
type: "uint256",
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
internalType: "bytes",
|
|
270
|
+
name: "hookData",
|
|
271
|
+
type: "bytes",
|
|
272
|
+
},
|
|
273
|
+
],
|
|
274
|
+
name: "bridgeWithHook",
|
|
275
|
+
outputs: [],
|
|
276
|
+
stateMutability: "payable",
|
|
277
|
+
type: "function",
|
|
278
|
+
},
|
|
246
279
|
{
|
|
247
280
|
inputs: [
|
|
248
281
|
{
|
|
@@ -425,6 +458,25 @@ const artifact = {
|
|
|
425
458
|
stateMutability: "view",
|
|
426
459
|
type: "function",
|
|
427
460
|
},
|
|
461
|
+
{
|
|
462
|
+
inputs: [
|
|
463
|
+
{
|
|
464
|
+
internalType: "uint256",
|
|
465
|
+
name: "chainId",
|
|
466
|
+
type: "uint256",
|
|
467
|
+
},
|
|
468
|
+
],
|
|
469
|
+
name: "otherBridges",
|
|
470
|
+
outputs: [
|
|
471
|
+
{
|
|
472
|
+
internalType: "bytes32",
|
|
473
|
+
name: "cctpBridgeAddress",
|
|
474
|
+
type: "bytes32",
|
|
475
|
+
},
|
|
476
|
+
],
|
|
477
|
+
stateMutability: "view",
|
|
478
|
+
type: "function",
|
|
479
|
+
},
|
|
428
480
|
{
|
|
429
481
|
inputs: [
|
|
430
482
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CctpBridge.js","sourceRoot":"","sources":["../../../../../src/services/models/abi/CctpBridge.ts"],"names":[],"mappings":"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","sourcesContent":["const artifact = {\n abi: [\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"chainPrecision_\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"tokenAddress\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"cctpMessenger_\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"cctpTransmitter_\",\n type: \"address\",\n },\n {\n internalType: \"contract IGasOracle\",\n name: \"gasOracle_\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"ReceivedExtraGas\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"ReceivedGas\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"newRecipient\",\n type: \"bytes32\",\n },\n ],\n name: \"RecipientReplaced\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"recipientWalletAddress\",\n type: \"bytes32\",\n },\n ],\n name: \"TokensSentExtras\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"recipient\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"receivedRelayerFeeFromGas\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"receivedRelayerFeeFromTokens\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"relayerFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"receivedRelayerFeeTokenAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"adminFeeTokenAmount\",\n type: \"uint256\",\n },\n ],\n name: \"TokensSent\",\n type: \"event\",\n },\n {\n stateMutability: \"payable\",\n type: \"fallback\",\n },\n {\n inputs: [],\n name: \"adminFeeShareBP\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"recipient\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"relayerFeeTokenAmount\",\n type: \"uint256\",\n },\n ],\n name: \"bridge\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"recipient\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"recipientWalletAddress\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"relayerFeeTokenAmount\",\n type: \"uint256\",\n },\n ],\n name: \"bridgeWithWalletAddress\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"chainId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"originalMessage\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"originalAttestation\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes32\",\n name: \"newRecipient\",\n type: \"bytes32\",\n },\n ],\n name: \"changeRecipient\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n ],\n name: \"gasUsage\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n ],\n name: \"getBridgingCostInTokens\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n ],\n name: \"getDomainByChainId\",\n outputs: [\n {\n internalType: \"uint32\",\n name: \"\",\n type: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n ],\n name: \"getTransactionCost\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"sourceChainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint64\",\n name: \"nonce\",\n type: \"uint64\",\n },\n ],\n name: \"isMessageProcessed\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"receiveTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n {\n internalType: \"uint32\",\n name: \"domain\",\n type: \"uint32\",\n },\n ],\n name: \"registerBridgeDestination\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"adminFeeShareBP_\",\n type: \"uint256\",\n },\n ],\n name: \"setAdminFeeShare\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IGasOracle\",\n name: \"gasOracle_\",\n type: \"address\",\n },\n ],\n name: \"setGasOracle\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasAmount\",\n type: \"uint256\",\n },\n ],\n name: \"setGasUsage\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n ],\n name: \"unregisterBridgeDestination\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"withdrawFeeInTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"withdrawGas\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n stateMutability: \"payable\",\n type: \"receive\",\n },\n ],\n} as const;\nexport default artifact;\n"]}
|
|
1
|
+
{"version":3,"file":"CctpBridge.js","sourceRoot":"","sources":["../../../../../src/services/models/abi/CctpBridge.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;IACf,GAAG,EAAE;QACH;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,qBAAqB;oBACnC,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,aAAa;SACpB;QACD;YACE,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,OAAO;SACd;QACD;YACE,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;SACd;QACD;YACE,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,OAAO;SACd;QACD;YACE,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,OAAO;SACd;QACD;YACE,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;SACd;QACD;YACE,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,2BAA2B;oBACjC,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,8BAA8B;oBACpC,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,+BAA+B;oBACrC,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,OAAO;SACd;QACD;YACE,eAAe,EAAE,SAAS;YAC1B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;YAC1B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,OAAO;iBACd;aACF;YACD,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;YAC1B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;YAC1B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,MAAM;oBACpB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,MAAM;iBACb;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,OAAO;YACb,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;gBACP;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,OAAO;iBACd;gBACD;oBACE,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,OAAO;iBACd;aACF;YACD,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;YAC1B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,qBAAqB;oBACnC,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,MAAM,EAAE;gBACN;oBACE,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,IAAI,EAAE,UAAU;SACjB;QACD;YACE,eAAe,EAAE,SAAS;YAC1B,IAAI,EAAE,SAAS;SAChB;KACF;CACO,CAAC;AACX,eAAe,QAAQ,CAAC","sourcesContent":["const artifact = {\n abi: [\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"chainPrecision_\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"tokenAddress\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"cctpMessenger_\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"cctpTransmitter_\",\n type: \"address\",\n },\n {\n internalType: \"contract IGasOracle\",\n name: \"gasOracle_\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"ReceivedExtraGas\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"ReceivedGas\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"newRecipient\",\n type: \"bytes32\",\n },\n ],\n name: \"RecipientReplaced\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"recipientWalletAddress\",\n type: \"bytes32\",\n },\n ],\n name: \"TokensSentExtras\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"recipient\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"receivedRelayerFeeFromGas\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"receivedRelayerFeeFromTokens\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"relayerFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"receivedRelayerFeeTokenAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"adminFeeTokenAmount\",\n type: \"uint256\",\n },\n ],\n name: \"TokensSent\",\n type: \"event\",\n },\n {\n stateMutability: \"payable\",\n type: \"fallback\",\n },\n {\n inputs: [],\n name: \"adminFeeShareBP\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"recipient\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"relayerFeeTokenAmount\",\n type: \"uint256\",\n },\n ],\n name: \"bridge\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"mintRecipient\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"relayerFeeTokenAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"hookData\",\n type: \"bytes\",\n },\n ],\n name: \"bridgeWithHook\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"recipient\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"recipientWalletAddress\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"relayerFeeTokenAmount\",\n type: \"uint256\",\n },\n ],\n name: \"bridgeWithWalletAddress\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"chainId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"originalMessage\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"originalAttestation\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes32\",\n name: \"newRecipient\",\n type: \"bytes32\",\n },\n ],\n name: \"changeRecipient\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n ],\n name: \"gasUsage\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"destinationChainId\",\n type: \"uint256\",\n },\n ],\n name: \"getBridgingCostInTokens\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n ],\n name: \"getDomainByChainId\",\n outputs: [\n {\n internalType: \"uint32\",\n name: \"\",\n type: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n ],\n name: \"getTransactionCost\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"sourceChainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint64\",\n name: \"nonce\",\n type: \"uint64\",\n },\n ],\n name: \"isMessageProcessed\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n ],\n name: \"otherBridges\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"cctpBridgeAddress\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"receiveTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n {\n internalType: \"uint32\",\n name: \"domain\",\n type: \"uint32\",\n },\n ],\n name: \"registerBridgeDestination\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"adminFeeShareBP_\",\n type: \"uint256\",\n },\n ],\n name: \"setAdminFeeShare\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IGasOracle\",\n name: \"gasOracle_\",\n type: \"address\",\n },\n ],\n name: \"setGasOracle\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasAmount\",\n type: \"uint256\",\n },\n ],\n name: \"setGasUsage\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"chainId_\",\n type: \"uint256\",\n },\n ],\n name: \"unregisterBridgeDestination\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"withdrawFeeInTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"withdrawGas\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n stateMutability: \"payable\",\n type: \"receive\",\n },\n ],\n} as const;\nexport default artifact;\n"]}
|