@dexterai/vault 0.3.4 → 0.4.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.
@@ -25,6 +25,7 @@ __export(constants_exports, {
25
25
  ED25519_PROGRAM_ID: () => ED25519_PROGRAM_ID,
26
26
  INSTRUCTIONS_SYSVAR_ID: () => INSTRUCTIONS_SYSVAR_ID,
27
27
  OTS_SESSION_REGISTER_V1_DOMAIN: () => OTS_SESSION_REGISTER_V1_DOMAIN,
28
+ OTS_SESSION_REGISTER_V2_DOMAIN: () => OTS_SESSION_REGISTER_V2_DOMAIN,
28
29
  OTS_SESSION_REVOKE_V1_DOMAIN: () => OTS_SESSION_REVOKE_V1_DOMAIN,
29
30
  SECP256R1_PROGRAM_ID: () => SECP256R1_PROGRAM_ID,
30
31
  SWIG_PROGRAM_ID: () => SWIG_PROGRAM_ID,
@@ -71,6 +72,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
71
72
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
72
73
  return buf;
73
74
  })();
75
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
76
+ const buf = new Uint8Array(32);
77
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
78
+ return buf;
79
+ })();
74
80
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
75
81
  const buf = new Uint8Array(32);
76
82
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -83,6 +89,7 @@ var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
83
89
  ED25519_PROGRAM_ID,
84
90
  INSTRUCTIONS_SYSVAR_ID,
85
91
  OTS_SESSION_REGISTER_V1_DOMAIN,
92
+ OTS_SESSION_REGISTER_V2_DOMAIN,
86
93
  OTS_SESSION_REVOKE_V1_DOMAIN,
87
94
  SECP256R1_PROGRAM_ID,
88
95
  SWIG_PROGRAM_ID,
@@ -29,6 +29,7 @@ declare const DISCRIMINATORS: Readonly<{
29
29
  revoke_session_key: Uint8Array<ArrayBuffer>;
30
30
  }>;
31
31
  declare const OTS_SESSION_REGISTER_V1_DOMAIN: Uint8Array;
32
+ declare const OTS_SESSION_REGISTER_V2_DOMAIN: Uint8Array;
32
33
  declare const OTS_SESSION_REVOKE_V1_DOMAIN: Uint8Array;
33
34
 
34
- export { DEXTER_VAULT_PROGRAM_ID, DISCRIMINATORS, ED25519_PROGRAM_ID, INSTRUCTIONS_SYSVAR_ID, OTS_SESSION_REGISTER_V1_DOMAIN, OTS_SESSION_REVOKE_V1_DOMAIN, SECP256R1_PROGRAM_ID, SWIG_PROGRAM_ID, USDC_DEVNET, USDC_MAINNET, VAULT_SEED_PREFIX };
35
+ export { DEXTER_VAULT_PROGRAM_ID, DISCRIMINATORS, ED25519_PROGRAM_ID, INSTRUCTIONS_SYSVAR_ID, OTS_SESSION_REGISTER_V1_DOMAIN, OTS_SESSION_REGISTER_V2_DOMAIN, OTS_SESSION_REVOKE_V1_DOMAIN, SECP256R1_PROGRAM_ID, SWIG_PROGRAM_ID, USDC_DEVNET, USDC_MAINNET, VAULT_SEED_PREFIX };
@@ -29,6 +29,7 @@ declare const DISCRIMINATORS: Readonly<{
29
29
  revoke_session_key: Uint8Array<ArrayBuffer>;
30
30
  }>;
31
31
  declare const OTS_SESSION_REGISTER_V1_DOMAIN: Uint8Array;
32
+ declare const OTS_SESSION_REGISTER_V2_DOMAIN: Uint8Array;
32
33
  declare const OTS_SESSION_REVOKE_V1_DOMAIN: Uint8Array;
33
34
 
34
- export { DEXTER_VAULT_PROGRAM_ID, DISCRIMINATORS, ED25519_PROGRAM_ID, INSTRUCTIONS_SYSVAR_ID, OTS_SESSION_REGISTER_V1_DOMAIN, OTS_SESSION_REVOKE_V1_DOMAIN, SECP256R1_PROGRAM_ID, SWIG_PROGRAM_ID, USDC_DEVNET, USDC_MAINNET, VAULT_SEED_PREFIX };
35
+ export { DEXTER_VAULT_PROGRAM_ID, DISCRIMINATORS, ED25519_PROGRAM_ID, INSTRUCTIONS_SYSVAR_ID, OTS_SESSION_REGISTER_V1_DOMAIN, OTS_SESSION_REGISTER_V2_DOMAIN, OTS_SESSION_REVOKE_V1_DOMAIN, SECP256R1_PROGRAM_ID, SWIG_PROGRAM_ID, USDC_DEVNET, USDC_MAINNET, VAULT_SEED_PREFIX };
@@ -37,6 +37,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
37
37
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
38
38
  return buf;
39
39
  })();
40
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
41
+ const buf = new Uint8Array(32);
42
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
43
+ return buf;
44
+ })();
40
45
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
41
46
  const buf = new Uint8Array(32);
42
47
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -48,6 +53,7 @@ export {
48
53
  ED25519_PROGRAM_ID,
49
54
  INSTRUCTIONS_SYSVAR_ID,
50
55
  OTS_SESSION_REGISTER_V1_DOMAIN,
56
+ OTS_SESSION_REGISTER_V2_DOMAIN,
51
57
  OTS_SESSION_REVOKE_V1_DOMAIN,
52
58
  SECP256R1_PROGRAM_ID,
53
59
  SWIG_PROGRAM_ID,
@@ -79,6 +79,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
79
79
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
80
80
  return buf;
81
81
  })();
82
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
83
+ const buf = new Uint8Array(32);
84
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
85
+ return buf;
86
+ })();
82
87
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
83
88
  const buf = new Uint8Array(32);
84
89
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -55,6 +55,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
55
55
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
56
56
  return buf;
57
57
  })();
58
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
59
+ const buf = new Uint8Array(32);
60
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
61
+ return buf;
62
+ })();
58
63
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
59
64
  const buf = new Uint8Array(32);
60
65
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
package/dist/index.cjs CHANGED
@@ -81,6 +81,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
81
81
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
82
82
  return buf;
83
83
  })();
84
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
85
+ const buf = new Uint8Array(32);
86
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
87
+ return buf;
88
+ })();
84
89
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
85
90
  const buf = new Uint8Array(32);
86
91
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
package/dist/index.js CHANGED
@@ -55,6 +55,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
55
55
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
56
56
  return buf;
57
57
  })();
58
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
59
+ const buf = new Uint8Array(32);
60
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
61
+ return buf;
62
+ })();
58
63
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
59
64
  const buf = new Uint8Array(32);
60
65
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -98,6 +98,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
98
98
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
99
99
  return buf;
100
100
  })();
101
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
102
+ const buf = new Uint8Array(32);
103
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
104
+ return buf;
105
+ })();
101
106
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
102
107
  const buf = new Uint8Array(32);
103
108
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -4749,11 +4754,11 @@ function buildSetSwigAtomicFromIdentity(params) {
4749
4754
  deriveSwigId(params.identitySeed, params.hmacKey)
4750
4755
  );
4751
4756
  const [swigAddress, swigAccountBump] = import_web35.PublicKey.findProgramAddressSync(
4752
- [Buffer.from(swigId)],
4757
+ [Buffer.from("swig"), Buffer.from(swigId)],
4753
4758
  SWIG_PROGRAM_ID
4754
4759
  );
4755
4760
  const [swigWalletAddress, swigWalletAddressBump] = import_web35.PublicKey.findProgramAddressSync(
4756
- [swigAddress.toBytes()],
4761
+ [Buffer.from("swig-wallet-address"), swigAddress.toBytes()],
4757
4762
  SWIG_PROGRAM_ID
4758
4763
  );
4759
4764
  return buildSetSwigAtomicInstruction({
@@ -4814,6 +4819,7 @@ function buildRegisterSessionKeyInstruction(args) {
4814
4819
  encodeI64LE(args.expiresAt),
4815
4820
  args.allowedCounterparty.toBytes(),
4816
4821
  encodeU32LE(args.nonce),
4822
+ encodeU64LE(args.maxRevolvingCapacity),
4817
4823
  encodeVecU8(args.clientDataJSON),
4818
4824
  encodeVecU8(args.authenticatorData)
4819
4825
  );
@@ -133,6 +133,7 @@ declare function buildSetSwigAtomicFromIdentity(params: BuildSetSwigAtomicFromId
133
133
  * expires_at: i64
134
134
  * allowed_counterparty: Pubkey (32 bytes)
135
135
  * nonce: u32
136
+ * max_revolving_capacity: u64
136
137
  * client_data_json: Vec<u8>
137
138
  * authenticator_data: Vec<u8>
138
139
  */
@@ -144,6 +145,7 @@ interface BuildRegisterSessionKeyArgs {
144
145
  expiresAt: bigint;
145
146
  allowedCounterparty: PublicKey;
146
147
  nonce: number;
148
+ maxRevolvingCapacity: bigint;
147
149
  clientDataJSON: Uint8Array;
148
150
  authenticatorData: Uint8Array;
149
151
  }
@@ -133,6 +133,7 @@ declare function buildSetSwigAtomicFromIdentity(params: BuildSetSwigAtomicFromId
133
133
  * expires_at: i64
134
134
  * allowed_counterparty: Pubkey (32 bytes)
135
135
  * nonce: u32
136
+ * max_revolving_capacity: u64
136
137
  * client_data_json: Vec<u8>
137
138
  * authenticator_data: Vec<u8>
138
139
  */
@@ -144,6 +145,7 @@ interface BuildRegisterSessionKeyArgs {
144
145
  expiresAt: bigint;
145
146
  allowedCounterparty: PublicKey;
146
147
  nonce: number;
148
+ maxRevolvingCapacity: bigint;
147
149
  clientDataJSON: Uint8Array;
148
150
  authenticatorData: Uint8Array;
149
151
  }
@@ -42,6 +42,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
42
42
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
43
43
  return buf;
44
44
  })();
45
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
46
+ const buf = new Uint8Array(32);
47
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
48
+ return buf;
49
+ })();
45
50
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
46
51
  const buf = new Uint8Array(32);
47
52
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -4711,11 +4716,11 @@ function buildSetSwigAtomicFromIdentity(params) {
4711
4716
  deriveSwigId(params.identitySeed, params.hmacKey)
4712
4717
  );
4713
4718
  const [swigAddress, swigAccountBump] = PublicKey5.findProgramAddressSync(
4714
- [Buffer.from(swigId)],
4719
+ [Buffer.from("swig"), Buffer.from(swigId)],
4715
4720
  SWIG_PROGRAM_ID
4716
4721
  );
4717
4722
  const [swigWalletAddress, swigWalletAddressBump] = PublicKey5.findProgramAddressSync(
4718
- [swigAddress.toBytes()],
4723
+ [Buffer.from("swig-wallet-address"), swigAddress.toBytes()],
4719
4724
  SWIG_PROGRAM_ID
4720
4725
  );
4721
4726
  return buildSetSwigAtomicInstruction({
@@ -4776,6 +4781,7 @@ function buildRegisterSessionKeyInstruction(args) {
4776
4781
  encodeI64LE(args.expiresAt),
4777
4782
  args.allowedCounterparty.toBytes(),
4778
4783
  encodeU32LE(args.nonce),
4784
+ encodeU64LE(args.maxRevolvingCapacity),
4779
4785
  encodeVecU8(args.clientDataJSON),
4780
4786
  encodeVecU8(args.authenticatorData)
4781
4787
  );
@@ -65,6 +65,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
65
65
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
66
66
  return buf;
67
67
  })();
68
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
69
+ const buf = new Uint8Array(32);
70
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
71
+ return buf;
72
+ })();
68
73
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
69
74
  const buf = new Uint8Array(32);
70
75
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -76,10 +81,10 @@ function sessionRegisterMessage(args) {
76
81
  if (args.sessionPubkey.length !== 32) {
77
82
  throw new Error(`sessionPubkey must be 32 bytes, got ${args.sessionPubkey.length}`);
78
83
  }
79
- const buf = new Uint8Array(180);
84
+ const buf = new Uint8Array(188);
80
85
  const view = new DataView(buf.buffer);
81
86
  let o = 0;
82
- buf.set(OTS_SESSION_REGISTER_V1_DOMAIN, o);
87
+ buf.set(OTS_SESSION_REGISTER_V2_DOMAIN, o);
83
88
  o += 32;
84
89
  buf.set(args.programId.toBytes(), o);
85
90
  o += 32;
@@ -95,8 +100,10 @@ function sessionRegisterMessage(args) {
95
100
  o += 32;
96
101
  view.setUint32(o, args.nonce >>> 0, true);
97
102
  o += 4;
98
- if (o !== 180) {
99
- throw new Error(`internal: session register message wrong length ${o}, expected 180`);
103
+ view.setBigUint64(o, args.maxRevolvingCapacity, true);
104
+ o += 8;
105
+ if (o !== 188) {
106
+ throw new Error(`internal: session register message wrong length ${o}, expected 188`);
100
107
  }
101
108
  return buf;
102
109
  }
@@ -4,7 +4,7 @@ import { PublicKey } from '@solana/web3.js';
4
4
  * Byte-deterministic session-key message builders.
5
5
  *
6
6
  * MUST match the on-chain Rust handlers byte-for-byte:
7
- * - register_session_key.rs::build_registration_message → sessionRegisterMessage (180 bytes)
7
+ * - register_session_key.rs::build_registration_message → sessionRegisterMessage (188 bytes, V2)
8
8
  * - revoke_session_key.rs::build_revocation_message → sessionRevokeMessage (128 bytes)
9
9
  *
10
10
  * Any drift makes every signature look forged to the on-chain handler.
@@ -18,10 +18,11 @@ interface SessionRegisterMessageArgs {
18
18
  expiresAt: bigint;
19
19
  allowedCounterparty: PublicKey;
20
20
  nonce: number;
21
+ maxRevolvingCapacity: bigint;
21
22
  }
22
23
  /**
23
- * 180-byte session registration message. Layout:
24
- * 0 32 domain separator (REGISTER_DOMAIN)
24
+ * 188-byte V2 session registration message. Layout:
25
+ * 0 32 domain separator (OTS_SESSION_REGISTER_V2)
25
26
  * 32 32 program_id
26
27
  * 64 32 vault_pda
27
28
  * 96 32 session_pubkey
@@ -29,8 +30,9 @@ interface SessionRegisterMessageArgs {
29
30
  * 136 8 expires_at (i64 LE)
30
31
  * 144 32 allowed_counterparty
31
32
  * 176 4 nonce (u32 LE)
33
+ * 180 8 max_revolving_capacity (u64 LE)
32
34
  * ────
33
- * 180
35
+ * 188
34
36
  */
35
37
  declare function sessionRegisterMessage(args: SessionRegisterMessageArgs): Uint8Array;
36
38
  interface SessionRevokeMessageArgs {
@@ -4,7 +4,7 @@ import { PublicKey } from '@solana/web3.js';
4
4
  * Byte-deterministic session-key message builders.
5
5
  *
6
6
  * MUST match the on-chain Rust handlers byte-for-byte:
7
- * - register_session_key.rs::build_registration_message → sessionRegisterMessage (180 bytes)
7
+ * - register_session_key.rs::build_registration_message → sessionRegisterMessage (188 bytes, V2)
8
8
  * - revoke_session_key.rs::build_revocation_message → sessionRevokeMessage (128 bytes)
9
9
  *
10
10
  * Any drift makes every signature look forged to the on-chain handler.
@@ -18,10 +18,11 @@ interface SessionRegisterMessageArgs {
18
18
  expiresAt: bigint;
19
19
  allowedCounterparty: PublicKey;
20
20
  nonce: number;
21
+ maxRevolvingCapacity: bigint;
21
22
  }
22
23
  /**
23
- * 180-byte session registration message. Layout:
24
- * 0 32 domain separator (REGISTER_DOMAIN)
24
+ * 188-byte V2 session registration message. Layout:
25
+ * 0 32 domain separator (OTS_SESSION_REGISTER_V2)
25
26
  * 32 32 program_id
26
27
  * 64 32 vault_pda
27
28
  * 96 32 session_pubkey
@@ -29,8 +30,9 @@ interface SessionRegisterMessageArgs {
29
30
  * 136 8 expires_at (i64 LE)
30
31
  * 144 32 allowed_counterparty
31
32
  * 176 4 nonce (u32 LE)
33
+ * 180 8 max_revolving_capacity (u64 LE)
32
34
  * ────
33
- * 180
35
+ * 188
34
36
  */
35
37
  declare function sessionRegisterMessage(args: SessionRegisterMessageArgs): Uint8Array;
36
38
  interface SessionRevokeMessageArgs {
@@ -35,6 +35,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
35
35
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
36
36
  return buf;
37
37
  })();
38
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
39
+ const buf = new Uint8Array(32);
40
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
41
+ return buf;
42
+ })();
38
43
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
39
44
  const buf = new Uint8Array(32);
40
45
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -46,10 +51,10 @@ function sessionRegisterMessage(args) {
46
51
  if (args.sessionPubkey.length !== 32) {
47
52
  throw new Error(`sessionPubkey must be 32 bytes, got ${args.sessionPubkey.length}`);
48
53
  }
49
- const buf = new Uint8Array(180);
54
+ const buf = new Uint8Array(188);
50
55
  const view = new DataView(buf.buffer);
51
56
  let o = 0;
52
- buf.set(OTS_SESSION_REGISTER_V1_DOMAIN, o);
57
+ buf.set(OTS_SESSION_REGISTER_V2_DOMAIN, o);
53
58
  o += 32;
54
59
  buf.set(args.programId.toBytes(), o);
55
60
  o += 32;
@@ -65,8 +70,10 @@ function sessionRegisterMessage(args) {
65
70
  o += 32;
66
71
  view.setUint32(o, args.nonce >>> 0, true);
67
72
  o += 4;
68
- if (o !== 180) {
69
- throw new Error(`internal: session register message wrong length ${o}, expected 180`);
73
+ view.setBigUint64(o, args.maxRevolvingCapacity, true);
74
+ o += 8;
75
+ if (o !== 188) {
76
+ throw new Error(`internal: session register message wrong length ${o}, expected 188`);
70
77
  }
71
78
  return buf;
72
79
  }
@@ -80,6 +80,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
80
80
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
81
81
  return buf;
82
82
  })();
83
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
84
+ const buf = new Uint8Array(32);
85
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
86
+ return buf;
87
+ })();
83
88
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
84
89
  const buf = new Uint8Array(32);
85
90
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
@@ -38,6 +38,11 @@ var OTS_SESSION_REGISTER_V1_DOMAIN = (() => {
38
38
  buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V1"), 0);
39
39
  return buf;
40
40
  })();
41
+ var OTS_SESSION_REGISTER_V2_DOMAIN = (() => {
42
+ const buf = new Uint8Array(32);
43
+ buf.set(new TextEncoder().encode("OTS_SESSION_REGISTER_V2"), 0);
44
+ return buf;
45
+ })();
41
46
  var OTS_SESSION_REVOKE_V1_DOMAIN = (() => {
42
47
  const buf = new Uint8Array(32);
43
48
  buf.set(new TextEncoder().encode("OTS_SESSION_REVOKE_V1"), 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dexterai/vault",
3
- "version": "0.3.4",
3
+ "version": "0.4.0",
4
4
  "description": "Canonical off-chain mirror of the dexter-vault Solana Anchor program — Solana instruction builders, byte-precise message encoders, account decoders, secp256r1/Ed25519 precompile helpers, counterfactual Swig derivation, and signer interfaces. The single source of truth for any TypeScript code that produces bytes the on-chain program will verify.",
5
5
  "author": "Dexter",
6
6
  "license": "MIT",