@solana/transactions 2.0.0-experimental.f07dced → 2.0.0-experimental.f27be12

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 (53) hide show
  1. package/dist/index.browser.cjs +229 -113
  2. package/dist/index.browser.cjs.map +1 -1
  3. package/dist/index.browser.js +223 -115
  4. package/dist/index.browser.js.map +1 -1
  5. package/dist/index.development.js +282 -163
  6. package/dist/index.development.js.map +1 -1
  7. package/dist/index.native.js +225 -115
  8. package/dist/index.native.js.map +1 -1
  9. package/dist/index.node.cjs +229 -113
  10. package/dist/index.node.cjs.map +1 -1
  11. package/dist/index.node.js +223 -115
  12. package/dist/index.node.js.map +1 -1
  13. package/dist/index.production.min.js +16 -8
  14. package/dist/types/accounts.d.ts +2 -2
  15. package/dist/types/accounts.d.ts.map +1 -0
  16. package/dist/types/blockhash.d.ts +6 -1
  17. package/dist/types/blockhash.d.ts.map +1 -0
  18. package/dist/types/compile-address-table-lookups.d.ts +1 -1
  19. package/dist/types/compile-address-table-lookups.d.ts.map +1 -0
  20. package/dist/types/compile-header.d.ts.map +1 -0
  21. package/dist/types/compile-instructions.d.ts +1 -1
  22. package/dist/types/compile-instructions.d.ts.map +1 -0
  23. package/dist/types/compile-lifetime-token.d.ts.map +1 -0
  24. package/dist/types/compile-static-accounts.d.ts +1 -1
  25. package/dist/types/compile-static-accounts.d.ts.map +1 -0
  26. package/dist/types/compile-transaction.d.ts.map +1 -0
  27. package/dist/types/create-transaction.d.ts.map +1 -0
  28. package/dist/types/durable-nonce.d.ts +20 -7
  29. package/dist/types/durable-nonce.d.ts.map +1 -0
  30. package/dist/types/fee-payer.d.ts +3 -2
  31. package/dist/types/fee-payer.d.ts.map +1 -0
  32. package/dist/types/index.d.ts +1 -0
  33. package/dist/types/index.d.ts.map +1 -0
  34. package/dist/types/instructions.d.ts.map +1 -0
  35. package/dist/types/message.d.ts.map +1 -0
  36. package/dist/types/serializers/address-table-lookup.d.ts.map +1 -0
  37. package/dist/types/serializers/header.d.ts.map +1 -0
  38. package/dist/types/serializers/index.d.ts +2 -0
  39. package/dist/types/serializers/index.d.ts.map +1 -0
  40. package/dist/types/serializers/instruction.d.ts.map +1 -0
  41. package/dist/types/serializers/message.d.ts.map +1 -0
  42. package/dist/types/serializers/transaction-version.d.ts.map +1 -0
  43. package/dist/types/serializers/transaction.d.ts.map +1 -0
  44. package/dist/types/serializers/unimplemented.d.ts.map +1 -0
  45. package/dist/types/signatures.d.ts +13 -6
  46. package/dist/types/signatures.d.ts.map +1 -0
  47. package/dist/types/types.d.ts +7 -0
  48. package/dist/types/types.d.ts.map +1 -0
  49. package/dist/types/unsigned-transaction.d.ts +4 -0
  50. package/dist/types/unsigned-transaction.d.ts.map +1 -0
  51. package/dist/types/wire-transaction.d.ts +1 -1
  52. package/dist/types/wire-transaction.d.ts.map +1 -0
  53. package/package.json +18 -18
@@ -1,22 +1,35 @@
1
+ import { Base58EncodedAddress } from '@solana/addresses';
1
2
  import { IInstruction, IInstructionWithAccounts, IInstructionWithData } from '@solana/instructions';
2
3
  import { ReadonlyAccount, ReadonlySignerAccount, WritableAccount } from '@solana/instructions/dist/types/accounts';
3
- type AdvanceNonceAccountInstruction<TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string> = IInstruction<'11111111111111111111111111111111'> & IInstructionWithAccounts<[
4
+ import { ITransactionWithSignatures } from './signatures';
5
+ import { BaseTransaction } from './types';
6
+ type AdvanceNonceAccountInstruction<TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string> = IInstruction<'11111111111111111111111111111111'> & IInstructionWithAccounts<readonly [
4
7
  WritableAccount<TNonceAccountAddress>,
5
8
  ReadonlyAccount<'SysvarRecentB1ockHashes11111111111111111111'>,
6
9
  ReadonlySignerAccount<TNonceAuthorityAddress>
7
10
  ]> & IInstructionWithData<AdvanceNonceAccountInstructionData>;
8
11
  type AdvanceNonceAccountInstructionData = Uint8Array & {
9
- readonly __advanceNonceAccountInstructionData: unique symbol;
12
+ readonly __brand: unique symbol;
10
13
  };
11
- type NonceLifetimeConstraint = Readonly<{
12
- nonce: string;
14
+ type DurableNonceConfig<TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string, TNonceValue extends string = string> = Readonly<{
15
+ readonly nonce: Nonce<TNonceValue>;
16
+ readonly nonceAccountAddress: Base58EncodedAddress<TNonceAccountAddress>;
17
+ readonly nonceAuthorityAddress: Base58EncodedAddress<TNonceAuthorityAddress>;
13
18
  }>;
14
- export interface IDurableNonceTransaction<TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string> {
15
- readonly instructions: [
19
+ export type Nonce<TNonceValue extends string = string> = TNonceValue & {
20
+ readonly __brand: unique symbol;
21
+ };
22
+ type NonceLifetimeConstraint<TNonceValue extends string = string> = Readonly<{
23
+ nonce: Nonce<TNonceValue>;
24
+ }>;
25
+ export interface IDurableNonceTransaction<TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string, TNonceValue extends string = string> {
26
+ readonly instructions: readonly [
16
27
  AdvanceNonceAccountInstruction<TNonceAccountAddress, TNonceAuthorityAddress>,
17
28
  ...IInstruction[]
18
29
  ];
19
- readonly lifetimeConstraint: NonceLifetimeConstraint;
30
+ readonly lifetimeConstraint: NonceLifetimeConstraint<TNonceValue>;
20
31
  }
32
+ export declare function assertIsDurableNonceTransaction(transaction: BaseTransaction | (BaseTransaction & IDurableNonceTransaction)): asserts transaction is BaseTransaction & IDurableNonceTransaction;
33
+ export declare function setTransactionLifetimeUsingDurableNonce<TTransaction extends BaseTransaction, TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string, TNonceValue extends string = string>({ nonce, nonceAccountAddress, nonceAuthorityAddress, }: DurableNonceConfig<TNonceAccountAddress, TNonceAuthorityAddress, TNonceValue>, transaction: TTransaction | (TTransaction & IDurableNonceTransaction)): Omit<TTransaction, keyof ITransactionWithSignatures> & IDurableNonceTransaction<TNonceAccountAddress, TNonceAuthorityAddress, TNonceValue>;
21
34
  export {};
22
35
  //# sourceMappingURL=durable-nonce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-nonce.d.ts","sourceRoot":"","sources":["../../src/durable-nonce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAe,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEnH,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,KAAK,8BAA8B,CAC/B,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,IAC9C,YAAY,CAAC,kCAAkC,CAAC,GAChD,wBAAwB,CACpB,SAAS;IACL,eAAe,CAAC,oBAAoB,CAAC;IACrC,eAAe,CAAC,6CAA6C,CAAC;IAC9D,qBAAqB,CAAC,sBAAsB,CAAC;CAChD,CACJ,GACD,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;AAC7D,KAAK,kCAAkC,GAAG,UAAU,GAAG;IACnD,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC;CACnC,CAAC;AACF,KAAK,kBAAkB,CACnB,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,EAC9C,WAAW,SAAS,MAAM,GAAG,MAAM,IACnC,QAAQ,CAAC;IACT,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IACzE,QAAQ,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;CAChF,CAAC,CAAC;AACH,MAAM,MAAM,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,IAAI,WAAW,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAC3G,KAAK,uBAAuB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IACzE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC7B,CAAC,CAAC;AAOH,MAAM,WAAW,wBAAwB,CACrC,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,EAC9C,WAAW,SAAS,MAAM,GAAG,MAAM;IAEnC,QAAQ,CAAC,YAAY,EAAE,SAAS;QAE5B,8BAA8B,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;QAC5E,GAAG,YAAY,EAAE;KACpB,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;CACrE;AAED,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,eAAe,GAAG,CAAC,eAAe,GAAG,wBAAwB,CAAC,GAC5E,OAAO,CAAC,WAAW,IAAI,eAAe,GAAG,wBAAwB,CAKnE;AA2DD,wBAAgB,uCAAuC,CACnD,YAAY,SAAS,eAAe,EACpC,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,EAC9C,WAAW,SAAS,MAAM,GAAG,MAAM,EAEnC,EACI,KAAK,EACL,mBAAmB,EACnB,qBAAqB,GACxB,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAChF,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,wBAAwB,CAAC,GACtE,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,GACnD,wBAAwB,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAuBtF"}
@@ -1,8 +1,9 @@
1
- import { Base58EncodedAddress } from '@solana/keys';
1
+ import { Base58EncodedAddress } from '@solana/addresses';
2
2
  import { ITransactionWithSignatures } from './signatures';
3
3
  import { BaseTransaction } from './types';
4
4
  export interface ITransactionWithFeePayer<TAddress extends string = string> {
5
5
  readonly feePayer: Base58EncodedAddress<TAddress>;
6
6
  }
7
- export declare function setTransactionFeePayer<TFeePayerAddress extends string, TTransaction extends BaseTransaction>(feePayer: Base58EncodedAddress<TFeePayerAddress>, transaction: TTransaction | (TTransaction & ITransactionWithFeePayer<TFeePayerAddress>) | (TTransaction & ITransactionWithSignatures) | (TTransaction & ITransactionWithFeePayer<TFeePayerAddress> & ITransactionWithSignatures)): (TTransaction & ITransactionWithFeePayer<TFeePayerAddress>) | (Omit<TTransaction, keyof ITransactionWithSignatures> & ITransactionWithFeePayer<TFeePayerAddress>);
7
+ export declare function setTransactionFeePayer<TFeePayerAddress extends string, TTransaction extends BaseTransaction>(feePayer: Base58EncodedAddress<TFeePayerAddress>, transaction: (TTransaction & ITransactionWithSignatures) | (TTransaction & ITransactionWithFeePayer<string> & ITransactionWithSignatures)): Omit<TTransaction, keyof ITransactionWithSignatures> & ITransactionWithFeePayer<TFeePayerAddress>;
8
+ export declare function setTransactionFeePayer<TFeePayerAddress extends string, TTransaction extends BaseTransaction>(feePayer: Base58EncodedAddress<TFeePayerAddress>, transaction: TTransaction | (TTransaction & ITransactionWithFeePayer<string>)): TTransaction & ITransactionWithFeePayer<TFeePayerAddress>;
8
9
  //# sourceMappingURL=fee-payer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-payer.d.ts","sourceRoot":"","sources":["../../src/fee-payer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,wBAAwB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM;IACtE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;CACrD;AAED,wBAAgB,sBAAsB,CAAC,gBAAgB,SAAS,MAAM,EAAE,YAAY,SAAS,eAAe,EACxG,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAChD,WAAW,EACL,CAAC,YAAY,GAAG,0BAA0B,CAAC,GAC3C,CAAC,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,GAAG,0BAA0B,CAAC,GACrF,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;AAErG,wBAAgB,sBAAsB,CAAC,gBAAgB,SAAS,MAAM,EAAE,YAAY,SAAS,eAAe,EACxG,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,GAC9E,YAAY,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC"}
@@ -3,6 +3,7 @@ export * from './create-transaction';
3
3
  export * from './durable-nonce';
4
4
  export * from './fee-payer';
5
5
  export * from './instructions';
6
+ export * from './serializers';
6
7
  export * from './signatures';
7
8
  export * from './types';
8
9
  export * from './wire-transaction';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,wBAAgB,4BAA4B,CAAC,YAAY,SAAS,eAAe,EAC7E,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EACjD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,CAOrE;AAED,wBAAgB,6BAA6B,CAAC,YAAY,SAAS,eAAe,EAC9E,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EACjD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,CAOrE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,mBAAmB,GAAG,QAAQ,CAAC;IAChC,MAAM,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACpD,YAAY,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACzD,aAAa,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAC3D,cAAc,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;CAChE,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,eAAe,GACxC,wBAAwB,GACxB,CAAC,iCAAiC,GAAG,wBAAwB,CAAC,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;AAE/E,KAAK,qBAAqB,GAAG,mBAAmB,GAC5C,QAAQ,CAAC;IACL,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEP,KAAK,wBAAwB,GAAG,mBAAmB,GAC/C,QAAQ,CAAC;IACL,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEP,wBAAgB,cAAc,CAC1B,WAAW,EAAE,qBAAqB,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,GACrE,qBAAqB,CAAC;AACzB,wBAAgB,cAAc,CAAC,WAAW,EAAE,qBAAqB,GAAG,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-table-lookup.d.ts","sourceRoot":"","sources":["../../../src/serializers/address-table-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAiD,MAAM,sCAAsC,CAAC;AAGxH,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpF,wBAAgB,0BAA0B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAkD3E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/serializers/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEjE,wBAAgB,qBAAqB,IAAI,UAAU,CAAC,aAAa,CAAC,CA4CjE"}
@@ -0,0 +1,2 @@
1
+ export * from './transaction';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serializers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction.d.ts","sourceRoot":"","sources":["../../../src/serializers/instruction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,UAAU,EAAwB,MAAM,sCAAsC,CAAC;AAErH,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,wBAAgB,mBAAmB,IAAI,UAAU,CAAC,WAAW,CAAC,CAgE7D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/serializers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,UAAU,EAKb,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA8F7C,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,eAAe,CAAC,CAMvE;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,eAAe,CAAC,CAMvE;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAAC,eAAe,CAAC,CAMrE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-version.d.ts","sourceRoot":"","sources":["../../../src/serializers/transaction-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAiC9C,wBAAgB,4BAA4B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAM7E;AAED,wBAAgB,4BAA4B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAM7E;AAED,wBAAgB,0BAA0B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAM3E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/serializers/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAoB,MAAM,sCAAsC,CAAC;AAElG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AAgB5E,wBAAgB,qBAAqB,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAM3E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unimplemented.d.ts","sourceRoot":"","sources":["../../../src/serializers/unimplemented.ts"],"names":[],"mappings":"AAOA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,CAIjE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,CAIjE"}
@@ -1,12 +1,19 @@
1
- import { Base58EncodedAddress, Ed25519Signature } from '@solana/keys';
1
+ import { Base58EncodedAddress } from '@solana/addresses';
2
+ import { Ed25519Signature } from '@solana/keys';
3
+ import { ITransactionWithFeePayer } from './fee-payer';
2
4
  import { compileMessage } from './message';
3
5
  export interface IFullySignedTransaction extends ITransactionWithSignatures {
4
- readonly __fullySignedTransaction: unique symbol;
6
+ readonly __brand: unique symbol;
5
7
  }
6
8
  export interface ITransactionWithSignatures {
7
- readonly signatures: {
8
- readonly [publicKey: Base58EncodedAddress]: Ed25519Signature;
9
- };
9
+ readonly signatures: Readonly<Record<Base58EncodedAddress, Ed25519Signature>>;
10
10
  }
11
- export declare function signTransaction<TTransaction extends Parameters<typeof compileMessage>[0]>(keyPair: CryptoKeyPair, transaction: TTransaction | (TTransaction & ITransactionWithSignatures)): Promise<TTransaction & ITransactionWithSignatures>;
11
+ export type TransactionSignature = string & {
12
+ readonly __brand: unique symbol;
13
+ };
14
+ export declare function assertIsTransactionSignature(putativeTransactionSignature: string): asserts putativeTransactionSignature is TransactionSignature;
15
+ export declare function isTransactionSignature(putativeTransactionSignature: string): putativeTransactionSignature is TransactionSignature;
16
+ export declare function getSignatureFromTransaction(transaction: ITransactionWithFeePayer & ITransactionWithSignatures): TransactionSignature;
17
+ export declare function signTransaction<TTransaction extends Parameters<typeof compileMessage>[0]>(keyPairs: CryptoKeyPair[], transaction: TTransaction | (TTransaction & ITransactionWithSignatures)): Promise<TTransaction & ITransactionWithSignatures>;
18
+ export declare function transactionSignature(putativeTransactionSignature: string): TransactionSignature;
12
19
  //# sourceMappingURL=signatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../../src/signatures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAA2B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAmB,cAAc,EAAE,MAAM,WAAW,CAAC;AAG5D,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC;CACnC;AACD,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC;CACjF;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAEhF,wBAAgB,4BAA4B,CACxC,4BAA4B,EAAE,MAAM,GACrC,OAAO,CAAC,4BAA4B,IAAI,oBAAoB,CAsB9D;AAED,wBAAgB,sBAAsB,CAClC,4BAA4B,EAAE,MAAM,GACrC,4BAA4B,IAAI,oBAAoB,CAiBtD;AAQD,wBAAgB,2BAA2B,CACvC,WAAW,EAAE,wBAAwB,GAAG,0BAA0B,GACnE,oBAAoB,CAUtB;AAED,wBAAsB,eAAe,CAAC,YAAY,SAAS,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC3F,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,OAAO,CAAC,YAAY,GAAG,0BAA0B,CAAC,CAqBpD;AAED,wBAAgB,oBAAoB,CAAC,4BAA4B,EAAE,MAAM,GAAG,oBAAoB,CAG/F"}
@@ -1,4 +1,11 @@
1
1
  import { IAccountMeta, IInstruction } from '@solana/instructions';
2
+ /** A string of bytes that are definitely a serialized message */
3
+ export type SerializedMessageBytes = Uint8Array & {
4
+ readonly __serializedMessageBytes: unique symbol;
5
+ };
6
+ export type SerializedMessageBytesBase64 = string & {
7
+ readonly __serializedMessageBytesBase64: unique symbol;
8
+ };
2
9
  export type BaseTransaction = Readonly<{
3
10
  instructions: readonly IInstruction[];
4
11
  version: TransactionVersion;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAElE,iEAAiE;AACjE,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,wBAAwB,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AACvG,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,8BAA8B,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAE/G,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACnC,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC;IACtC,OAAO,EAAE,kBAAkB,CAAC;CAC/B,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,eAAe,GACpC,QAAQ,CAAC;IACL,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAClD,QAAQ,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEP,KAAK,aAAa,GAAG,eAAe,GAChC,QAAQ,CAAC;IACL,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC;CACd,CAAC,CAAC;AAEP,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ITransactionWithSignatures } from '.';
2
+ import { BaseTransaction } from './types';
3
+ export declare function getUnsignedTransaction<TTransaction extends BaseTransaction>(transaction: TTransaction | (TTransaction & ITransactionWithSignatures)): TTransaction | Omit<TTransaction & ITransactionWithSignatures, keyof ITransactionWithSignatures>;
4
+ //# sourceMappingURL=unsigned-transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsigned-transaction.d.ts","sourceRoot":"","sources":["../../src/unsigned-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,sBAAsB,CAAC,YAAY,SAAS,eAAe,EACvE,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,0BAA0B,EAAE,MAAM,0BAA0B,CAAC,CAWlG"}
@@ -1,6 +1,6 @@
1
1
  import { getTransactionEncoder } from './serializers/transaction';
2
2
  export type Base64EncodedWireTransaction = string & {
3
- readonly __base64EncodedWireTransaction: unique symbol;
3
+ readonly __brand: unique symbol;
4
4
  };
5
5
  export declare function getBase64EncodedWireTransaction(transaction: Parameters<ReturnType<typeof getTransactionEncoder>['serialize']>[0]): Base64EncodedWireTransaction;
6
6
  //# sourceMappingURL=wire-transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-transaction.d.ts","sourceRoot":"","sources":["../../src/wire-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAClF,4BAA4B,CAO9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solana/transactions",
3
- "version": "2.0.0-experimental.f07dced",
3
+ "version": "2.0.0-experimental.f27be12",
4
4
  "description": "Helpers for creating and serializing transactions",
5
5
  "exports": {
6
6
  "browser": {
@@ -46,29 +46,28 @@
46
46
  "maintained node versions"
47
47
  ],
48
48
  "dependencies": {
49
- "@metaplex-foundation/umi-serializers": "^0.8.5",
50
- "@solana/keys": "2.0.0-experimental.f07dced"
49
+ "@metaplex-foundation/umi-serializers": "^0.8.9",
50
+ "@solana/addresses": "2.0.0-experimental.f27be12",
51
+ "@solana/keys": "2.0.0-experimental.f27be12"
51
52
  },
52
53
  "devDependencies": {
53
54
  "@solana/eslint-config-solana": "^1.0.2",
54
- "@swc/core": "^1.3.18",
55
- "@swc/jest": "^0.2.23",
56
- "@types/jest": "^29.5.2",
57
- "@typescript-eslint/eslint-plugin": "^6.0.0",
58
- "@typescript-eslint/parser": "^6.0.0",
55
+ "@swc/jest": "^0.2.28",
56
+ "@types/jest": "^29.5.5",
57
+ "@types/node": "^20.6.3",
58
+ "@typescript-eslint/eslint-plugin": "^6.7.0",
59
+ "@typescript-eslint/parser": "^6.3.0",
59
60
  "agadoo": "^3.0.0",
60
61
  "eslint": "^8.45.0",
61
62
  "eslint-plugin-sort-keys-fix": "^1.1.2",
62
- "jest": "^29.6.1",
63
- "jest-runner-eslint": "^2.0.0",
63
+ "jest": "^29.7.0",
64
+ "jest-runner-eslint": "^2.1.0",
64
65
  "jest-runner-prettier": "^1.0.0",
65
- "postcss": "^8.4.12",
66
- "prettier": "^2.7.1",
67
- "ts-node": "^10.9.1",
68
- "tsup": "6.7.0",
69
- "typescript": "^5.1.6",
66
+ "prettier": "^2.8",
67
+ "tsup": "7.2.0",
68
+ "typescript": "^5.2.2",
70
69
  "version-from-git": "^1.1.1",
71
- "@solana/instructions": "2.0.0-experimental.f07dced",
70
+ "@solana/instructions": "2.0.0-experimental.f27be12",
72
71
  "build-scripts": "0.0.0",
73
72
  "test-config": "0.0.0",
74
73
  "test-matchers": "0.0.0",
@@ -87,11 +86,12 @@
87
86
  "compile:typedefs": "tsc -p ./tsconfig.declarations.json",
88
87
  "dev": "jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch",
89
88
  "publish-packages": "pnpm publish --tag experimental --access public --no-git-checks",
89
+ "style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/*",
90
90
  "test:lint": "jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent",
91
91
  "test:prettier": "jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent",
92
92
  "test:treeshakability:browser": "agadoo dist/index.browser.js",
93
- "test:treeshakability:native": "agadoo dist/index.node.js",
94
- "test:treeshakability:node": "agadoo dist/index.native.js",
93
+ "test:treeshakability:native": "agadoo dist/index.native.js",
94
+ "test:treeshakability:node": "agadoo dist/index.node.js",
95
95
  "test:typecheck": "tsc --noEmit",
96
96
  "test:unit:browser": "jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent",
97
97
  "test:unit:node": "jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent"