@dexterai/vault 0.3.5 → 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.
- package/dist/constants/index.cjs +7 -0
- package/dist/constants/index.d.cts +2 -1
- package/dist/constants/index.d.ts +2 -1
- package/dist/constants/index.js +6 -0
- package/dist/counterfactual.cjs +5 -0
- package/dist/counterfactual.js +5 -0
- package/dist/index.cjs +5 -0
- package/dist/index.js +5 -0
- package/dist/instructions/index.cjs +6 -0
- package/dist/instructions/index.d.cts +2 -0
- package/dist/instructions/index.d.ts +2 -0
- package/dist/instructions/index.js +6 -0
- package/dist/messages/index.cjs +11 -4
- package/dist/messages/index.d.cts +6 -4
- package/dist/messages/index.d.ts +6 -4
- package/dist/messages/index.js +11 -4
- package/dist/precompile/index.cjs +5 -0
- package/dist/precompile/index.js +5 -0
- package/package.json +1 -1
package/dist/constants/index.cjs
CHANGED
|
@@ -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 };
|
package/dist/constants/index.js
CHANGED
|
@@ -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,
|
package/dist/counterfactual.cjs
CHANGED
|
@@ -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);
|
package/dist/counterfactual.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);
|
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);
|
|
@@ -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);
|
|
@@ -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
|
);
|
package/dist/messages/index.cjs
CHANGED
|
@@ -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(
|
|
84
|
+
const buf = new Uint8Array(188);
|
|
80
85
|
const view = new DataView(buf.buffer);
|
|
81
86
|
let o = 0;
|
|
82
|
-
buf.set(
|
|
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
|
-
|
|
99
|
-
|
|
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 (
|
|
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
|
-
*
|
|
24
|
-
* 0 32 domain separator (
|
|
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
|
-
*
|
|
35
|
+
* 188
|
|
34
36
|
*/
|
|
35
37
|
declare function sessionRegisterMessage(args: SessionRegisterMessageArgs): Uint8Array;
|
|
36
38
|
interface SessionRevokeMessageArgs {
|
package/dist/messages/index.d.ts
CHANGED
|
@@ -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 (
|
|
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
|
-
*
|
|
24
|
-
* 0 32 domain separator (
|
|
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
|
-
*
|
|
35
|
+
* 188
|
|
34
36
|
*/
|
|
35
37
|
declare function sessionRegisterMessage(args: SessionRegisterMessageArgs): Uint8Array;
|
|
36
38
|
interface SessionRevokeMessageArgs {
|
package/dist/messages/index.js
CHANGED
|
@@ -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(
|
|
54
|
+
const buf = new Uint8Array(188);
|
|
50
55
|
const view = new DataView(buf.buffer);
|
|
51
56
|
let o = 0;
|
|
52
|
-
buf.set(
|
|
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
|
-
|
|
69
|
-
|
|
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);
|
package/dist/precompile/index.js
CHANGED
|
@@ -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
|
+
"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",
|