@wormhole-foundation/sdk-solana-tokenbridge 2.4.0 → 3.0.0-tb-exec.beta.0
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/cjs/executorTokenBridge.d.ts +31 -0
- package/dist/cjs/executorTokenBridge.d.ts.map +1 -0
- package/dist/cjs/executorTokenBridge.js +333 -0
- package/dist/cjs/executorTokenBridge.js.map +1 -0
- package/dist/cjs/executorTokenBridgeTypes.d.ts +999 -0
- package/dist/cjs/executorTokenBridgeTypes.d.ts.map +1 -0
- package/dist/cjs/executorTokenBridgeTypes.js +1001 -0
- package/dist/cjs/executorTokenBridgeTypes.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/executorTokenBridge.d.ts +31 -0
- package/dist/esm/executorTokenBridge.d.ts.map +1 -0
- package/dist/esm/executorTokenBridge.js +326 -0
- package/dist/esm/executorTokenBridge.js.map +1 -0
- package/dist/esm/executorTokenBridgeTypes.d.ts +999 -0
- package/dist/esm/executorTokenBridgeTypes.d.ts.map +1 -0
- package/dist/esm/executorTokenBridgeTypes.js +998 -0
- package/dist/esm/executorTokenBridgeTypes.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executorTokenBridgeTypes.js","sourceRoot":"","sources":["../../src/executorTokenBridgeTypes.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './tokenBridgeType.js';
|
|
2
2
|
export * from './automaticTokenBridgeType.js';
|
|
3
|
+
export * from './executorTokenBridgeTypes.js';
|
|
3
4
|
export * from './utils/index.js';
|
|
4
5
|
export * from './tokenBridge.js';
|
|
5
6
|
export * from './automaticTokenBridge.js';
|
|
7
|
+
export * from './executorTokenBridge.js';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAUA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,11 +18,15 @@ const sdk_solana_1 = require("@wormhole-foundation/sdk-solana");
|
|
|
18
18
|
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
19
19
|
const tokenBridge_js_1 = require("./tokenBridge.js");
|
|
20
20
|
const automaticTokenBridge_js_1 = require("./automaticTokenBridge.js");
|
|
21
|
+
const executorTokenBridge_js_1 = require("./executorTokenBridge.js");
|
|
21
22
|
(0, sdk_connect_1.registerProtocol)(sdk_solana_1._platform, 'TokenBridge', tokenBridge_js_1.SolanaTokenBridge);
|
|
22
23
|
(0, sdk_connect_1.registerProtocol)(sdk_solana_1._platform, 'AutomaticTokenBridge', automaticTokenBridge_js_1.SolanaAutomaticTokenBridge);
|
|
24
|
+
(0, sdk_connect_1.registerProtocol)(sdk_solana_1._platform, 'ExecutorTokenBridge', executorTokenBridge_js_1.SolanaExecutorTokenBridge);
|
|
23
25
|
__exportStar(require("./tokenBridgeType.js"), exports);
|
|
24
26
|
__exportStar(require("./automaticTokenBridgeType.js"), exports);
|
|
27
|
+
__exportStar(require("./executorTokenBridgeTypes.js"), exports);
|
|
25
28
|
__exportStar(require("./utils/index.js"), exports);
|
|
26
29
|
__exportStar(require("./tokenBridge.js"), exports);
|
|
27
30
|
__exportStar(require("./automaticTokenBridge.js"), exports);
|
|
31
|
+
__exportStar(require("./executorTokenBridge.js"), exports);
|
|
28
32
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA4D;AAC5D,kEAAoE;AACpE,qDAAqD;AACrD,uEAAuE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA4D;AAC5D,kEAAoE;AACpE,qDAAqD;AACrD,uEAAuE;AACvE,qEAAqE;AAErE,IAAA,8BAAgB,EAAC,sBAAS,EAAE,aAAa,EAAE,kCAAiB,CAAC,CAAC;AAC9D,IAAA,8BAAgB,EAAC,sBAAS,EAAE,sBAAsB,EAAE,oDAA0B,CAAC,CAAC;AAChF,IAAA,8BAAgB,EAAC,sBAAS,EAAE,qBAAqB,EAAE,kDAAyB,CAAC,CAAC;AAE9E,uDAAqC;AACrC,gEAA8C;AAC9C,gEAA8C;AAC9C,mDAAiC;AACjC,mDAAiC;AACjC,4DAA0C;AAC1C,2DAAyC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AccountAddress, ChainAddress, ChainsConfig, Contracts, Network, Platform, TokenAddress, TokenId, ExecutorTokenBridge } from '@wormhole-foundation/sdk-connect';
|
|
2
|
+
import type { SolanaChains } from '@wormhole-foundation/sdk-solana';
|
|
3
|
+
import { SolanaUnsignedTransaction } from '@wormhole-foundation/sdk-solana';
|
|
4
|
+
import { Program } from '@coral-xyz/anchor';
|
|
5
|
+
import type { AddressLookupTableAccount, Connection } from '@solana/web3.js';
|
|
6
|
+
import { PublicKey } from '@solana/web3.js';
|
|
7
|
+
import '@wormhole-foundation/sdk-solana-core';
|
|
8
|
+
import { ExecutorTokenBridgeRelayer } from './executorTokenBridgeTypes.js';
|
|
9
|
+
export declare class SolanaExecutorTokenBridge<N extends Network, C extends SolanaChains> implements ExecutorTokenBridge<N, C> {
|
|
10
|
+
readonly network: N;
|
|
11
|
+
readonly chain: C;
|
|
12
|
+
readonly connection: Connection;
|
|
13
|
+
readonly contracts: Contracts;
|
|
14
|
+
readonly relayerProgramId: PublicKey;
|
|
15
|
+
readonly executorProgramId: PublicKey;
|
|
16
|
+
readonly wormholeProgramId: PublicKey;
|
|
17
|
+
readonly tokenBridgeProgramId: PublicKey;
|
|
18
|
+
readonly relayerProgram: Program<ExecutorTokenBridgeRelayer>;
|
|
19
|
+
constructor(network: N, chain: C, connection: Connection, contracts: Contracts);
|
|
20
|
+
static fromRpc<N extends Network>(connection: Connection, config: ChainsConfig<N, Platform>): Promise<SolanaExecutorTokenBridge<N, SolanaChains>>;
|
|
21
|
+
transfer(sender: AccountAddress<C>, recipient: ChainAddress, token: TokenAddress<C>, amount: bigint, executorQuote: ExecutorTokenBridge.ExecutorQuote, referrerFee?: ExecutorTokenBridge.ReferrerFee): AsyncGenerator<SolanaUnsignedTransaction<N, C>>;
|
|
22
|
+
redeem(sender: AccountAddress<C>, vaa: ExecutorTokenBridge.VAA): AsyncGenerator<SolanaUnsignedTransaction<N, C>>;
|
|
23
|
+
getAddressLookupTable(): Promise<AddressLookupTableAccount | null>;
|
|
24
|
+
static associatedTokenAccountMinRent: bigint | undefined;
|
|
25
|
+
estimateMsgValueAndGasLimit(receivedToken: TokenId, recipient?: ChainAddress): Promise<{
|
|
26
|
+
msgValue: bigint;
|
|
27
|
+
gasLimit: bigint;
|
|
28
|
+
}>;
|
|
29
|
+
private createUnsignedTx;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=executorTokenBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executorTokenBridge.d.ts","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAW1C,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,KAAK,EACV,yBAAyB,EACzB,UAAU,EAEX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,SAAS,EAMV,MAAM,iBAAiB,CAAC;AASzB,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EACL,0BAA0B,EAE3B,MAAM,+BAA+B,CAAC;AAYvC,qBAAa,yBAAyB,CACpC,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,YAAY,CACtB,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAUlC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAX/B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACtC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAEzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;gBAGlD,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS;WAqBlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAe/C,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,mBAAmB,CAAC,aAAa,EAChD,WAAW,CAAC,EAAE,mBAAmB,CAAC,WAAW,GAC5C,cAAc,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA6P3C,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,GAAG,EAAE,mBAAmB,CAAC,GAAG,GAC3B,cAAc,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAiL5C,qBAAqB,IAAI,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAmBxE,MAAM,CAAC,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAa;IAE/D,2BAA2B,CAC/B,aAAa,EAAE,OAAO,EACtB,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAoDlD,OAAO,CAAC,gBAAgB;CAazB"}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { canonicalAddress, contracts, isNative, relayInstructionsLayout, serializeLayout, signedQuoteLayout, toChainId, toUniversal, } from '@wormhole-foundation/sdk-connect';
|
|
2
|
+
import { SolanaAddress, SolanaPlatform, SolanaUnsignedTransaction, } from '@wormhole-foundation/sdk-solana';
|
|
3
|
+
import { Program } from '@coral-xyz/anchor';
|
|
4
|
+
import { Keypair, PublicKey, SystemProgram, SYSVAR_CLOCK_PUBKEY, SYSVAR_RENT_PUBKEY, TransactionMessage, VersionedTransaction, } from '@solana/web3.js';
|
|
5
|
+
import { ASSOCIATED_TOKEN_PROGRAM_ID, NATIVE_MINT, createAssociatedTokenAccountIdempotentInstruction, createTransferInstruction, getAssociatedTokenAddressSync, } from '@solana/spl-token';
|
|
6
|
+
import '@wormhole-foundation/sdk-solana-core';
|
|
7
|
+
import BN from 'bn.js';
|
|
8
|
+
import { ExecutorTokenBridgeRelayerIdl, } from './executorTokenBridgeTypes.js';
|
|
9
|
+
import { SolanaWormholeCore, utils, } from '@wormhole-foundation/sdk-solana-core';
|
|
10
|
+
import { SolanaTokenBridge } from './tokenBridge.js';
|
|
11
|
+
import { deriveWrappedMetaKey, deriveEndpointKey, deriveMintAuthorityKey, } from './utils/index.js';
|
|
12
|
+
export class SolanaExecutorTokenBridge {
|
|
13
|
+
network;
|
|
14
|
+
chain;
|
|
15
|
+
connection;
|
|
16
|
+
contracts;
|
|
17
|
+
relayerProgramId;
|
|
18
|
+
executorProgramId;
|
|
19
|
+
wormholeProgramId;
|
|
20
|
+
tokenBridgeProgramId;
|
|
21
|
+
relayerProgram;
|
|
22
|
+
constructor(network, chain, connection, contracts) {
|
|
23
|
+
this.network = network;
|
|
24
|
+
this.chain = chain;
|
|
25
|
+
this.connection = connection;
|
|
26
|
+
this.contracts = contracts;
|
|
27
|
+
if (!contracts.executorTokenBridge)
|
|
28
|
+
throw new Error(`Executor Token Bridge contracts not found for network ${network} and chain ${chain}`);
|
|
29
|
+
this.relayerProgramId = new PublicKey(contracts.executorTokenBridge.relayer);
|
|
30
|
+
this.executorProgramId = new PublicKey(contracts.executor);
|
|
31
|
+
this.wormholeProgramId = new PublicKey(contracts.coreBridge);
|
|
32
|
+
this.tokenBridgeProgramId = new PublicKey(contracts.tokenBridge);
|
|
33
|
+
this.relayerProgram = new Program(ExecutorTokenBridgeRelayerIdl, this.relayerProgramId, { connection: this.connection });
|
|
34
|
+
}
|
|
35
|
+
static async fromRpc(connection, config) {
|
|
36
|
+
const [network, chain] = await SolanaPlatform.chainFromRpc(connection);
|
|
37
|
+
const conf = config[chain];
|
|
38
|
+
if (conf.network !== network)
|
|
39
|
+
throw new Error(`Network mismatch: ${conf.network} != ${network}`);
|
|
40
|
+
return new SolanaExecutorTokenBridge(network, chain, connection, conf.contracts);
|
|
41
|
+
}
|
|
42
|
+
async *transfer(sender, recipient, token, amount, executorQuote, referrerFee) {
|
|
43
|
+
const dstExecutor = contracts.executorTokenBridge.get(this.network, recipient.chain);
|
|
44
|
+
if (!dstExecutor || !dstExecutor.relayer) {
|
|
45
|
+
throw new Error(`Token Bridge Executor Relayer contract for domain ${recipient.chain} not found`);
|
|
46
|
+
}
|
|
47
|
+
const dstRelayer = dstExecutor.relayer;
|
|
48
|
+
const senderPubkey = new SolanaAddress(sender).unwrap();
|
|
49
|
+
const targetChain = toChainId(recipient.chain);
|
|
50
|
+
const targetRecipient = recipient.address.toUniversalAddress();
|
|
51
|
+
const { estimatedCost, signedQuote, relayInstructions } = executorQuote;
|
|
52
|
+
const signedQuoteBytes = serializeLayout(signedQuoteLayout, signedQuote);
|
|
53
|
+
const relayInstructionsBytes = serializeLayout(relayInstructionsLayout, relayInstructions);
|
|
54
|
+
const tokenBridge = new SolanaTokenBridge(this.network, this.chain, this.connection, this.contracts);
|
|
55
|
+
const isGasToken = isNative(token);
|
|
56
|
+
const isWrappedAsset = !isGasToken && (await tokenBridge.isWrappedAsset(token));
|
|
57
|
+
const mint = isGasToken ? NATIVE_MINT : new SolanaAddress(token).unwrap();
|
|
58
|
+
const tokenProgram = await SolanaPlatform.getTokenProgramId(this.connection, mint);
|
|
59
|
+
const payeePubkey = new PublicKey(signedQuote.quote.payeeAddress);
|
|
60
|
+
const messageKeypair = Keypair.generate();
|
|
61
|
+
const dstTransferRecipient = toUniversal(recipient.chain, dstRelayer);
|
|
62
|
+
const dstExecutionAddress = dstTransferRecipient;
|
|
63
|
+
// Derive PDAs
|
|
64
|
+
const tokenBridgeConfig = PublicKey.findProgramAddressSync([Buffer.from('config')], this.tokenBridgeProgramId)[0];
|
|
65
|
+
const tokenBridgeCustody = PublicKey.findProgramAddressSync([mint.toBuffer()], this.tokenBridgeProgramId)[0];
|
|
66
|
+
const tokenBridgeAuthoritySigner = PublicKey.findProgramAddressSync([Buffer.from('authority_signer')], this.tokenBridgeProgramId)[0];
|
|
67
|
+
const tokenBridgeCustodySigner = PublicKey.findProgramAddressSync([Buffer.from('custody_signer')], this.tokenBridgeProgramId)[0];
|
|
68
|
+
const { wormholeEmitter: tokenBridgeEmitterId, wormholeSequence: tokenBridgeSequence, wormholeFeeCollector, wormholeBridge, } = utils.getWormholeDerivedAccounts(this.tokenBridgeProgramId, this.wormholeProgramId);
|
|
69
|
+
const config = PublicKey.findProgramAddressSync([Buffer.from('sender')], this.relayerProgramId)[0];
|
|
70
|
+
const fromTokenAccount = getAssociatedTokenAddressSync(mint, senderPubkey, false, tokenProgram);
|
|
71
|
+
const tmpTokenAccount = PublicKey.findProgramAddressSync([Buffer.from('tmp'), mint.toBytes()], this.relayerProgramId)[0];
|
|
72
|
+
const instructions = [];
|
|
73
|
+
if (referrerFee && referrerFee.feeAmount > 0n) {
|
|
74
|
+
const referrer = new PublicKey(referrerFee.referrer.address.toString());
|
|
75
|
+
if (mint.equals(NATIVE_MINT)) {
|
|
76
|
+
instructions.push(SystemProgram.transfer({
|
|
77
|
+
fromPubkey: senderPubkey,
|
|
78
|
+
toPubkey: referrer,
|
|
79
|
+
lamports: referrerFee.feeAmount,
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
const referrerAta = getAssociatedTokenAddressSync(mint, referrer, true, tokenProgram);
|
|
84
|
+
const senderAta = getAssociatedTokenAddressSync(mint, senderPubkey, true, tokenProgram);
|
|
85
|
+
const referrerAtaAccount = await this.connection.getAccountInfo(referrerAta);
|
|
86
|
+
if (!referrerAtaAccount) {
|
|
87
|
+
instructions.push(createAssociatedTokenAccountIdempotentInstruction(senderPubkey, referrerAta, referrer, mint, tokenProgram));
|
|
88
|
+
}
|
|
89
|
+
instructions.push(createTransferInstruction(senderAta, referrerAta, senderPubkey, referrerFee.feeAmount, undefined, tokenProgram));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const transferAmount = referrerFee ? referrerFee.remainingAmount : amount;
|
|
93
|
+
// Build transfer instruction data
|
|
94
|
+
const transferArgs = {
|
|
95
|
+
amount: new BN(transferAmount.toString()),
|
|
96
|
+
recipientChain: targetChain,
|
|
97
|
+
recipientAddress: Array.from(targetRecipient.toUint8Array()),
|
|
98
|
+
nonce: 0,
|
|
99
|
+
dstTransferRecipient: Array.from(dstTransferRecipient.toUint8Array()),
|
|
100
|
+
dstExecutionAddress: Array.from(dstExecutionAddress.toUint8Array()),
|
|
101
|
+
execAmount: new BN(estimatedCost.toString()),
|
|
102
|
+
signedQuoteBytes: Buffer.from(signedQuoteBytes),
|
|
103
|
+
relayInstructions: Buffer.from(relayInstructionsBytes),
|
|
104
|
+
};
|
|
105
|
+
if (!isWrappedAsset) {
|
|
106
|
+
instructions.push(await this.relayerProgram.methods
|
|
107
|
+
.transferNativeTokensWithRelay({
|
|
108
|
+
...transferArgs,
|
|
109
|
+
wrapNative: isNative(token),
|
|
110
|
+
})
|
|
111
|
+
.accountsStrict({
|
|
112
|
+
payer: senderPubkey,
|
|
113
|
+
config,
|
|
114
|
+
mint,
|
|
115
|
+
fromTokenAccount,
|
|
116
|
+
tmpTokenAccount,
|
|
117
|
+
tokenBridgeConfig,
|
|
118
|
+
tokenBridgeCustody,
|
|
119
|
+
tokenBridgeAuthoritySigner,
|
|
120
|
+
tokenBridgeCustodySigner,
|
|
121
|
+
wormholeBridge,
|
|
122
|
+
wormholeMessage: messageKeypair.publicKey,
|
|
123
|
+
tokenBridgeEmitter: tokenBridgeEmitterId,
|
|
124
|
+
tokenBridgeSequence,
|
|
125
|
+
wormholeFeeCollector,
|
|
126
|
+
payee: payeePubkey,
|
|
127
|
+
systemProgram: SystemProgram.programId,
|
|
128
|
+
tokenProgram,
|
|
129
|
+
wormholeProgram: this.wormholeProgramId,
|
|
130
|
+
tokenBridgeProgram: this.tokenBridgeProgramId,
|
|
131
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
132
|
+
executorProgram: this.executorProgramId,
|
|
133
|
+
clock: SYSVAR_CLOCK_PUBKEY,
|
|
134
|
+
rent: SYSVAR_RENT_PUBKEY,
|
|
135
|
+
})
|
|
136
|
+
.instruction());
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
instructions.push(await this.relayerProgram.methods
|
|
140
|
+
.transferWrappedTokensWithRelay(transferArgs)
|
|
141
|
+
.accountsStrict({
|
|
142
|
+
payer: senderPubkey,
|
|
143
|
+
config,
|
|
144
|
+
tokenBridgeWrappedMint: mint,
|
|
145
|
+
fromTokenAccount,
|
|
146
|
+
tmpTokenAccount,
|
|
147
|
+
tokenBridgeWrappedMeta: deriveWrappedMetaKey(this.tokenBridgeProgramId, mint),
|
|
148
|
+
tokenBridgeConfig,
|
|
149
|
+
tokenBridgeAuthoritySigner,
|
|
150
|
+
wormholeBridge,
|
|
151
|
+
wormholeMessage: messageKeypair.publicKey,
|
|
152
|
+
tokenBridgeEmitter: tokenBridgeEmitterId,
|
|
153
|
+
tokenBridgeSequence,
|
|
154
|
+
wormholeFeeCollector,
|
|
155
|
+
payee: payeePubkey,
|
|
156
|
+
wormholeProgram: this.wormholeProgramId,
|
|
157
|
+
tokenBridgeProgram: this.tokenBridgeProgramId,
|
|
158
|
+
systemProgram: SystemProgram.programId,
|
|
159
|
+
tokenProgram,
|
|
160
|
+
executorProgram: this.executorProgramId,
|
|
161
|
+
clock: SYSVAR_CLOCK_PUBKEY,
|
|
162
|
+
rent: SYSVAR_RENT_PUBKEY,
|
|
163
|
+
})
|
|
164
|
+
.instruction());
|
|
165
|
+
}
|
|
166
|
+
// Build versioned transaction
|
|
167
|
+
const lut = await this.getAddressLookupTable();
|
|
168
|
+
const { blockhash } = await this.connection.getLatestBlockhash();
|
|
169
|
+
const messageV0 = new TransactionMessage({
|
|
170
|
+
payerKey: senderPubkey,
|
|
171
|
+
instructions,
|
|
172
|
+
recentBlockhash: blockhash,
|
|
173
|
+
}).compileToV0Message(lut ? [lut] : []);
|
|
174
|
+
const transaction = new VersionedTransaction(messageV0);
|
|
175
|
+
yield this.createUnsignedTx({ transaction, signers: [messageKeypair] }, 'ExecutorTokenBridge.transfer');
|
|
176
|
+
}
|
|
177
|
+
async *redeem(sender, vaa) {
|
|
178
|
+
const senderPubkey = new SolanaAddress(sender).unwrap();
|
|
179
|
+
const recipientPubkey = new SolanaAddress(vaa.payload.payload.targetRecipient).unwrap();
|
|
180
|
+
const tokenChain = vaa.payload.token.chain;
|
|
181
|
+
const tokenAddress = vaa.payload.token.address;
|
|
182
|
+
const isNativeToken = tokenChain === this.chain;
|
|
183
|
+
let mint;
|
|
184
|
+
if (isNativeToken) {
|
|
185
|
+
mint = new SolanaAddress(tokenAddress).unwrap();
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
// For wrapped tokens, derive the wrapped mint key using the token's origin chain
|
|
189
|
+
const tokenBridge = new SolanaTokenBridge(this.network, this.chain, this.connection, this.contracts);
|
|
190
|
+
const wrappedAsset = await tokenBridge.getWrappedAsset({
|
|
191
|
+
chain: tokenChain,
|
|
192
|
+
address: tokenAddress,
|
|
193
|
+
});
|
|
194
|
+
mint = new SolanaAddress(wrappedAsset).unwrap();
|
|
195
|
+
}
|
|
196
|
+
const tokenProgram = await SolanaPlatform.getTokenProgramId(this.connection, mint);
|
|
197
|
+
const recipientTokenAccount = getAssociatedTokenAddressSync(mint, recipientPubkey, true, tokenProgram);
|
|
198
|
+
// Post VAA if necessary
|
|
199
|
+
const postedVaaKey = utils.derivePostedVaaKey(this.wormholeProgramId, Buffer.from(vaa.hash));
|
|
200
|
+
const isPosted = await this.connection.getAccountInfo(postedVaaKey);
|
|
201
|
+
if (!isPosted) {
|
|
202
|
+
const wormholeCore = new SolanaWormholeCore(this.network, this.chain, this.connection, this.contracts);
|
|
203
|
+
yield* wormholeCore.postVaa(senderPubkey, vaa);
|
|
204
|
+
}
|
|
205
|
+
const dstRelayer = new SolanaAddress(vaa.payload.to.address).unwrap();
|
|
206
|
+
const dstRelayerProgram = new Program(ExecutorTokenBridgeRelayerIdl, dstRelayer, { connection: this.connection });
|
|
207
|
+
const config = PublicKey.findProgramAddressSync([Buffer.from('redeemer')], dstRelayerProgram.programId)[0];
|
|
208
|
+
const tokenBridgeConfig = PublicKey.findProgramAddressSync([Buffer.from('config')], this.tokenBridgeProgramId)[0];
|
|
209
|
+
const tmpTokenAccount = PublicKey.findProgramAddressSync([Buffer.from('tmp'), mint.toBytes()], dstRelayerProgram.programId)[0];
|
|
210
|
+
const tokenBridgeClaim = utils.deriveClaimKey(this.tokenBridgeProgramId, vaa.emitterAddress.toUint8Array(), toChainId(vaa.emitterChain), vaa.sequence);
|
|
211
|
+
const tokenBridgeForeignEndpoint = deriveEndpointKey(this.tokenBridgeProgramId, toChainId(vaa.emitterChain), vaa.emitterAddress.toUint8Array());
|
|
212
|
+
const tokenBridgeCustody = PublicKey.findProgramAddressSync([mint.toBuffer()], this.tokenBridgeProgramId)[0];
|
|
213
|
+
const tokenBridgeCustodySigner = PublicKey.findProgramAddressSync([Buffer.from('custody_signer')], this.tokenBridgeProgramId)[0];
|
|
214
|
+
let instruction;
|
|
215
|
+
const vaaHash = Array.from(vaa.hash);
|
|
216
|
+
if (isNativeToken) {
|
|
217
|
+
instruction = await dstRelayerProgram.methods
|
|
218
|
+
.completeNativeTransferWithRelay(vaaHash)
|
|
219
|
+
.accountsStrict({
|
|
220
|
+
payer: senderPubkey,
|
|
221
|
+
config,
|
|
222
|
+
mint,
|
|
223
|
+
recipientTokenAccount,
|
|
224
|
+
recipient: recipientPubkey,
|
|
225
|
+
tmpTokenAccount,
|
|
226
|
+
tokenBridgeConfig,
|
|
227
|
+
vaa: postedVaaKey,
|
|
228
|
+
tokenBridgeClaim,
|
|
229
|
+
tokenBridgeForeignEndpoint,
|
|
230
|
+
tokenBridgeCustody,
|
|
231
|
+
tokenBridgeCustodySigner,
|
|
232
|
+
wormholeProgram: this.wormholeProgramId,
|
|
233
|
+
tokenBridgeProgram: this.tokenBridgeProgramId,
|
|
234
|
+
tokenProgram,
|
|
235
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
236
|
+
systemProgram: SystemProgram.programId,
|
|
237
|
+
rent: SYSVAR_RENT_PUBKEY,
|
|
238
|
+
})
|
|
239
|
+
.instruction();
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
instruction = await dstRelayerProgram.methods
|
|
243
|
+
.completeWrappedTransferWithRelay(vaaHash)
|
|
244
|
+
.accountsStrict({
|
|
245
|
+
payer: senderPubkey,
|
|
246
|
+
config,
|
|
247
|
+
tokenBridgeWrappedMint: mint,
|
|
248
|
+
recipientTokenAccount,
|
|
249
|
+
recipient: recipientPubkey,
|
|
250
|
+
tmpTokenAccount,
|
|
251
|
+
tokenBridgeWrappedMeta: deriveWrappedMetaKey(this.tokenBridgeProgramId, mint),
|
|
252
|
+
tokenBridgeConfig,
|
|
253
|
+
vaa: postedVaaKey,
|
|
254
|
+
tokenBridgeClaim,
|
|
255
|
+
tokenBridgeForeignEndpoint,
|
|
256
|
+
tokenBridgeMintAuthority: deriveMintAuthorityKey(this.tokenBridgeProgramId),
|
|
257
|
+
wormholeProgram: this.wormholeProgramId,
|
|
258
|
+
tokenBridgeProgram: this.tokenBridgeProgramId,
|
|
259
|
+
tokenProgram,
|
|
260
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
261
|
+
systemProgram: SystemProgram.programId,
|
|
262
|
+
rent: SYSVAR_RENT_PUBKEY,
|
|
263
|
+
})
|
|
264
|
+
.instruction();
|
|
265
|
+
}
|
|
266
|
+
const { blockhash } = await this.connection.getLatestBlockhash();
|
|
267
|
+
const messageV0 = new TransactionMessage({
|
|
268
|
+
payerKey: senderPubkey,
|
|
269
|
+
instructions: [instruction],
|
|
270
|
+
recentBlockhash: blockhash,
|
|
271
|
+
}).compileToV0Message();
|
|
272
|
+
const transaction = new VersionedTransaction(messageV0);
|
|
273
|
+
yield this.createUnsignedTx({ transaction, signers: [] }, 'ExecutorTokenBridge.redeem');
|
|
274
|
+
}
|
|
275
|
+
async getAddressLookupTable() {
|
|
276
|
+
const lutPointer = PublicKey.findProgramAddressSync([Buffer.from('lut')], this.relayerProgramId)[0];
|
|
277
|
+
try {
|
|
278
|
+
const lutAddress = // @ts-ignore
|
|
279
|
+
(await this.relayerProgram.account.lut.fetch(lutPointer)).address;
|
|
280
|
+
const lut = await this.connection.getAddressLookupTable(lutAddress);
|
|
281
|
+
if (lut.value) {
|
|
282
|
+
return lut.value;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
catch { }
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
static associatedTokenAccountMinRent = undefined;
|
|
289
|
+
async estimateMsgValueAndGasLimit(receivedToken, recipient) {
|
|
290
|
+
let msgValue = 0n;
|
|
291
|
+
// These are estimates with some padding, actual values may vary
|
|
292
|
+
msgValue += 2n * 5000n + 7n * 5000n + 1400000n; // post vaa, 2 sigs + 7 Secp256k1 SigVerify Precompile + 1 sig account rent (59 bytes)
|
|
293
|
+
msgValue += 2n * 5000n + 7n * 5000n; // post vaa, 2 signatures + 7 Secp256k1 SigVerify Precompile
|
|
294
|
+
msgValue += 5000n + 3200000n; // core bridge post vaa account
|
|
295
|
+
// complete transfer
|
|
296
|
+
if (isNative(receivedToken.address) ||
|
|
297
|
+
canonicalAddress(receivedToken) === NATIVE_MINT.toString()) {
|
|
298
|
+
msgValue += 5000n + 5000000n;
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
msgValue += 5000n + 1200000n;
|
|
302
|
+
}
|
|
303
|
+
if (recipient) {
|
|
304
|
+
const recipientPk = new PublicKey(recipient.address.toString());
|
|
305
|
+
// The account creation cost is already accounted for when the mint is native
|
|
306
|
+
if (!isNative(receivedToken.address)) {
|
|
307
|
+
const mint = new SolanaAddress(receivedToken.address).unwrap();
|
|
308
|
+
const mintInfo = await this.connection.getAccountInfo(mint);
|
|
309
|
+
if (mintInfo === null)
|
|
310
|
+
throw new Error("Couldn't determine token program. Mint account is null.");
|
|
311
|
+
const ata = getAssociatedTokenAddressSync(mint, recipientPk, true, mintInfo.owner);
|
|
312
|
+
if ((await this.connection.getAccountInfo(ata)) === null) {
|
|
313
|
+
if (!SolanaExecutorTokenBridge.associatedTokenAccountMinRent) {
|
|
314
|
+
SolanaExecutorTokenBridge.associatedTokenAccountMinRent = BigInt(await this.connection.getMinimumBalanceForRentExemption(165));
|
|
315
|
+
}
|
|
316
|
+
msgValue += SolanaExecutorTokenBridge.associatedTokenAccountMinRent;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
return { msgValue, gasLimit: 310000n };
|
|
321
|
+
}
|
|
322
|
+
createUnsignedTx(txReq, description, parallelizable = false) {
|
|
323
|
+
return new SolanaUnsignedTransaction(txReq, this.network, this.chain, description, parallelizable);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=executorTokenBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executorTokenBridge.js","sourceRoot":"","sources":["../../src/executorTokenBridge.ts"],"names":[],"mappings":"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"}
|