@wormhole-foundation/sdk-solana 3.9.0 → 3.10.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/chain.d.ts +2 -1
- package/dist/cjs/chain.d.ts.map +1 -1
- package/dist/cjs/chain.js +13 -1
- package/dist/cjs/chain.js.map +1 -1
- package/dist/esm/chain.d.ts +2 -1
- package/dist/esm/chain.d.ts.map +1 -1
- package/dist/esm/chain.js +14 -2
- package/dist/esm/chain.js.map +1 -1
- package/package.json +2 -2
package/dist/cjs/chain.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { ChainAddress, Network, UniversalOrNative } from '@wormhole-foundation/sdk-connect';
|
|
1
|
+
import type { ChainAddress, Network, TokenAddress, UniversalOrNative } from '@wormhole-foundation/sdk-connect';
|
|
2
2
|
import { ChainContext } from '@wormhole-foundation/sdk-connect';
|
|
3
3
|
import type { SolanaChains } from './types.js';
|
|
4
4
|
export declare class SolanaChain<N extends Network = Network, C extends SolanaChains = SolanaChains> extends ChainContext<N, C> {
|
|
5
5
|
getTokenAccount(address: UniversalOrNative<C>, token: UniversalOrNative<C>): Promise<ChainAddress<C>>;
|
|
6
|
+
isToken2022(token: TokenAddress<C>): Promise<boolean>;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=chain.d.ts.map
|
package/dist/cjs/chain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,OAAO,EACP,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,OAAO,EACP,YAAY,EACZ,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAY,MAAM,kCAAkC,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,qBAAa,WAAW,CACtB,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,YAAY,GAAG,YAAY,CACrC,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACX,eAAe,CAC5B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAmBZ,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CASrE"}
|
package/dist/cjs/chain.js
CHANGED
|
@@ -26,17 +26,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.SolanaChain = void 0;
|
|
27
27
|
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
28
28
|
const address_js_1 = require("./address.js");
|
|
29
|
+
const platform_js_1 = require("./platform.js");
|
|
30
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
29
31
|
class SolanaChain extends sdk_connect_1.ChainContext {
|
|
30
32
|
async getTokenAccount(address, token) {
|
|
31
33
|
const { getAssociatedTokenAddress } = await Promise.resolve().then(() => __importStar(require('@solana/spl-token')));
|
|
32
34
|
const mint = new address_js_1.SolanaAddress(token).unwrap();
|
|
33
35
|
const owner = new address_js_1.SolanaAddress(address).unwrap();
|
|
34
|
-
const
|
|
36
|
+
const rpc = await this.getRpc();
|
|
37
|
+
const tokenProgram = await platform_js_1.SolanaPlatform.getTokenProgramId(rpc, mint);
|
|
38
|
+
const ata = await getAssociatedTokenAddress(mint, owner, false, tokenProgram);
|
|
35
39
|
return {
|
|
36
40
|
chain: this.chain,
|
|
37
41
|
address: new address_js_1.SolanaAddress(ata.toString()),
|
|
38
42
|
};
|
|
39
43
|
}
|
|
44
|
+
async isToken2022(token) {
|
|
45
|
+
if ((0, sdk_connect_1.isNative)(token))
|
|
46
|
+
return false;
|
|
47
|
+
const mint = new address_js_1.SolanaAddress(token).unwrap();
|
|
48
|
+
const rpc = await this.getRpc();
|
|
49
|
+
const tokenProgram = await platform_js_1.SolanaPlatform.getTokenProgramId(rpc, mint);
|
|
50
|
+
return tokenProgram.equals(spl_token_1.TOKEN_2022_PROGRAM_ID);
|
|
51
|
+
}
|
|
40
52
|
}
|
|
41
53
|
exports.SolanaChain = SolanaChain;
|
|
42
54
|
//# sourceMappingURL=chain.js.map
|
package/dist/cjs/chain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,kEAA0E;AAC1E,6CAA6C;AAE7C,+CAA+C;AAC/C,iDAA0D;AAE1D,MAAa,WAGX,SAAQ,0BAAkB;IACjB,KAAK,CAAC,eAAe,CAC5B,OAA6B,EAC7B,KAA2B;QAE3B,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,0BAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,0BAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,4BAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,MAAM,yBAAyB,CACzC,IAAI,EACJ,KAAK,EACL,KAAK,EACL,YAAY,CACb,CAAC;QACF,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,0BAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAqB;SAC/D,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,KAAsB;QAC/C,IAAI,IAAA,sBAAQ,EAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAElC,MAAM,IAAI,GAAG,IAAI,0BAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,4BAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEvE,OAAO,YAAY,CAAC,MAAM,CAAC,iCAAqB,CAAC,CAAC;IACpD,CAAC;CACF;AAnCD,kCAmCC"}
|
package/dist/esm/chain.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { ChainAddress, Network, UniversalOrNative } from '@wormhole-foundation/sdk-connect';
|
|
1
|
+
import type { ChainAddress, Network, TokenAddress, UniversalOrNative } from '@wormhole-foundation/sdk-connect';
|
|
2
2
|
import { ChainContext } from '@wormhole-foundation/sdk-connect';
|
|
3
3
|
import type { SolanaChains } from './types.js';
|
|
4
4
|
export declare class SolanaChain<N extends Network = Network, C extends SolanaChains = SolanaChains> extends ChainContext<N, C> {
|
|
5
5
|
getTokenAccount(address: UniversalOrNative<C>, token: UniversalOrNative<C>): Promise<ChainAddress<C>>;
|
|
6
|
+
isToken2022(token: TokenAddress<C>): Promise<boolean>;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=chain.d.ts.map
|
package/dist/esm/chain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,OAAO,EACP,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,OAAO,EACP,YAAY,EACZ,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAY,MAAM,kCAAkC,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,qBAAa,WAAW,CACtB,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,YAAY,GAAG,YAAY,CACrC,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACX,eAAe,CAC5B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAmBZ,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CASrE"}
|
package/dist/esm/chain.js
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
import { ChainContext } from '@wormhole-foundation/sdk-connect';
|
|
1
|
+
import { ChainContext, isNative } from '@wormhole-foundation/sdk-connect';
|
|
2
2
|
import { SolanaAddress } from './address.js';
|
|
3
|
+
import { SolanaPlatform } from './platform.js';
|
|
4
|
+
import { TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
|
|
3
5
|
export class SolanaChain extends ChainContext {
|
|
4
6
|
async getTokenAccount(address, token) {
|
|
5
7
|
const { getAssociatedTokenAddress } = await import('@solana/spl-token');
|
|
6
8
|
const mint = new SolanaAddress(token).unwrap();
|
|
7
9
|
const owner = new SolanaAddress(address).unwrap();
|
|
8
|
-
const
|
|
10
|
+
const rpc = await this.getRpc();
|
|
11
|
+
const tokenProgram = await SolanaPlatform.getTokenProgramId(rpc, mint);
|
|
12
|
+
const ata = await getAssociatedTokenAddress(mint, owner, false, tokenProgram);
|
|
9
13
|
return {
|
|
10
14
|
chain: this.chain,
|
|
11
15
|
address: new SolanaAddress(ata.toString()),
|
|
12
16
|
};
|
|
13
17
|
}
|
|
18
|
+
async isToken2022(token) {
|
|
19
|
+
if (isNative(token))
|
|
20
|
+
return false;
|
|
21
|
+
const mint = new SolanaAddress(token).unwrap();
|
|
22
|
+
const rpc = await this.getRpc();
|
|
23
|
+
const tokenProgram = await SolanaPlatform.getTokenProgramId(rpc, mint);
|
|
24
|
+
return tokenProgram.equals(TOKEN_2022_PROGRAM_ID);
|
|
25
|
+
}
|
|
14
26
|
}
|
|
15
27
|
//# sourceMappingURL=chain.js.map
|
package/dist/esm/chain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,OAAO,WAGX,SAAQ,YAAkB;IACjB,KAAK,CAAC,eAAe,CAC5B,OAA6B,EAC7B,KAA2B;QAE3B,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,MAAM,yBAAyB,CACzC,IAAI,EACJ,KAAK,EACL,KAAK,EACL,YAAY,CACb,CAAC;QACF,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAqB;SAC/D,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,KAAsB;QAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAElC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEvE,OAAO,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wormhole-foundation/sdk-solana",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.10.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/wormhole-foundation/wormhole-sdk-ts.git"
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@coral-xyz/borsh": "0.29.0",
|
|
54
54
|
"@solana/spl-token": "0.3.9",
|
|
55
55
|
"@solana/web3.js": "^1.95.8",
|
|
56
|
-
"@wormhole-foundation/sdk-connect": "3.
|
|
56
|
+
"@wormhole-foundation/sdk-connect": "3.10.0",
|
|
57
57
|
"rpc-websockets": "^7.10.0"
|
|
58
58
|
},
|
|
59
59
|
"type": "module",
|