@lightprotocol/stateless.js 0.17.1 → 0.17.2-alpha.1

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.
Files changed (93) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/browser/actions/compress.d.ts +1 -1
  3. package/dist/cjs/browser/actions/create-account.d.ts +1 -1
  4. package/dist/cjs/browser/actions/decompress.d.ts +1 -1
  5. package/dist/cjs/browser/actions/transfer.d.ts +1 -1
  6. package/dist/cjs/browser/constants.d.ts +1 -1
  7. package/dist/cjs/browser/index.cjs +1 -12991
  8. package/dist/cjs/browser/index.cjs.map +1 -1
  9. package/dist/cjs/browser/index.d.ts +0 -2
  10. package/dist/cjs/browser/programs/index.d.ts +1 -0
  11. package/dist/cjs/browser/programs/layout.d.ts +25 -0
  12. package/dist/cjs/browser/programs/system.d.ts +1 -8
  13. package/dist/cjs/browser/rpc-interface.d.ts +167 -160
  14. package/dist/cjs/browser/rpc.d.ts +4 -2
  15. package/dist/cjs/browser/state/BN254.d.ts +1 -1
  16. package/dist/cjs/browser/state/compressed-account.d.ts +1 -1
  17. package/dist/cjs/browser/state/types.d.ts +1 -25
  18. package/dist/cjs/browser/test-helpers/merkle-tree/indexed-array.d.ts +1 -1
  19. package/dist/cjs/browser/test-helpers/test-rpc/get-compressed-accounts.d.ts +1 -1
  20. package/dist/cjs/browser/test-helpers/test-rpc/get-compressed-token-accounts.d.ts +3 -1
  21. package/dist/cjs/browser/test-helpers/test-rpc/test-rpc.d.ts +2 -1
  22. package/dist/cjs/browser/utils/conversion.d.ts +1 -1
  23. package/dist/cjs/browser/utils/validation.d.ts +1 -1
  24. package/dist/cjs/node/actions/compress.d.ts +1 -1
  25. package/dist/cjs/node/actions/create-account.d.ts +1 -1
  26. package/dist/cjs/node/actions/decompress.d.ts +1 -1
  27. package/dist/cjs/node/actions/transfer.d.ts +1 -1
  28. package/dist/cjs/node/constants.d.ts +1 -1
  29. package/dist/cjs/node/index.cjs +1 -10036
  30. package/dist/cjs/node/index.cjs.map +1 -1
  31. package/dist/cjs/node/index.d.ts +0 -2
  32. package/dist/cjs/node/programs/index.d.ts +1 -0
  33. package/dist/cjs/node/programs/layout.d.ts +25 -0
  34. package/dist/cjs/node/programs/system.d.ts +1 -8
  35. package/dist/cjs/node/rpc-interface.d.ts +167 -160
  36. package/dist/cjs/node/rpc.d.ts +4 -2
  37. package/dist/cjs/node/state/BN254.d.ts +1 -1
  38. package/dist/cjs/node/state/compressed-account.d.ts +1 -1
  39. package/dist/cjs/node/state/types.d.ts +1 -25
  40. package/dist/cjs/node/test-helpers/merkle-tree/indexed-array.d.ts +1 -1
  41. package/dist/cjs/node/test-helpers/test-rpc/get-compressed-accounts.d.ts +1 -1
  42. package/dist/cjs/node/test-helpers/test-rpc/get-compressed-token-accounts.d.ts +3 -1
  43. package/dist/cjs/node/test-helpers/test-rpc/test-rpc.d.ts +2 -1
  44. package/dist/cjs/node/utils/conversion.d.ts +1 -1
  45. package/dist/cjs/node/utils/validation.d.ts +1 -1
  46. package/dist/es/browser/actions/compress.d.ts +1 -1
  47. package/dist/es/browser/actions/create-account.d.ts +1 -1
  48. package/dist/es/browser/actions/decompress.d.ts +1 -1
  49. package/dist/es/browser/actions/transfer.d.ts +1 -1
  50. package/dist/es/browser/constants.d.ts +1 -1
  51. package/dist/es/browser/index.d.ts +0 -2
  52. package/dist/es/browser/index.js +1 -12911
  53. package/dist/es/browser/index.js.map +1 -1
  54. package/dist/es/browser/programs/index.d.ts +1 -0
  55. package/dist/es/browser/programs/layout.d.ts +25 -0
  56. package/dist/es/browser/programs/system.d.ts +1 -8
  57. package/dist/es/browser/rpc-interface.d.ts +167 -160
  58. package/dist/es/browser/rpc.d.ts +4 -2
  59. package/dist/es/browser/state/BN254.d.ts +1 -1
  60. package/dist/es/browser/state/compressed-account.d.ts +1 -1
  61. package/dist/es/browser/state/types.d.ts +1 -25
  62. package/dist/es/browser/test-helpers/merkle-tree/indexed-array.d.ts +1 -1
  63. package/dist/es/browser/test-helpers/test-rpc/get-compressed-accounts.d.ts +1 -1
  64. package/dist/es/browser/test-helpers/test-rpc/get-compressed-token-accounts.d.ts +3 -1
  65. package/dist/es/browser/test-helpers/test-rpc/test-rpc.d.ts +2 -1
  66. package/dist/es/browser/utils/conversion.d.ts +1 -1
  67. package/dist/es/browser/utils/validation.d.ts +1 -1
  68. package/dist/types/index.d.ts +1073 -6401
  69. package/package.json +17 -10
  70. package/dist/cjs/browser/idls/account_compression.d.ts +0 -1170
  71. package/dist/cjs/browser/idls/index.d.ts +0 -5
  72. package/dist/cjs/browser/idls/light_compressed_token.d.ts +0 -1792
  73. package/dist/cjs/browser/idls/light_registry.d.ts +0 -1293
  74. package/dist/cjs/browser/idls/light_system_program.d.ts +0 -1065
  75. package/dist/cjs/browser/wallet/index.d.ts +0 -1
  76. package/dist/cjs/browser/wallet/interface.d.ts +0 -25
  77. package/dist/cjs/browser/wallet/use-wallet.d.ts +0 -9
  78. package/dist/cjs/node/idls/account_compression.d.ts +0 -1170
  79. package/dist/cjs/node/idls/index.d.ts +0 -5
  80. package/dist/cjs/node/idls/light_compressed_token.d.ts +0 -1792
  81. package/dist/cjs/node/idls/light_registry.d.ts +0 -1293
  82. package/dist/cjs/node/idls/light_system_program.d.ts +0 -1065
  83. package/dist/cjs/node/wallet/index.d.ts +0 -1
  84. package/dist/cjs/node/wallet/interface.d.ts +0 -25
  85. package/dist/cjs/node/wallet/use-wallet.d.ts +0 -9
  86. package/dist/es/browser/idls/account_compression.d.ts +0 -1170
  87. package/dist/es/browser/idls/index.d.ts +0 -5
  88. package/dist/es/browser/idls/light_compressed_token.d.ts +0 -1792
  89. package/dist/es/browser/idls/light_registry.d.ts +0 -1293
  90. package/dist/es/browser/idls/light_system_program.d.ts +0 -1065
  91. package/dist/es/browser/wallet/index.d.ts +0 -1
  92. package/dist/es/browser/wallet/interface.d.ts +0 -25
  93. package/dist/es/browser/wallet/use-wallet.d.ts +0 -9
@@ -2,7 +2,7 @@ import { Connection, ConnectionConfig, PublicKey } from '@solana/web3.js';
2
2
  import { Buffer } from 'buffer';
3
3
  import { CompressedProofWithContext, CompressedTransaction, CompressionApiInterface, GetCompressedTokenAccountsByOwnerOrDelegateOptions, HexInputsForProver, ParsedTokenAccount, SignatureWithMetadata, LatestNonVotingSignatures, LatestNonVotingSignaturesPaginated, WithContext, GetCompressedAccountsByOwnerConfig, WithCursor, AddressWithTree, HashWithTree, CompressedMintTokenHolders, TokenBalance, PaginatedOptions } from './rpc-interface';
4
4
  import { MerkleContextWithMerkleProof, BN254, CompressedAccountWithMerkleContext, CompressedProof } from './state';
5
- import { BN } from '@coral-xyz/anchor';
5
+ import BN from 'bn.js';
6
6
  /** @internal */
7
7
  export declare function parseAccountData({ discriminator, data, dataHash, }: {
8
8
  discriminator: BN;
@@ -27,7 +27,7 @@ export declare function createRpc(endpointOrWeb3JsConnection?: string | Connecti
27
27
  /** @internal */
28
28
  export declare const rpcRequest: (rpcEndpoint: string, method: string, params?: any, convertToCamelCase?: boolean, debug?: boolean) => Promise<any>;
29
29
  /** @internal */
30
- export declare const proverRequest: (proverEndpoint: string, method: "inclusion" | "new-address" | "combined", params?: any, log?: boolean) => Promise<CompressedProof>;
30
+ export declare const proverRequest: (proverEndpoint: string, method: "inclusion" | "new-address" | "combined", params?: any, log?: boolean, publicInputHash?: BN | undefined) => Promise<CompressedProof>;
31
31
  export type NonInclusionMerkleProofInputs = {
32
32
  root: BN;
33
33
  value: BN;
@@ -60,6 +60,8 @@ export type NonInclusionJsonStruct = {
60
60
  };
61
61
  export declare function convertMerkleProofsWithContextToHex(merkleProofsWithContext: MerkleContextWithMerkleProof[]): HexInputsForProver[];
62
62
  export declare function convertNonInclusionMerkleProofInputsToHex(nonInclusionMerkleProofInputs: MerkleContextWithNewAddressProof[]): NonInclusionJsonStruct[];
63
+ import { LightWasm } from './test-helpers';
64
+ export declare function getPublicInputHash(accountProofs: MerkleContextWithMerkleProof[], accountHashes: BN254[], newAddressProofs: MerkleContextWithNewAddressProof[], lightWasm: LightWasm): BN;
63
65
  /**
64
66
  *
65
67
  */
@@ -1,4 +1,4 @@
1
- import { BN } from '@coral-xyz/anchor';
1
+ import BN from 'bn.js';
2
2
  import { Buffer } from 'buffer';
3
3
  /**
4
4
  * bignumber with <254-bit max size. Anchor serialization doesn't support native
@@ -1,4 +1,4 @@
1
- import { BN } from '@coral-xyz/anchor';
1
+ import BN from 'bn.js';
2
2
  import { PublicKey } from '@solana/web3.js';
3
3
  import { CompressedAccount, CompressedAccountData } from './types';
4
4
  import { BN254 } from './BN254';
@@ -1,4 +1,4 @@
1
- import { BN } from '@coral-xyz/anchor';
1
+ import BN from 'bn.js';
2
2
  import { PublicKey } from '@solana/web3.js';
3
3
  import { Buffer } from 'buffer';
4
4
  import { NewAddressParamsPacked } from '../utils';
@@ -73,30 +73,6 @@ export interface CompressedProof {
73
73
  b: number[];
74
74
  c: number[];
75
75
  }
76
- /**
77
- * Compressed-token types
78
- *
79
- * TODO: Token-related code should ideally not have to go into stateless.js.
80
- * Find a better altnerative way to extend the RPC.
81
- *
82
- */
83
- export type TokenTransferOutputData = {
84
- owner: PublicKey;
85
- amount: BN;
86
- lamports: BN | null;
87
- tlv: Buffer | null;
88
- };
89
- export type CompressedTokenInstructionDataTransfer = {
90
- proof: CompressedProof | null;
91
- mint: PublicKey;
92
- delegatedTransfer: null;
93
- inputTokenDataWithContext: InputTokenDataWithContext[];
94
- outputCompressedAccounts: TokenTransferOutputData[];
95
- isCompress: boolean;
96
- compressOrDecompressAmount: BN | null;
97
- cpiContext: null;
98
- lamportsChangeAccountMerkleTreeIndex: number | null;
99
- };
100
76
  export interface InputTokenDataWithContext {
101
77
  amount: BN;
102
78
  delegateIndex: number | null;
@@ -1,5 +1,5 @@
1
1
  import { LightWasm } from '../test-rpc/test-rpc';
2
- import { BN } from '@coral-xyz/anchor';
2
+ import BN from 'bn.js';
3
3
  export declare class IndexedElement {
4
4
  index: number;
5
5
  value: BN;
@@ -1,5 +1,5 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
- import { BN } from '@coral-xyz/anchor';
2
+ import BN from 'bn.js';
3
3
  import { Rpc } from '../../rpc';
4
4
  import { CompressedAccountWithMerkleContext } from '../../state';
5
5
  export declare function getCompressedAccountsByOwnerTest(rpc: Rpc, owner: PublicKey): Promise<CompressedAccountWithMerkleContext[]>;
@@ -1,8 +1,9 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
- import { BN } from '@coral-xyz/anchor';
2
+ import BN from 'bn.js';
3
3
  import { Rpc } from '../../rpc';
4
4
  import { ParsedTokenAccount, WithCursor } from '../../rpc-interface';
5
5
  import { CompressedAccount, PublicTransactionEvent } from '../../state';
6
+ import { Layout } from '@coral-xyz/borsh';
6
7
  type TokenData = {
7
8
  mint: PublicKey;
8
9
  owner: PublicKey;
@@ -11,6 +12,7 @@ type TokenData = {
11
12
  state: number;
12
13
  tlv: Buffer | null;
13
14
  };
15
+ export declare const TokenDataLayout: Layout<TokenData>;
14
16
  export type EventWithParsedTokenTlvData = {
15
17
  inputCompressedAccountHashes: number[][];
16
18
  outputCompressedAccounts: ParsedTokenAccount[];
@@ -1,5 +1,5 @@
1
1
  import { Connection, ConnectionConfig, PublicKey } from '@solana/web3.js';
2
- import { BN } from '@coral-xyz/anchor';
2
+ import BN from 'bn.js';
3
3
  import { AddressWithTree, CompressedMintTokenHolders, CompressedTransaction, GetCompressedAccountsByOwnerConfig, PaginatedOptions, HashWithTree, LatestNonVotingSignatures, LatestNonVotingSignaturesPaginated, SignatureWithMetadata, WithContext, WithCursor } from '../../rpc-interface';
4
4
  import { CompressedProofWithContext, CompressionApiInterface, GetCompressedTokenAccountsByOwnerOrDelegateOptions, ParsedTokenAccount, TokenBalance } from '../../rpc-interface';
5
5
  import { BN254, CompressedAccountWithMerkleContext, MerkleContextWithMerkleProof } from '../../state';
@@ -32,6 +32,7 @@ export interface TestRpcConfig {
32
32
  */
33
33
  addressQueueAddress?: PublicKey;
34
34
  }
35
+ export type ClientSubscriptionId = number;
35
36
  export interface LightWasm {
36
37
  blakeHash(input: string | Uint8Array, hashLength: number): Uint8Array;
37
38
  poseidonHash(input: string[] | BN[]): Uint8Array;
@@ -1,6 +1,6 @@
1
1
  import { Buffer } from 'buffer';
2
2
  import { Keypair } from '@solana/web3.js';
3
- import { BN } from '@coral-xyz/anchor';
3
+ import BN from 'bn.js';
4
4
  export declare function byteArrayToKeypair(byteArray: number[]): Keypair;
5
5
  /**
6
6
  * @internal
@@ -1,4 +1,4 @@
1
- import { BN } from '@coral-xyz/anchor';
1
+ import BN from 'bn.js';
2
2
  import { CompressedAccount, CompressedAccountWithMerkleContext } from '../state';
3
3
  export declare const validateSufficientBalance: (balance: BN) => void;
4
4
  export declare const validateSameOwner: (compressedAccounts: CompressedAccount[] | CompressedAccountWithMerkleContext[]) => void;
@@ -1,6 +1,6 @@
1
1
  import { ConfirmOptions, PublicKey, Signer, TransactionSignature } from '@solana/web3.js';
2
2
  import { Rpc } from '../rpc';
3
- import { BN } from '@coral-xyz/anchor';
3
+ import BN from 'bn.js';
4
4
  /**
5
5
  * Compress lamports to a solana address
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { ConfirmOptions, PublicKey, Signer, TransactionSignature } from '@solana/web3.js';
2
2
  import { Rpc } from '../rpc';
3
- import { BN } from '@coral-xyz/anchor';
3
+ import BN from 'bn.js';
4
4
  /**
5
5
  * Create compressed account with address
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { ConfirmOptions, PublicKey, Signer, TransactionSignature } from '@solana/web3.js';
2
2
  import { Rpc } from '../rpc';
3
- import { BN } from '@coral-xyz/anchor';
3
+ import BN from 'bn.js';
4
4
  /**
5
5
  * Decompress lamports into a solana account
6
6
  *
@@ -1,5 +1,5 @@
1
1
  import { ConfirmOptions, PublicKey, Signer, TransactionSignature } from '@solana/web3.js';
2
- import { BN } from '@coral-xyz/anchor';
2
+ import BN from 'bn.js';
3
3
  import { Rpc } from '../rpc';
4
4
  /**
5
5
  * Transfer compressed lamports from one owner to another
@@ -1,4 +1,4 @@
1
- import { BN } from '@coral-xyz/anchor';
1
+ import BN from 'bn.js';
2
2
  import { ConfirmOptions, PublicKey } from '@solana/web3.js';
3
3
  export declare const FIELD_SIZE: BN;
4
4
  export declare const HIGHEST_ADDRESS_PLUS_ONE: BN;
@@ -1,10 +1,8 @@
1
1
  export * from './actions';
2
- export * from './idls';
3
2
  export * from './instruction';
4
3
  export * from './programs';
5
4
  export * from './state';
6
5
  export * from './utils';
7
- export * from './wallet';
8
6
  export * from './constants';
9
7
  export * from './errors';
10
8
  export * from './rpc-interface';