@layerzerolabs/onesig-core 0.0.9 → 0.1.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.
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +38 -16
- package/dist/index.mjs +38 -16
- package/package.json +3 -9
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { BigNumber } from 'ethers';
|
|
1
|
+
import { BigNumber, TypedDataDomain, TypedDataField } from 'ethers';
|
|
2
2
|
import { MerkleTree } from 'merkletreejs';
|
|
3
3
|
export { MerkleTree } from 'merkletreejs';
|
|
4
4
|
import { TypedDataSigner } from '@ethersproject/abstract-signer';
|
|
5
|
+
export { TypedDataSigner } from '@ethersproject/abstract-signer';
|
|
5
6
|
|
|
6
7
|
interface BaseLeafData<TargetAddressType = unknown, CallData = unknown> {
|
|
7
8
|
nonce: bigint;
|
|
@@ -43,9 +44,12 @@ declare class Signature {
|
|
|
43
44
|
*/
|
|
44
45
|
static concatenateSignatures(input: SignatureLike[], digest: Buffer | string): Signature;
|
|
45
46
|
}
|
|
47
|
+
declare function getOneSigTypedDataDomain(): TypedDataDomain;
|
|
48
|
+
declare function getOneSigTypedDataDomainTypes(): Record<string, TypedDataField[]>;
|
|
49
|
+
declare function getOneSigTypedDataPrimaryTypes(): Record<string, TypedDataField[]>;
|
|
46
50
|
declare function getSigningData(tree: MerkleTree, { seed, expiry }: SigningOptions): Parameters<TypedDataSigner['_signTypedData']>;
|
|
47
51
|
declare function getDigestToSign(tree: MerkleTree, options: SigningOptions): string;
|
|
48
52
|
declare function signOneSigTree(tree: MerkleTree, signers: TypedDataSigner[], options: SigningOptions, enc?: 'string'): Promise<string>;
|
|
49
53
|
declare function signOneSigTree(tree: MerkleTree, signers: TypedDataSigner[], options: SigningOptions, enc: 'signature'): Promise<Signature>;
|
|
50
54
|
|
|
51
|
-
export { type BaseLeafData, type GenerateLeafsResult, Signature, type SigningOptions, compareAddresses, encodeLeaf, encodeLeafHeader, getDigestToSign, getSigningData, makeOneSigTree, signOneSigTree };
|
|
55
|
+
export { type BaseLeafData, type GenerateLeafsResult, Signature, type SigningOptions, compareAddresses, encodeLeaf, encodeLeafHeader, getDigestToSign, getOneSigTypedDataDomain, getOneSigTypedDataDomainTypes, getOneSigTypedDataPrimaryTypes, getSigningData, makeOneSigTree, signOneSigTree };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { BigNumber } from 'ethers';
|
|
1
|
+
import { BigNumber, TypedDataDomain, TypedDataField } from 'ethers';
|
|
2
2
|
import { MerkleTree } from 'merkletreejs';
|
|
3
3
|
export { MerkleTree } from 'merkletreejs';
|
|
4
4
|
import { TypedDataSigner } from '@ethersproject/abstract-signer';
|
|
5
|
+
export { TypedDataSigner } from '@ethersproject/abstract-signer';
|
|
5
6
|
|
|
6
7
|
interface BaseLeafData<TargetAddressType = unknown, CallData = unknown> {
|
|
7
8
|
nonce: bigint;
|
|
@@ -43,9 +44,12 @@ declare class Signature {
|
|
|
43
44
|
*/
|
|
44
45
|
static concatenateSignatures(input: SignatureLike[], digest: Buffer | string): Signature;
|
|
45
46
|
}
|
|
47
|
+
declare function getOneSigTypedDataDomain(): TypedDataDomain;
|
|
48
|
+
declare function getOneSigTypedDataDomainTypes(): Record<string, TypedDataField[]>;
|
|
49
|
+
declare function getOneSigTypedDataPrimaryTypes(): Record<string, TypedDataField[]>;
|
|
46
50
|
declare function getSigningData(tree: MerkleTree, { seed, expiry }: SigningOptions): Parameters<TypedDataSigner['_signTypedData']>;
|
|
47
51
|
declare function getDigestToSign(tree: MerkleTree, options: SigningOptions): string;
|
|
48
52
|
declare function signOneSigTree(tree: MerkleTree, signers: TypedDataSigner[], options: SigningOptions, enc?: 'string'): Promise<string>;
|
|
49
53
|
declare function signOneSigTree(tree: MerkleTree, signers: TypedDataSigner[], options: SigningOptions, enc: 'signature'): Promise<Signature>;
|
|
50
54
|
|
|
51
|
-
export { type BaseLeafData, type GenerateLeafsResult, Signature, type SigningOptions, compareAddresses, encodeLeaf, encodeLeafHeader, getDigestToSign, getSigningData, makeOneSigTree, signOneSigTree };
|
|
55
|
+
export { type BaseLeafData, type GenerateLeafsResult, Signature, type SigningOptions, compareAddresses, encodeLeaf, encodeLeafHeader, getDigestToSign, getOneSigTypedDataDomain, getOneSigTypedDataDomainTypes, getOneSigTypedDataPrimaryTypes, getSigningData, makeOneSigTree, signOneSigTree };
|
package/dist/index.js
CHANGED
|
@@ -33,6 +33,9 @@ __export(src_exports, {
|
|
|
33
33
|
encodeLeaf: () => encodeLeaf,
|
|
34
34
|
encodeLeafHeader: () => encodeLeafHeader,
|
|
35
35
|
getDigestToSign: () => getDigestToSign,
|
|
36
|
+
getOneSigTypedDataDomain: () => getOneSigTypedDataDomain,
|
|
37
|
+
getOneSigTypedDataDomainTypes: () => getOneSigTypedDataDomainTypes,
|
|
38
|
+
getOneSigTypedDataPrimaryTypes: () => getOneSigTypedDataPrimaryTypes,
|
|
36
39
|
getSigningData: () => getSigningData,
|
|
37
40
|
makeOneSigTree: () => makeOneSigTree,
|
|
38
41
|
signOneSigTree: () => signOneSigTree
|
|
@@ -215,27 +218,46 @@ var _Signature = class _Signature {
|
|
|
215
218
|
};
|
|
216
219
|
_value = new WeakMap();
|
|
217
220
|
var Signature = _Signature;
|
|
221
|
+
var ONE_SIG_TYPED_DATA_DOMAIN = {
|
|
222
|
+
name: "OneSig",
|
|
223
|
+
version: "0.0.1",
|
|
224
|
+
chainId: 1,
|
|
225
|
+
// this is hardcoded to Ethereum mainnet
|
|
226
|
+
verifyingContract: "0x000000000000000000000000000000000000dEaD"
|
|
227
|
+
// this is hardcoded to a dead address
|
|
228
|
+
};
|
|
229
|
+
function getOneSigTypedDataDomain() {
|
|
230
|
+
return ONE_SIG_TYPED_DATA_DOMAIN;
|
|
231
|
+
}
|
|
232
|
+
var ONE_SIG_TYPED_DATA_DOMAIN_TYPES = {
|
|
233
|
+
EIP712Domain: [
|
|
234
|
+
{ name: "name", type: "string" },
|
|
235
|
+
{ name: "version", type: "string" },
|
|
236
|
+
{ name: "chainId", type: "uint256" },
|
|
237
|
+
{ name: "verifyingContract", type: "address" }
|
|
238
|
+
]
|
|
239
|
+
};
|
|
240
|
+
function getOneSigTypedDataDomainTypes() {
|
|
241
|
+
return ONE_SIG_TYPED_DATA_DOMAIN_TYPES;
|
|
242
|
+
}
|
|
243
|
+
var ONE_SIG_TYPED_DATA_PRIMARY_TYPES = {
|
|
244
|
+
SignMerkleRoot: [
|
|
245
|
+
{ name: "seed", type: "bytes32" },
|
|
246
|
+
{ name: "merkleRoot", type: "bytes32" },
|
|
247
|
+
{ name: "expiry", type: "uint256" }
|
|
248
|
+
]
|
|
249
|
+
};
|
|
250
|
+
function getOneSigTypedDataPrimaryTypes() {
|
|
251
|
+
return ONE_SIG_TYPED_DATA_PRIMARY_TYPES;
|
|
252
|
+
}
|
|
218
253
|
function getSigningData(tree, { seed, expiry }) {
|
|
219
254
|
return [
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
version: "0.0.1",
|
|
223
|
-
chainId: 1,
|
|
224
|
-
// this is hardcoded to Ethereum mainnet
|
|
225
|
-
verifyingContract: "0x000000000000000000000000000000000000dEaD"
|
|
226
|
-
// this is hardcoded to a dead address
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
SignMerkleRoot: [
|
|
230
|
-
{ name: "seed", type: "bytes32" },
|
|
231
|
-
{ name: "merkleRoot", type: "bytes32" },
|
|
232
|
-
{ name: "expiry", type: "uint256" }
|
|
233
|
-
]
|
|
234
|
-
},
|
|
255
|
+
getOneSigTypedDataDomain(),
|
|
256
|
+
getOneSigTypedDataPrimaryTypes(),
|
|
235
257
|
{
|
|
236
258
|
seed,
|
|
237
259
|
expiry,
|
|
238
|
-
merkleRoot: tree.
|
|
260
|
+
merkleRoot: tree.getHexRoot()
|
|
239
261
|
}
|
|
240
262
|
];
|
|
241
263
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -184,27 +184,46 @@ var _Signature = class _Signature {
|
|
|
184
184
|
};
|
|
185
185
|
_value = new WeakMap();
|
|
186
186
|
var Signature = _Signature;
|
|
187
|
+
var ONE_SIG_TYPED_DATA_DOMAIN = {
|
|
188
|
+
name: "OneSig",
|
|
189
|
+
version: "0.0.1",
|
|
190
|
+
chainId: 1,
|
|
191
|
+
// this is hardcoded to Ethereum mainnet
|
|
192
|
+
verifyingContract: "0x000000000000000000000000000000000000dEaD"
|
|
193
|
+
// this is hardcoded to a dead address
|
|
194
|
+
};
|
|
195
|
+
function getOneSigTypedDataDomain() {
|
|
196
|
+
return ONE_SIG_TYPED_DATA_DOMAIN;
|
|
197
|
+
}
|
|
198
|
+
var ONE_SIG_TYPED_DATA_DOMAIN_TYPES = {
|
|
199
|
+
EIP712Domain: [
|
|
200
|
+
{ name: "name", type: "string" },
|
|
201
|
+
{ name: "version", type: "string" },
|
|
202
|
+
{ name: "chainId", type: "uint256" },
|
|
203
|
+
{ name: "verifyingContract", type: "address" }
|
|
204
|
+
]
|
|
205
|
+
};
|
|
206
|
+
function getOneSigTypedDataDomainTypes() {
|
|
207
|
+
return ONE_SIG_TYPED_DATA_DOMAIN_TYPES;
|
|
208
|
+
}
|
|
209
|
+
var ONE_SIG_TYPED_DATA_PRIMARY_TYPES = {
|
|
210
|
+
SignMerkleRoot: [
|
|
211
|
+
{ name: "seed", type: "bytes32" },
|
|
212
|
+
{ name: "merkleRoot", type: "bytes32" },
|
|
213
|
+
{ name: "expiry", type: "uint256" }
|
|
214
|
+
]
|
|
215
|
+
};
|
|
216
|
+
function getOneSigTypedDataPrimaryTypes() {
|
|
217
|
+
return ONE_SIG_TYPED_DATA_PRIMARY_TYPES;
|
|
218
|
+
}
|
|
187
219
|
function getSigningData(tree, { seed, expiry }) {
|
|
188
220
|
return [
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
version: "0.0.1",
|
|
192
|
-
chainId: 1,
|
|
193
|
-
// this is hardcoded to Ethereum mainnet
|
|
194
|
-
verifyingContract: "0x000000000000000000000000000000000000dEaD"
|
|
195
|
-
// this is hardcoded to a dead address
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
SignMerkleRoot: [
|
|
199
|
-
{ name: "seed", type: "bytes32" },
|
|
200
|
-
{ name: "merkleRoot", type: "bytes32" },
|
|
201
|
-
{ name: "expiry", type: "uint256" }
|
|
202
|
-
]
|
|
203
|
-
},
|
|
221
|
+
getOneSigTypedDataDomain(),
|
|
222
|
+
getOneSigTypedDataPrimaryTypes(),
|
|
204
223
|
{
|
|
205
224
|
seed,
|
|
206
225
|
expiry,
|
|
207
|
-
merkleRoot: tree.
|
|
226
|
+
merkleRoot: tree.getHexRoot()
|
|
208
227
|
}
|
|
209
228
|
];
|
|
210
229
|
}
|
|
@@ -239,6 +258,9 @@ export {
|
|
|
239
258
|
encodeLeaf,
|
|
240
259
|
encodeLeafHeader,
|
|
241
260
|
getDigestToSign,
|
|
261
|
+
getOneSigTypedDataDomain,
|
|
262
|
+
getOneSigTypedDataDomainTypes,
|
|
263
|
+
getOneSigTypedDataPrimaryTypes,
|
|
242
264
|
getSigningData,
|
|
243
265
|
makeOneSigTree,
|
|
244
266
|
signOneSigTree
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/onesig-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"license": "GPL-3.0-only",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -25,19 +25,15 @@
|
|
|
25
25
|
]
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@ethersproject/abstract-signer": "^5.
|
|
29
|
-
"ethers": "^5.
|
|
28
|
+
"@ethersproject/abstract-signer": "^5.8.0",
|
|
29
|
+
"ethers": "^5.8.0",
|
|
30
30
|
"merkletreejs": "^0.3.11"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@babel/core": "^7.23.9",
|
|
34
33
|
"@jest/globals": "^29.7.0",
|
|
35
34
|
"@layerzerolabs/eslint-config-next": "^3.0.75",
|
|
36
35
|
"@layerzerolabs/prettier-config-next": "^3.0.75",
|
|
37
|
-
"@openzeppelin/contracts": "5.0.2",
|
|
38
|
-
"@openzeppelin/contracts-upgradeable": "5.0.2",
|
|
39
36
|
"@rushstack/eslint-patch": "^1.7.0",
|
|
40
|
-
"@typechain/ethers-v5": "^10.2.1",
|
|
41
37
|
"@types/node": "20.10.0",
|
|
42
38
|
"dotenv": "^16.4.1",
|
|
43
39
|
"eslint": "^8.55.0",
|
|
@@ -45,10 +41,8 @@
|
|
|
45
41
|
"husky": "^8.0.3",
|
|
46
42
|
"jest": "^29.7.0",
|
|
47
43
|
"lint-staged": "^15.2.2",
|
|
48
|
-
"mocha": "^10.2.0",
|
|
49
44
|
"prettier": "^3.2.5",
|
|
50
45
|
"rimraf": "^5.0.5",
|
|
51
|
-
"solidity-coverage": "^0.8.12",
|
|
52
46
|
"typescript": "^5.3.3"
|
|
53
47
|
},
|
|
54
48
|
"packageManager": "pnpm@8.14.0",
|