ox 0.13.2 → 0.14.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/Bech32m/package.json +6 -0
- package/CHANGELOG.md +19 -0
- package/_cjs/core/Bech32m.js +205 -0
- package/_cjs/core/Bech32m.js.map +1 -0
- package/_cjs/index.js +3 -2
- package/_cjs/index.js.map +1 -1
- package/_cjs/tempo/KeyAuthorization.js +4 -4
- package/_cjs/tempo/KeyAuthorization.js.map +1 -1
- package/_cjs/tempo/SignatureEnvelope.js +18 -3
- package/_cjs/tempo/SignatureEnvelope.js.map +1 -1
- package/_cjs/tempo/TempoAddress.js +40 -39
- package/_cjs/tempo/TempoAddress.js.map +1 -1
- package/_cjs/tempo/TxEnvelopeTempo.js +5 -2
- package/_cjs/tempo/TxEnvelopeTempo.js.map +1 -1
- package/_cjs/tempo/index.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/core/Bech32m.js +238 -0
- package/_esm/core/Bech32m.js.map +1 -0
- package/_esm/index.js +24 -0
- package/_esm/index.js.map +1 -1
- package/_esm/tempo/KeyAuthorization.js +19 -9
- package/_esm/tempo/KeyAuthorization.js.map +1 -1
- package/_esm/tempo/SignatureEnvelope.js +22 -5
- package/_esm/tempo/SignatureEnvelope.js.map +1 -1
- package/_esm/tempo/TempoAddress.js +47 -46
- package/_esm/tempo/TempoAddress.js.map +1 -1
- package/_esm/tempo/TxEnvelopeTempo.js +42 -2
- package/_esm/tempo/TxEnvelopeTempo.js.map +1 -1
- package/_esm/tempo/index.js +2 -2
- package/_esm/tempo/index.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/core/Bech32m.d.ts +93 -0
- package/_types/core/Bech32m.d.ts.map +1 -0
- package/_types/index.d.ts +24 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/tempo/KeyAuthorization.d.ts +17 -7
- package/_types/tempo/KeyAuthorization.d.ts.map +1 -1
- package/_types/tempo/SignatureEnvelope.d.ts +19 -5
- package/_types/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/_types/tempo/TempoAddress.d.ts +19 -11
- package/_types/tempo/TempoAddress.d.ts.map +1 -1
- package/_types/tempo/TxEnvelopeTempo.d.ts +47 -1
- package/_types/tempo/TxEnvelopeTempo.d.ts.map +1 -1
- package/_types/tempo/index.d.ts +2 -2
- package/_types/tempo/index.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/core/Bech32m.ts +263 -0
- package/index.ts +24 -2
- package/package.json +6 -1
- package/tempo/KeyAuthorization.test.ts +70 -23
- package/tempo/KeyAuthorization.ts +21 -18
- package/tempo/SignatureEnvelope.test.ts +15 -8
- package/tempo/SignatureEnvelope.ts +43 -8
- package/tempo/TempoAddress.test.ts +49 -14
- package/tempo/TempoAddress.ts +56 -59
- package/tempo/Transaction.test.ts +4 -2
- package/tempo/TxEnvelopeTempo.test.ts +7 -3
- package/tempo/TxEnvelopeTempo.ts +52 -1
- package/tempo/e2e.test.ts +45 -10
- package/tempo/index.ts +6 -2
- package/version.ts +1 -1
|
@@ -235,8 +235,11 @@ function serialize(envelope, options = {}) {
|
|
|
235
235
|
];
|
|
236
236
|
return Hex.concat(options.format === 'feePayer' ? exports.feePayerMagic : exports.serializedType, Rlp.fromHex(serialized));
|
|
237
237
|
}
|
|
238
|
-
function getSignPayload(envelope) {
|
|
239
|
-
|
|
238
|
+
function getSignPayload(envelope, options = {}) {
|
|
239
|
+
const sigHash = hash(envelope, { presign: true });
|
|
240
|
+
if (options.from)
|
|
241
|
+
return Hash.keccak256(Hex.concat('0x04', sigHash, options.from));
|
|
242
|
+
return sigHash;
|
|
240
243
|
}
|
|
241
244
|
function hash(envelope, options = {}) {
|
|
242
245
|
const serialized = serialize({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TxEnvelopeTempo.js","sourceRoot":"","sources":["../../tempo/TxEnvelopeTempo.ts"],"names":[],"mappings":";;;AAoKA,wBAiDC;AA8BD,kCAoJC;AA+FD,oBAuBC;AA+FD,8BAiGC;
|
|
1
|
+
{"version":3,"file":"TxEnvelopeTempo.js","sourceRoot":"","sources":["../../tempo/TxEnvelopeTempo.ts"],"names":[],"mappings":"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"}
|
package/_cjs/tempo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":";;;AAoCA,gEAA6D;AAwC7D,4DAAyD;AAsBzD,wCAAqC;AAuBrC,8DAA2D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":";;;AAoCA,gEAA6D;AAwC7D,4DAAyD;AAsBzD,wCAAqC;AAuBrC,8DAA2D;AAsB3D,oDAAiD;AAqBjD,oCAAiC;AAsBjC,0CAAuC;AAmBvC,8CAA2C;AAmD3C,kDAA+C;AAuB/C,gEAA6D;AAqB7D,gEAA6D;AA6B7D,0DAAuD"}
|
package/_cjs/version.js
CHANGED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { BaseError } from './Errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Encodes data bytes with a human-readable part (HRP) into a bech32m string (BIP-350).
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts twoslash
|
|
7
|
+
* import { Bech32m } from 'ox'
|
|
8
|
+
*
|
|
9
|
+
* const encoded = Bech32m.encode('tempo', new Uint8Array(20))
|
|
10
|
+
* // @log: 'tempo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwa7xtm'
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @param hrp - The human-readable part (e.g. `"tempo"`, `"tempoz"`).
|
|
14
|
+
* @param data - The data bytes to encode.
|
|
15
|
+
* @returns The bech32m-encoded string.
|
|
16
|
+
*/
|
|
17
|
+
export function encode(hrp, data, options = {}) {
|
|
18
|
+
const { limit = 90 } = options;
|
|
19
|
+
hrp = hrp.toLowerCase();
|
|
20
|
+
if (hrp.length === 0)
|
|
21
|
+
throw new InvalidHrpError();
|
|
22
|
+
for (let i = 0; i < hrp.length; i++) {
|
|
23
|
+
const c = hrp.charCodeAt(i);
|
|
24
|
+
if (c < 33 || c > 126)
|
|
25
|
+
throw new InvalidHrpError();
|
|
26
|
+
}
|
|
27
|
+
const data5 = convertBits(data, 8, 5, true);
|
|
28
|
+
if (hrp.length + 1 + data5.length + 6 > limit)
|
|
29
|
+
throw new ExceedsLengthError({ limit });
|
|
30
|
+
const checksum = createChecksum(hrp, data5);
|
|
31
|
+
let result = hrp + '1';
|
|
32
|
+
for (const d of data5.concat(checksum))
|
|
33
|
+
result += alphabet[d];
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Decodes a bech32m string (BIP-350) into a human-readable part and data bytes.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts twoslash
|
|
41
|
+
* import { Bech32m } from 'ox'
|
|
42
|
+
*
|
|
43
|
+
* const { hrp, data } = Bech32m.decode('tempo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwa7xtm')
|
|
44
|
+
* // @log: { hrp: 'tempo', data: Uint8Array(20) }
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @param str - The bech32m-encoded string to decode.
|
|
48
|
+
* @returns The decoded HRP and data bytes.
|
|
49
|
+
*/
|
|
50
|
+
export function decode(str, options = {}) {
|
|
51
|
+
const { limit = 90 } = options;
|
|
52
|
+
if (str.length > limit)
|
|
53
|
+
throw new ExceedsLengthError({ limit });
|
|
54
|
+
if (str !== str.toLowerCase() && str !== str.toUpperCase())
|
|
55
|
+
throw new MixedCaseError();
|
|
56
|
+
const lower = str.toLowerCase();
|
|
57
|
+
const pos = lower.lastIndexOf('1');
|
|
58
|
+
if (pos === -1)
|
|
59
|
+
throw new NoSeparatorError();
|
|
60
|
+
if (pos === 0)
|
|
61
|
+
throw new InvalidHrpError();
|
|
62
|
+
if (pos + 7 > lower.length)
|
|
63
|
+
throw new InvalidChecksumError();
|
|
64
|
+
const hrp = lower.slice(0, pos);
|
|
65
|
+
for (let i = 0; i < hrp.length; i++) {
|
|
66
|
+
const c = hrp.charCodeAt(i);
|
|
67
|
+
if (c < 33 || c > 126)
|
|
68
|
+
throw new InvalidHrpError();
|
|
69
|
+
}
|
|
70
|
+
const dataChars = lower.slice(pos + 1);
|
|
71
|
+
const data5 = [];
|
|
72
|
+
for (const c of dataChars) {
|
|
73
|
+
const v = alphabetMap[c];
|
|
74
|
+
if (v === undefined)
|
|
75
|
+
throw new InvalidCharacterError({ character: c });
|
|
76
|
+
data5.push(v);
|
|
77
|
+
}
|
|
78
|
+
if (!verifyChecksum(hrp, data5))
|
|
79
|
+
throw new InvalidChecksumError();
|
|
80
|
+
const data8 = convertBits(data5.slice(0, -6), 5, 8, false);
|
|
81
|
+
return { hrp, data: new Uint8Array(data8) };
|
|
82
|
+
}
|
|
83
|
+
/** Thrown when a bech32m string has no separator. */
|
|
84
|
+
export class NoSeparatorError extends BaseError {
|
|
85
|
+
constructor() {
|
|
86
|
+
super('Bech32m string has no separator.');
|
|
87
|
+
Object.defineProperty(this, "name", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
configurable: true,
|
|
90
|
+
writable: true,
|
|
91
|
+
value: 'Bech32m.NoSeparatorError'
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Thrown when a bech32m string has an invalid checksum. */
|
|
96
|
+
export class InvalidChecksumError extends BaseError {
|
|
97
|
+
constructor() {
|
|
98
|
+
super('Invalid bech32m checksum.');
|
|
99
|
+
Object.defineProperty(this, "name", {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
configurable: true,
|
|
102
|
+
writable: true,
|
|
103
|
+
value: 'Bech32m.InvalidChecksumError'
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Thrown when a bech32m string contains an invalid character. */
|
|
108
|
+
export class InvalidCharacterError extends BaseError {
|
|
109
|
+
constructor({ character }) {
|
|
110
|
+
super(`Invalid bech32m character: "${character}".`);
|
|
111
|
+
Object.defineProperty(this, "name", {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
configurable: true,
|
|
114
|
+
writable: true,
|
|
115
|
+
value: 'Bech32m.InvalidCharacterError'
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/** Thrown when the padding bits are invalid during base32 conversion. */
|
|
120
|
+
export class InvalidPaddingError extends BaseError {
|
|
121
|
+
constructor() {
|
|
122
|
+
super('Invalid padding in bech32m data.');
|
|
123
|
+
Object.defineProperty(this, "name", {
|
|
124
|
+
enumerable: true,
|
|
125
|
+
configurable: true,
|
|
126
|
+
writable: true,
|
|
127
|
+
value: 'Bech32m.InvalidPaddingError'
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/** Thrown when a bech32m string contains mixed case. */
|
|
132
|
+
export class MixedCaseError extends BaseError {
|
|
133
|
+
constructor() {
|
|
134
|
+
super('Bech32m string must not contain mixed case.');
|
|
135
|
+
Object.defineProperty(this, "name", {
|
|
136
|
+
enumerable: true,
|
|
137
|
+
configurable: true,
|
|
138
|
+
writable: true,
|
|
139
|
+
value: 'Bech32m.MixedCaseError'
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** Thrown when the HRP is invalid (empty or contains non-ASCII characters). */
|
|
144
|
+
export class InvalidHrpError extends BaseError {
|
|
145
|
+
constructor() {
|
|
146
|
+
super('Invalid bech32m human-readable part (HRP). Must be 1+ characters in ASCII range 33-126.');
|
|
147
|
+
Object.defineProperty(this, "name", {
|
|
148
|
+
enumerable: true,
|
|
149
|
+
configurable: true,
|
|
150
|
+
writable: true,
|
|
151
|
+
value: 'Bech32m.InvalidHrpError'
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/** Thrown when the encoded string exceeds the length limit. */
|
|
156
|
+
export class ExceedsLengthError extends BaseError {
|
|
157
|
+
constructor({ limit }) {
|
|
158
|
+
super(`Bech32m string exceeds length limit of ${limit}.`);
|
|
159
|
+
Object.defineProperty(this, "name", {
|
|
160
|
+
enumerable: true,
|
|
161
|
+
configurable: true,
|
|
162
|
+
writable: true,
|
|
163
|
+
value: 'Bech32m.ExceedsLengthError'
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/** @internal */
|
|
168
|
+
const alphabet = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';
|
|
169
|
+
/** @internal */
|
|
170
|
+
const alphabetMap = /*#__PURE__*/ (() => {
|
|
171
|
+
const map = {};
|
|
172
|
+
for (let i = 0; i < alphabet.length; i++)
|
|
173
|
+
map[alphabet[i]] = i;
|
|
174
|
+
return map;
|
|
175
|
+
})();
|
|
176
|
+
/** @internal */
|
|
177
|
+
const BECH32M_CONST = 0x2bc830a3;
|
|
178
|
+
/** @internal */
|
|
179
|
+
const GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];
|
|
180
|
+
/** @internal */
|
|
181
|
+
function polymod(values) {
|
|
182
|
+
let chk = 1;
|
|
183
|
+
for (const v of values) {
|
|
184
|
+
const b = chk >> 25;
|
|
185
|
+
chk = ((chk & 0x1ffffff) << 5) ^ v;
|
|
186
|
+
for (let i = 0; i < 5; i++)
|
|
187
|
+
if ((b >> i) & 1)
|
|
188
|
+
chk ^= GEN[i];
|
|
189
|
+
}
|
|
190
|
+
return chk;
|
|
191
|
+
}
|
|
192
|
+
/** @internal */
|
|
193
|
+
function hrpExpand(hrp) {
|
|
194
|
+
const ret = [];
|
|
195
|
+
for (let i = 0; i < hrp.length; i++)
|
|
196
|
+
ret.push(hrp.charCodeAt(i) >> 5);
|
|
197
|
+
ret.push(0);
|
|
198
|
+
for (let i = 0; i < hrp.length; i++)
|
|
199
|
+
ret.push(hrp.charCodeAt(i) & 31);
|
|
200
|
+
return ret;
|
|
201
|
+
}
|
|
202
|
+
/** @internal */
|
|
203
|
+
function createChecksum(hrp, data) {
|
|
204
|
+
const values = hrpExpand(hrp).concat(data).concat([0, 0, 0, 0, 0, 0]);
|
|
205
|
+
const mod = polymod(values) ^ BECH32M_CONST;
|
|
206
|
+
const ret = [];
|
|
207
|
+
for (let i = 0; i < 6; i++)
|
|
208
|
+
ret.push((mod >> (5 * (5 - i))) & 31);
|
|
209
|
+
return ret;
|
|
210
|
+
}
|
|
211
|
+
/** @internal */
|
|
212
|
+
function verifyChecksum(hrp, data) {
|
|
213
|
+
return polymod(hrpExpand(hrp).concat(data)) === BECH32M_CONST;
|
|
214
|
+
}
|
|
215
|
+
/** @internal */
|
|
216
|
+
function convertBits(data, fromBits, toBits, pad) {
|
|
217
|
+
let acc = 0;
|
|
218
|
+
let bits = 0;
|
|
219
|
+
const maxv = (1 << toBits) - 1;
|
|
220
|
+
const ret = [];
|
|
221
|
+
for (const value of data) {
|
|
222
|
+
acc = (acc << fromBits) | value;
|
|
223
|
+
bits += fromBits;
|
|
224
|
+
while (bits >= toBits) {
|
|
225
|
+
bits -= toBits;
|
|
226
|
+
ret.push((acc >> bits) & maxv);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (pad) {
|
|
230
|
+
if (bits > 0)
|
|
231
|
+
ret.push((acc << (toBits - bits)) & maxv);
|
|
232
|
+
}
|
|
233
|
+
else if (bits >= fromBits || (acc << (toBits - bits)) & maxv) {
|
|
234
|
+
throw new InvalidPaddingError();
|
|
235
|
+
}
|
|
236
|
+
return ret;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=Bech32m.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bech32m.js","sourceRoot":"","sources":["../../core/Bech32m.ts"],"names":[],"mappings":"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"}
|
package/_esm/index.js
CHANGED
|
@@ -953,6 +953,30 @@ export * as Base58 from './core/Base58.js';
|
|
|
953
953
|
* @category Data
|
|
954
954
|
*/
|
|
955
955
|
export * as Base64 from './core/Base64.js';
|
|
956
|
+
/**
|
|
957
|
+
* Utility functions for [BIP-350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki) bech32m encoding and decoding.
|
|
958
|
+
*
|
|
959
|
+
* @example
|
|
960
|
+
* ### Encoding
|
|
961
|
+
*
|
|
962
|
+
* ```ts twoslash
|
|
963
|
+
* import { Bech32m } from 'ox'
|
|
964
|
+
*
|
|
965
|
+
* const encoded = Bech32m.encode('tempo', new Uint8Array(20))
|
|
966
|
+
* ```
|
|
967
|
+
*
|
|
968
|
+
* @example
|
|
969
|
+
* ### Decoding
|
|
970
|
+
*
|
|
971
|
+
* ```ts twoslash
|
|
972
|
+
* import { Bech32m } from 'ox'
|
|
973
|
+
*
|
|
974
|
+
* const { hrp, data } = Bech32m.decode('tempo1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq7w9gdx')
|
|
975
|
+
* ```
|
|
976
|
+
*
|
|
977
|
+
* @category Data
|
|
978
|
+
*/
|
|
979
|
+
export * as Bech32m from './core/Bech32m.js';
|
|
956
980
|
/**
|
|
957
981
|
* Utility functions for working with [EIP-7864](https://eips.ethereum.org/EIPS/eip-7864) Binary State Trees.
|
|
958
982
|
*
|
package/_esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AACH,OAAO,KAAK,GAAG,MAAM,eAAe,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AACH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AAExD;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAElD;;;;GAIG;AACH,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AAExD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
|
26
26
|
*
|
|
27
27
|
* const authorization = KeyAuthorization.from({
|
|
28
28
|
* address,
|
|
29
|
+
* chainId: 4217n,
|
|
29
30
|
* expiry: 1234567890,
|
|
30
31
|
* type: 'secp256k1',
|
|
31
32
|
* limits: [{
|
|
@@ -47,6 +48,7 @@ import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
|
47
48
|
*
|
|
48
49
|
* const authorization = KeyAuthorization.from({
|
|
49
50
|
* address,
|
|
51
|
+
* chainId: 4217n,
|
|
50
52
|
* expiry: 1234567890,
|
|
51
53
|
* type: 'p256',
|
|
52
54
|
* limits: [{
|
|
@@ -71,6 +73,7 @@ import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
|
71
73
|
*
|
|
72
74
|
* const authorization = KeyAuthorization.from({
|
|
73
75
|
* address,
|
|
76
|
+
* chainId: 4217n,
|
|
74
77
|
* expiry: 1234567890,
|
|
75
78
|
* type: 'secp256k1',
|
|
76
79
|
* limits: [{
|
|
@@ -104,6 +107,7 @@ import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
|
104
107
|
*
|
|
105
108
|
* const authorization = KeyAuthorization.from({
|
|
106
109
|
* address,
|
|
110
|
+
* chainId: 4217n,
|
|
107
111
|
* expiry: 1234567890,
|
|
108
112
|
* type: 'p256',
|
|
109
113
|
* limits: [{
|
|
@@ -169,7 +173,7 @@ export function from(authorization, options = {}) {
|
|
|
169
173
|
* @returns A signed {@link ox#AuthorizationTempo.AuthorizationTempo}.
|
|
170
174
|
*/
|
|
171
175
|
export function fromRpc(authorization) {
|
|
172
|
-
const { chainId
|
|
176
|
+
const { chainId, keyId, expiry = 0, limits, keyType } = authorization;
|
|
173
177
|
const signature = SignatureEnvelope.fromRpc(authorization.signature);
|
|
174
178
|
return {
|
|
175
179
|
address: keyId,
|
|
@@ -242,7 +246,7 @@ export function fromTuple(tuple) {
|
|
|
242
246
|
address: keyId,
|
|
243
247
|
expiry: typeof expiry !== 'undefined' ? hexToNumber(expiry) : undefined,
|
|
244
248
|
type: keyType,
|
|
245
|
-
|
|
249
|
+
chainId: chainId === '0x' ? 0n : Hex.toBigInt(chainId),
|
|
246
250
|
...(typeof expiry !== 'undefined' ? { expiry: hexToNumber(expiry) } : {}),
|
|
247
251
|
...(typeof limits !== 'undefined'
|
|
248
252
|
? {
|
|
@@ -276,6 +280,7 @@ export function fromTuple(tuple) {
|
|
|
276
280
|
*
|
|
277
281
|
* const authorization = KeyAuthorization.from({
|
|
278
282
|
* address,
|
|
283
|
+
* chainId: 4217n,
|
|
279
284
|
* expiry: 1234567890,
|
|
280
285
|
* type: 'secp256k1',
|
|
281
286
|
* limits: [{
|
|
@@ -302,8 +307,9 @@ export function getSignPayload(authorization) {
|
|
|
302
307
|
* import { Value } from 'ox'
|
|
303
308
|
*
|
|
304
309
|
* const authorization = KeyAuthorization.from({
|
|
305
|
-
* expiry: 1234567890,
|
|
306
310
|
* address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
|
|
311
|
+
* chainId: 4217n,
|
|
312
|
+
* expiry: 1234567890,
|
|
307
313
|
* type: 'secp256k1',
|
|
308
314
|
* limits: [{
|
|
309
315
|
* token: '0x20c0000000000000000000000000000000000001',
|
|
@@ -331,8 +337,9 @@ export function deserialize(serialized) {
|
|
|
331
337
|
* import { Value } from 'ox'
|
|
332
338
|
*
|
|
333
339
|
* const authorization = KeyAuthorization.from({
|
|
334
|
-
* expiry: 1234567890,
|
|
335
340
|
* address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
|
|
341
|
+
* chainId: 4217n,
|
|
342
|
+
* expiry: 1234567890,
|
|
336
343
|
* type: 'secp256k1',
|
|
337
344
|
* limits: [{
|
|
338
345
|
* token: '0x20c0000000000000000000000000000000000001',
|
|
@@ -360,8 +367,9 @@ export function hash(authorization) {
|
|
|
360
367
|
* import { Value } from 'ox'
|
|
361
368
|
*
|
|
362
369
|
* const authorization = KeyAuthorization.from({
|
|
363
|
-
* expiry: 1234567890,
|
|
364
370
|
* address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
|
|
371
|
+
* chainId: 4217n,
|
|
372
|
+
* expiry: 1234567890,
|
|
365
373
|
* type: 'secp256k1',
|
|
366
374
|
* limits: [{
|
|
367
375
|
* token: '0x20c0000000000000000000000000000000000001',
|
|
@@ -388,8 +396,9 @@ export function serialize(authorization) {
|
|
|
388
396
|
* import { Value } from 'ox'
|
|
389
397
|
*
|
|
390
398
|
* const authorization = KeyAuthorization.toRpc({
|
|
391
|
-
* expiry: 1234567890,
|
|
392
399
|
* address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
|
|
400
|
+
* chainId: 4217n,
|
|
401
|
+
* expiry: 1234567890,
|
|
393
402
|
* type: 'secp256k1',
|
|
394
403
|
* limits: [{
|
|
395
404
|
* token: '0x20c0000000000000000000000000000000000001',
|
|
@@ -410,7 +419,7 @@ export function serialize(authorization) {
|
|
|
410
419
|
* @returns An RPC-formatted Key Authorization.
|
|
411
420
|
*/
|
|
412
421
|
export function toRpc(authorization) {
|
|
413
|
-
const { address, chainId
|
|
422
|
+
const { address, chainId, expiry, limits, type, signature } = authorization;
|
|
414
423
|
return {
|
|
415
424
|
chainId: chainId === 0n ? '0x' : Hex.fromNumber(chainId),
|
|
416
425
|
expiry: typeof expiry === 'number' ? Hex.fromNumber(expiry) : null,
|
|
@@ -432,8 +441,9 @@ export function toRpc(authorization) {
|
|
|
432
441
|
* import { Value } from 'ox'
|
|
433
442
|
*
|
|
434
443
|
* const authorization = KeyAuthorization.from({
|
|
435
|
-
* expiry: 1234567890,
|
|
436
444
|
* address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
|
|
445
|
+
* chainId: 4217n,
|
|
446
|
+
* expiry: 1234567890,
|
|
437
447
|
* type: 'secp256k1',
|
|
438
448
|
* limits: [{
|
|
439
449
|
* token: '0x20c0000000000000000000000000000000000001',
|
|
@@ -454,7 +464,7 @@ export function toRpc(authorization) {
|
|
|
454
464
|
* @returns A Tempo Key Authorization tuple.
|
|
455
465
|
*/
|
|
456
466
|
export function toTuple(authorization) {
|
|
457
|
-
const { address, chainId
|
|
467
|
+
const { address, chainId, expiry, limits } = authorization;
|
|
458
468
|
const signature = authorization.signature
|
|
459
469
|
? SignatureEnvelope.serialize(authorization.signature)
|
|
460
470
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyAuthorization.js","sourceRoot":"","sources":["../../tempo/KeyAuthorization.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAErC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AA4G3D
|
|
1
|
+
{"version":3,"file":"KeyAuthorization.js","sourceRoot":"","sources":["../../tempo/KeyAuthorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import * as ox_WebAuthnP256 from '../core/WebAuthnP256.js';
|
|
|
10
10
|
const serializedP256Type = '0x01';
|
|
11
11
|
const serializedWebAuthnType = '0x02';
|
|
12
12
|
const serializedKeychainType = '0x03';
|
|
13
|
+
const serializedKeychainV2Type = '0x04';
|
|
13
14
|
/** Serialized magic identifier for Tempo signature envelopes. */
|
|
14
15
|
export const magicBytes = '0x7777777777777777777777777777777777777777777777777777777777777777'; // 32 "T"s
|
|
15
16
|
/** List of supported signature types. */
|
|
@@ -176,7 +177,8 @@ export function extractPublicKey(options) {
|
|
|
176
177
|
* - 65 bytes (no prefix): secp256k1 signature
|
|
177
178
|
* - Type `0x01` + 129 bytes: P256 signature (r, s, pubKeyX, pubKeyY, prehash)
|
|
178
179
|
* - Type `0x02` + variable: WebAuthn signature (webauthnData, r, s, pubKeyX, pubKeyY)
|
|
179
|
-
* - Type `0x03` + 20 bytes + inner: Keychain signature (userAddress + inner signature)
|
|
180
|
+
* - Type `0x03` + 20 bytes + inner: Keychain V1 signature (userAddress + inner signature)
|
|
181
|
+
* - Type `0x04` + 20 bytes + inner: Keychain V2 signature (userAddress + inner signature)
|
|
180
182
|
*
|
|
181
183
|
* [Signature Types](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
|
|
182
184
|
*
|
|
@@ -277,17 +279,19 @@ export function deserialize(value) {
|
|
|
277
279
|
type: 'webAuthn',
|
|
278
280
|
};
|
|
279
281
|
}
|
|
280
|
-
if (typeId === serializedKeychainType
|
|
282
|
+
if (typeId === serializedKeychainType ||
|
|
283
|
+
typeId === serializedKeychainV2Type) {
|
|
281
284
|
const userAddress = Hex.slice(data, 0, 20);
|
|
282
285
|
const inner = deserialize(Hex.slice(data, 20));
|
|
283
286
|
return {
|
|
284
287
|
userAddress,
|
|
285
288
|
inner,
|
|
286
289
|
type: 'keychain',
|
|
290
|
+
version: typeId === serializedKeychainV2Type ? 'v2' : 'v1',
|
|
287
291
|
};
|
|
288
292
|
}
|
|
289
293
|
throw new InvalidSerializedError({
|
|
290
|
-
reason: `Unknown signature type identifier: ${typeId}. Expected ${serializedP256Type} (P256)
|
|
294
|
+
reason: `Unknown signature type identifier: ${typeId}. Expected ${serializedP256Type} (P256), ${serializedWebAuthnType} (WebAuthn), ${serializedKeychainType} (Keychain V1), or ${serializedKeychainV2Type} (Keychain V2)`,
|
|
291
295
|
serialized,
|
|
292
296
|
});
|
|
293
297
|
}
|
|
@@ -419,6 +423,13 @@ export function from(value) {
|
|
|
419
423
|
return {
|
|
420
424
|
...value,
|
|
421
425
|
...(type === 'p256' ? { prehash: value.prehash } : {}),
|
|
426
|
+
...(type === 'keychain' &&
|
|
427
|
+
!(typeof value === 'object' &&
|
|
428
|
+
value !== null &&
|
|
429
|
+
'version' in value &&
|
|
430
|
+
value.version)
|
|
431
|
+
? { version: 'v1' }
|
|
432
|
+
: {}),
|
|
422
433
|
type,
|
|
423
434
|
};
|
|
424
435
|
}
|
|
@@ -508,6 +519,7 @@ export function fromRpc(envelope) {
|
|
|
508
519
|
type: 'keychain',
|
|
509
520
|
userAddress: envelope.userAddress,
|
|
510
521
|
inner: fromRpc(envelope.signature),
|
|
522
|
+
...(envelope.version ? { version: envelope.version } : {}),
|
|
511
523
|
};
|
|
512
524
|
throw new CoercionError({ envelope });
|
|
513
525
|
}
|
|
@@ -570,7 +582,8 @@ export function getType(envelope) {
|
|
|
570
582
|
* - secp256k1: 65 bytes (no type prefix, for backward compatibility)
|
|
571
583
|
* - P256: `0x01` + r (32) + s (32) + pubKeyX (32) + pubKeyY (32) + prehash (1) = 130 bytes
|
|
572
584
|
* - WebAuthn: `0x02` + webauthnData (variable) + r (32) + s (32) + pubKeyX (32) + pubKeyY (32)
|
|
573
|
-
* - Keychain: `0x03` + userAddress (20) + inner signature (recursive)
|
|
585
|
+
* - Keychain V1: `0x03` + userAddress (20) + inner signature (recursive)
|
|
586
|
+
* - Keychain V2: `0x04` + userAddress (20) + inner signature (recursive)
|
|
574
587
|
*
|
|
575
588
|
* [Signature Types](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
|
|
576
589
|
*
|
|
@@ -608,7 +621,10 @@ export function serialize(envelope, options = {}) {
|
|
|
608
621
|
}
|
|
609
622
|
if (type === 'keychain') {
|
|
610
623
|
const keychain = envelope;
|
|
611
|
-
|
|
624
|
+
const keychainTypeId = keychain.version === 'v1'
|
|
625
|
+
? serializedKeychainType
|
|
626
|
+
: serializedKeychainV2Type;
|
|
627
|
+
return Hex.concat(keychainTypeId, keychain.userAddress, serialize(keychain.inner), options.magic ? magicBytes : '0x');
|
|
612
628
|
}
|
|
613
629
|
throw new CoercionError({ envelope });
|
|
614
630
|
}
|
|
@@ -666,6 +682,7 @@ export function toRpc(envelope) {
|
|
|
666
682
|
type: 'keychain',
|
|
667
683
|
userAddress: keychain.userAddress,
|
|
668
684
|
signature: toRpc(keychain.inner),
|
|
685
|
+
...(keychain.version ? { version: keychain.version } : {}),
|
|
669
686
|
};
|
|
670
687
|
}
|
|
671
688
|
throw new CoercionError({ envelope });
|