@solana-program/token-wrap 1.0.0 → 2.0.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.
@@ -1,14 +1,9 @@
1
- import { Address, CompilableTransactionMessage, GetAccountInfoApi, Rpc, TransactionMessageWithBlockhashLifetime, TransactionSigner } from '@solana/kit';
1
+ import { Address, CompilableTransactionMessage, GetAccountInfoApi, IInstruction, Rpc, TransactionMessageWithBlockhashLifetime, TransactionSigner } from '@solana/kit';
2
2
  import { Blockhash } from '@solana/rpc-types';
3
3
  export interface SingleSignerUnwrapArgs {
4
4
  rpc: Rpc<GetAccountInfoApi>;
5
- blockhash: {
6
- blockhash: Blockhash;
7
- lastValidBlockHeight: bigint;
8
- };
9
5
  payer: TransactionSigner;
10
6
  wrappedTokenAccount: Address;
11
- unwrappedEscrow: Address;
12
7
  amount: bigint | number;
13
8
  recipientUnwrappedToken: Address;
14
9
  transferAuthority?: Address | TransactionSigner;
@@ -17,8 +12,6 @@ export interface SingleSignerUnwrapArgs {
17
12
  unwrappedTokenProgram?: Address;
18
13
  }
19
14
  interface UnwrapTxBuilderArgs {
20
- payer: TransactionSigner;
21
- unwrappedEscrow: Address;
22
15
  wrappedTokenAccount: Address;
23
16
  amount: bigint | number;
24
17
  wrappedMint: Address;
@@ -27,15 +20,11 @@ interface UnwrapTxBuilderArgs {
27
20
  recipientUnwrappedToken: Address;
28
21
  unwrappedTokenProgram: Address;
29
22
  wrappedTokenProgram: Address;
30
- blockhash: {
31
- blockhash: Blockhash;
32
- lastValidBlockHeight: bigint;
33
- };
34
23
  transferAuthority: Address | TransactionSigner;
35
24
  multiSigners?: TransactionSigner[];
36
25
  }
37
26
  export interface SingleSignerUnwrapResult {
38
- tx: CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime;
27
+ ixs: IInstruction[];
39
28
  recipientUnwrappedToken: Address;
40
29
  amount: bigint;
41
30
  }
@@ -43,9 +32,14 @@ export interface SingleSignerUnwrapResult {
43
32
  * Creates, signs (single signer or default authority), and sends an unwrap transaction.
44
33
  * Derives necessary PDAs and default accounts if not provided.
45
34
  */
46
- export declare function singleSignerUnwrapTx({ rpc, blockhash, payer, wrappedTokenAccount, unwrappedEscrow, amount, recipientUnwrappedToken, transferAuthority: inputTransferAuthority, unwrappedMint: inputUnwrappedMint, wrappedTokenProgram: inputWrappedTokenProgram, unwrappedTokenProgram: inputUnwrappedTokenProgram, }: SingleSignerUnwrapArgs): Promise<SingleSignerUnwrapResult>;
35
+ export declare function singleSignerUnwrap({ rpc, payer, wrappedTokenAccount, amount, recipientUnwrappedToken, transferAuthority: inputTransferAuthority, unwrappedMint: inputUnwrappedMint, wrappedTokenProgram: inputWrappedTokenProgram, unwrappedTokenProgram: inputUnwrappedTokenProgram, }: SingleSignerUnwrapArgs): Promise<SingleSignerUnwrapResult>;
47
36
  export interface MultiSignerUnWrapTxBuilderArgs extends UnwrapTxBuilderArgs {
37
+ payer: TransactionSigner;
38
+ blockhash: {
39
+ blockhash: Blockhash;
40
+ lastValidBlockHeight: bigint;
41
+ };
48
42
  multiSigners: TransactionSigner[];
49
43
  }
50
- export declare function multisigOfflineSignUnwrap(args: MultiSignerUnWrapTxBuilderArgs): CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime;
44
+ export declare function multisigOfflineSignUnwrap(args: MultiSignerUnWrapTxBuilderArgs): Promise<CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime>;
51
45
  export {};
@@ -1,45 +1,32 @@
1
- import { Address, CompilableTransactionMessage, FullySignedTransaction, GetAccountInfoApi, GetMinimumBalanceForRentExemptionApi, KeyPairSigner, Rpc, Transaction, TransactionMessageWithBlockhashLifetime, TransactionWithBlockhashLifetime } from '@solana/kit';
1
+ import { Address, FullySignedTransaction, GetAccountInfoApi, GetMinimumBalanceForRentExemptionApi, IInstruction, KeyPairSigner, Rpc, Transaction, TransactionWithBlockhashLifetime } from '@solana/kit';
2
+ import { Token } from '@solana-program/token-2022';
2
3
  import { Blockhash } from '@solana/rpc-types';
3
- export declare function createTokenAccountTx({ rpc, blockhash, payer, mint, owner, tokenProgram, }: {
4
+ import { Account } from '@solana/accounts';
5
+ export declare function createTokenAccount({ rpc, payer, mint, owner, tokenProgram, }: {
4
6
  rpc: Rpc<GetMinimumBalanceForRentExemptionApi>;
5
- blockhash: {
6
- blockhash: Blockhash;
7
- lastValidBlockHeight: bigint;
8
- };
9
7
  payer: KeyPairSigner;
10
8
  mint: Address;
11
9
  owner: Address;
12
10
  tokenProgram: Address;
13
11
  }): Promise<{
14
- tx: TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, import("@solana/kit").TransactionSigner<string>> & Omit<Readonly<{
15
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
16
- version: 0;
17
- }>, "feePayer">;
18
- keyPair: Readonly<{
19
- address: Address<string>;
20
- signMessages(messages: readonly import("@solana/kit").SignableMessage[], config?: import("@solana/kit").MessagePartialSignerConfig): Promise<readonly import("@solana/kit").SignatureDictionary[]>;
21
- }> & Readonly<{
22
- address: Address<string>;
23
- signTransactions(transactions: readonly Transaction[], config?: import("@solana/kit").TransactionPartialSignerConfig): Promise<readonly import("@solana/kit").SignatureDictionary[]>;
24
- }> & {
25
- keyPair: CryptoKeyPair;
26
- };
12
+ ixs: IInstruction[];
13
+ keyPair: KeyPairSigner;
27
14
  }>;
28
- export interface CreateEscrowAccountTxArgs {
15
+ export interface CreateEscrowAccountArgs {
29
16
  rpc: Rpc<GetAccountInfoApi & GetMinimumBalanceForRentExemptionApi>;
30
- blockhash: {
31
- blockhash: Blockhash;
32
- lastValidBlockHeight: bigint;
33
- };
34
17
  payer: KeyPairSigner;
35
18
  unwrappedMint: Address;
36
19
  wrappedTokenProgram: Address;
37
20
  }
38
- export interface CreateEscrowAccountTxResult {
39
- tx: CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime;
40
- keyPair: KeyPairSigner;
41
- }
42
- export declare function createEscrowAccountTx({ rpc, blockhash, payer, unwrappedMint, wrappedTokenProgram, }: CreateEscrowAccountTxArgs): Promise<CreateEscrowAccountTxResult>;
21
+ export type CreateEscrowAccountResult = {
22
+ kind: 'already_exists';
23
+ account: Account<Token>;
24
+ } | {
25
+ kind: 'instructions_to_create';
26
+ address: Address;
27
+ ixs: IInstruction[];
28
+ };
29
+ export declare function createEscrowAccount({ rpc, payer, unwrappedMint, wrappedTokenProgram, }: CreateEscrowAccountArgs): Promise<CreateEscrowAccountResult>;
43
30
  export declare function getOwnerFromAccount(rpc: Rpc<GetAccountInfoApi>, accountAddress: Address): Promise<Address>;
44
31
  export declare function getMintFromTokenAccount(rpc: Rpc<GetAccountInfoApi>, tokenAccountAddress: Address): Promise<Address>;
45
32
  export interface MultiSigCombineArgs {
@@ -1,36 +1,30 @@
1
- import { Address, CompilableTransactionMessage, GetAccountInfoApi, Rpc, TransactionMessageWithBlockhashLifetime, TransactionSigner } from '@solana/kit';
1
+ import { Address, CompilableTransactionMessage, GetAccountInfoApi, IInstruction, Rpc, TransactionMessageWithBlockhashLifetime, TransactionSigner } from '@solana/kit';
2
2
  import { Blockhash } from '@solana/rpc-types';
3
- interface TxBuilderArgs {
4
- payer: TransactionSigner;
3
+ interface IxBuilderArgs {
5
4
  unwrappedTokenAccount: Address;
6
- escrowAccount: Address;
7
5
  wrappedTokenProgram: Address;
8
6
  amount: bigint | number;
9
7
  wrappedMint: Address;
10
8
  wrappedMintAuthority: Address;
11
- blockhash: {
12
- blockhash: Blockhash;
13
- lastValidBlockHeight: bigint;
14
- };
15
9
  transferAuthority: Address | TransactionSigner;
16
10
  unwrappedMint: Address;
17
11
  recipientWrappedTokenAccount: Address;
18
12
  unwrappedTokenProgram: Address;
19
13
  multiSigners?: TransactionSigner[];
20
14
  }
21
- export interface MultiSignerWrapTxBuilderArgs extends TxBuilderArgs {
22
- multiSigners: TransactionSigner[];
23
- }
24
- export declare function multisigOfflineSignWrapTx(args: MultiSignerWrapTxBuilderArgs): CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime;
25
- export interface SingleSignerWrapArgs {
26
- rpc: Rpc<GetAccountInfoApi>;
15
+ export interface MultiSignerWrapIxBuilderArgs extends IxBuilderArgs {
16
+ payer: TransactionSigner;
27
17
  blockhash: {
28
18
  blockhash: Blockhash;
29
19
  lastValidBlockHeight: bigint;
30
20
  };
21
+ multiSigners: TransactionSigner[];
22
+ }
23
+ export declare function multisigOfflineSignWrap(args: MultiSignerWrapIxBuilderArgs): Promise<CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime>;
24
+ export interface SingleSignerWrapArgs {
25
+ rpc: Rpc<GetAccountInfoApi>;
31
26
  payer: TransactionSigner;
32
27
  unwrappedTokenAccount: Address;
33
- escrowAccount: Address;
34
28
  wrappedTokenProgram: Address;
35
29
  amount: bigint | number;
36
30
  transferAuthority?: Address | TransactionSigner;
@@ -39,10 +33,10 @@ export interface SingleSignerWrapArgs {
39
33
  unwrappedTokenProgram?: Address;
40
34
  }
41
35
  export interface SingleSignerWrapResult {
42
- tx: CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime;
36
+ ixs: IInstruction[];
43
37
  recipientWrappedTokenAccount: Address;
44
38
  escrowAccount: Address;
45
39
  amount: bigint;
46
40
  }
47
- export declare function singleSignerWrapTx({ rpc, blockhash, payer, unwrappedTokenAccount, escrowAccount, wrappedTokenProgram, amount, transferAuthority: inputTransferAuthority, unwrappedMint: inputUnwrappedMint, recipientWrappedTokenAccount: inputRecipientTokenAccount, unwrappedTokenProgram: inputUnwrappedTokenProgram, }: SingleSignerWrapArgs): Promise<SingleSignerWrapResult>;
41
+ export declare function singleSignerWrap({ rpc, payer, unwrappedTokenAccount, wrappedTokenProgram, amount, transferAuthority: inputTransferAuthority, unwrappedMint: inputUnwrappedMint, recipientWrappedTokenAccount: inputRecipientTokenAccount, unwrappedTokenProgram: inputUnwrappedTokenProgram, }: SingleSignerWrapArgs): Promise<SingleSignerWrapResult>;
48
42
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solana-program/token-wrap",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "Javascript helpers for interacting with the Solana Token Wrap program",
5
5
  "author": "Anza Maintainers <maintainers@anza.xyz>",
6
6
  "license": "Apache-2.0",
@@ -32,27 +32,28 @@
32
32
  "url": "https://github.com/solana-program/token-wrap/issues"
33
33
  },
34
34
  "peerDependencies": {
35
- "@solana/kit": "^2.1.0"
35
+ "@solana/kit": "^2.1.1"
36
36
  },
37
37
  "dependencies": {
38
38
  "@solana-program/system": "^0.7.0",
39
39
  "@solana-program/token": "^0.5.1",
40
- "@solana-program/token-2022": "^0.4.0",
41
- "@solana/rpc-types": "^2.1.0"
40
+ "@solana-program/token-2022": "^0.4.1",
41
+ "@solana/accounts": "^2.1.1",
42
+ "@solana/rpc-types": "^2.1.1"
42
43
  },
43
44
  "devDependencies": {
44
- "@eslint/js": "^9.22.0",
45
- "@solana/kit": "^2.1.0",
45
+ "@eslint/js": "^9.28.0",
46
+ "@solana/kit": "^2.1.1",
46
47
  "@tsconfig/strictest": "^2.0.5",
47
- "@types/node": "^22.13.10",
48
- "eslint": "^9.22.0",
49
- "eslint-config-prettier": "^10.1.1",
48
+ "@types/node": "^22.15.30",
49
+ "eslint": "^9.28.0",
50
+ "eslint-config-prettier": "^10.1.5",
50
51
  "prettier": "^3.5.3",
51
- "tsup": "^8.4.0",
52
+ "tsup": "^8.5.0",
52
53
  "tsx": "^4.19.3",
53
- "typedoc": "^0.28.1",
54
+ "typedoc": "^0.28.5",
54
55
  "typescript": "^5.8.2",
55
- "typescript-eslint": "^8.27.0"
56
+ "typescript-eslint": "^8.33.1"
56
57
  },
57
58
  "scripts": {
58
59
  "build": "tsc && tsup",