@mimicprotocol/sdk 0.0.1-rc.0 → 0.0.1-rc.2
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/axia/constants.d.ts +1 -0
- package/dist/axia/constants.d.ts.map +1 -1
- package/dist/axia/constants.js +2 -1
- package/dist/axia/constants.js.map +1 -1
- package/dist/axia/types.d.ts +3 -1
- package/dist/axia/types.d.ts.map +1 -1
- package/dist/axia/validators.d.ts +54 -0
- package/dist/axia/validators.d.ts.map +1 -1
- package/dist/axia/validators.js +14 -1
- package/dist/axia/validators.js.map +1 -1
- package/dist/client/core/config.d.ts +1 -1
- package/dist/client/core/config.d.ts.map +1 -1
- package/dist/client/core/config.js +1 -0
- package/dist/client/core/config.js.map +1 -1
- package/dist/client/core/http/FetchHttpClient.js +1 -1
- package/dist/client/core/http/FetchHttpClient.js.map +1 -1
- package/dist/client/core/http/utils.d.ts +7 -0
- package/dist/client/core/http/utils.d.ts.map +1 -1
- package/dist/client/core/http/utils.js +22 -0
- package/dist/client/core/http/utils.js.map +1 -1
- package/dist/client/domains/Client.d.ts +6 -3
- package/dist/client/domains/Client.d.ts.map +1 -1
- package/dist/client/domains/Client.js +6 -1
- package/dist/client/domains/Client.js.map +1 -1
- package/dist/client/domains/ConfigsClient.d.ts +9 -1
- package/dist/client/domains/ConfigsClient.d.ts.map +1 -1
- package/dist/client/domains/ConfigsClient.js +36 -0
- package/dist/client/domains/ConfigsClient.js.map +1 -1
- package/dist/client/domains/IntentsClient.d.ts +26 -0
- package/dist/client/domains/IntentsClient.d.ts.map +1 -0
- package/dist/client/domains/IntentsClient.js +74 -0
- package/dist/client/domains/IntentsClient.js.map +1 -0
- package/dist/client/domains/TasksClient.d.ts +2 -1
- package/dist/client/domains/TasksClient.d.ts.map +1 -1
- package/dist/client/domains/TasksClient.js +9 -0
- package/dist/client/domains/TasksClient.js.map +1 -1
- package/dist/client/domains/index.d.ts +1 -0
- package/dist/client/domains/index.d.ts.map +1 -1
- package/dist/client/domains/index.js +3 -1
- package/dist/client/domains/index.js.map +1 -1
- package/dist/client/index.d.ts +4 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +4 -3
- package/dist/client/index.js.map +1 -1
- package/dist/registry/ConfigSigner.d.ts +16 -6
- package/dist/registry/ConfigSigner.d.ts.map +1 -1
- package/dist/registry/ConfigSigner.js +51 -4
- package/dist/registry/ConfigSigner.js.map +1 -1
- package/dist/registry/eip712Types.d.ts +6 -18
- package/dist/registry/eip712Types.d.ts.map +1 -1
- package/dist/registry/eip712Types.js +15 -13
- package/dist/registry/eip712Types.js.map +1 -1
- package/dist/registry/types.d.ts +8 -8
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/types.js.map +1 -1
- package/dist/registry/validators.d.ts +200 -1699
- package/dist/registry/validators.d.ts.map +1 -1
- package/dist/registry/validators.js +15 -21
- package/dist/registry/validators.js.map +1 -1
- package/dist/relayer/types.d.ts +2 -1
- package/dist/relayer/types.d.ts.map +1 -1
- package/dist/relayer/validators.d.ts +782 -0
- package/dist/relayer/validators.d.ts.map +1 -1
- package/dist/relayer/validators.js +12 -11
- package/dist/relayer/validators.js.map +1 -1
- package/dist/runner/validators.d.ts +453 -3
- package/dist/runner/validators.d.ts.map +1 -1
- package/dist/runner/validators.js +3 -1
- package/dist/runner/validators.js.map +1 -1
- package/dist/shared/codec/encoder.d.ts +18 -1
- package/dist/shared/codec/encoder.d.ts.map +1 -1
- package/dist/shared/codec/encoder.js +50 -6
- package/dist/shared/codec/encoder.js.map +1 -1
- package/dist/shared/signer/WindowEthereumSigner.d.ts +17 -0
- package/dist/shared/signer/WindowEthereumSigner.d.ts.map +1 -0
- package/dist/shared/signer/WindowEthereumSigner.js +50 -0
- package/dist/shared/signer/WindowEthereumSigner.js.map +1 -0
- package/dist/shared/signer/index.d.ts +1 -0
- package/dist/shared/signer/index.d.ts.map +1 -1
- package/dist/shared/signer/index.js +1 -0
- package/dist/shared/signer/index.js.map +1 -1
- package/dist/shared/signer/types.d.ts +7 -1
- package/dist/shared/signer/types.d.ts.map +1 -1
- package/dist/shared/utils/addresses.d.ts +0 -3
- package/dist/shared/utils/addresses.d.ts.map +1 -1
- package/dist/shared/utils/addresses.js +1 -7
- package/dist/shared/utils/addresses.js.map +1 -1
- package/dist/shared/utils/chains.d.ts +1 -1
- package/dist/shared/utils/chains.js +1 -1
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/dist/shared/utils/tokens.d.ts +7 -0
- package/dist/shared/utils/tokens.d.ts.map +1 -0
- package/dist/shared/utils/tokens.js +16 -0
- package/dist/shared/utils/tokens.js.map +1 -0
- package/dist/shared/validators/eip712Types.d.ts +6 -0
- package/dist/shared/validators/eip712Types.d.ts.map +1 -0
- package/dist/shared/validators/eip712Types.js +12 -0
- package/dist/shared/validators/eip712Types.js.map +1 -0
- package/dist/shared/validators/index.d.ts +1 -0
- package/dist/shared/validators/index.d.ts.map +1 -1
- package/dist/shared/validators/index.js +1 -0
- package/dist/shared/validators/index.js.map +1 -1
- package/dist/validator/ValidatorSigner.d.ts +10 -0
- package/dist/validator/ValidatorSigner.d.ts.map +1 -0
- package/dist/validator/ValidatorSigner.js +27 -0
- package/dist/validator/ValidatorSigner.js.map +1 -0
- package/dist/validator/eip712Types.d.ts +17 -0
- package/dist/validator/eip712Types.d.ts.map +1 -0
- package/dist/validator/eip712Types.js +14 -0
- package/dist/validator/eip712Types.js.map +1 -0
- package/dist/validator/index.d.ts +2 -0
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +2 -0
- package/dist/validator/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hashIntent = hashIntent;
|
|
3
4
|
exports.encodeIntent = encodeIntent;
|
|
5
|
+
exports.hashProposal = hashProposal;
|
|
4
6
|
exports.encodeProposal = encodeProposal;
|
|
5
7
|
exports.encodeSwapIntent = encodeSwapIntent;
|
|
6
8
|
exports.encodeSwapProposal = encodeSwapProposal;
|
|
7
9
|
exports.encodeTransferIntent = encodeTransferIntent;
|
|
8
10
|
exports.encodeCallIntent = encodeCallIntent;
|
|
11
|
+
exports.hashExecution = hashExecution;
|
|
9
12
|
exports.encodeExecution = encodeExecution;
|
|
10
13
|
exports.encodeCronExecution = encodeCronExecution;
|
|
11
14
|
exports.encodeEventExecution = encodeEventExecution;
|
|
15
|
+
exports.toRawIntent = toRawIntent;
|
|
12
16
|
const ethers_1 = require("ethers");
|
|
13
17
|
const eip712Types_1 = require("../eip712Types");
|
|
18
|
+
const validators_1 = require("../validators");
|
|
19
|
+
function hashIntent(intent) {
|
|
20
|
+
return (0, ethers_1.keccak256)(encodeIntent(intent));
|
|
21
|
+
}
|
|
14
22
|
function encodeIntent(intent) {
|
|
15
|
-
const maxFeesHash = (0, ethers_1.keccak256)(encodeMaxFees(intent.maxFees));
|
|
16
23
|
return ethers_1.AbiCoder.defaultAbiCoder().encode([
|
|
17
24
|
'bytes32', // type hash
|
|
18
25
|
'uint8', // op
|
|
@@ -30,19 +37,21 @@ function encodeIntent(intent) {
|
|
|
30
37
|
intent.nonce,
|
|
31
38
|
intent.deadline,
|
|
32
39
|
(0, ethers_1.keccak256)(intent.data),
|
|
33
|
-
|
|
40
|
+
(0, ethers_1.keccak256)(encodeMaxFees(intent.maxFees)),
|
|
34
41
|
]);
|
|
35
42
|
}
|
|
36
43
|
function encodeMaxFees(maxFees) {
|
|
37
44
|
const maxFeesHashes = maxFees.map((maxFee) => (0, ethers_1.keccak256)(encodeMaxFee(maxFee)));
|
|
38
|
-
return
|
|
45
|
+
return '0x' + maxFeesHashes.map((hash) => hash.slice(2)).join('');
|
|
39
46
|
}
|
|
40
47
|
function encodeMaxFee(maxFee) {
|
|
41
48
|
return ethers_1.AbiCoder.defaultAbiCoder().encode(['bytes32', 'address', 'uint256'], [eip712Types_1.MAX_FEE_TYPE_HASH, maxFee.token, maxFee.amount]);
|
|
42
49
|
}
|
|
50
|
+
function hashProposal(proposal, intentOrHash) {
|
|
51
|
+
return (0, ethers_1.keccak256)(encodeProposal(proposal, intentOrHash));
|
|
52
|
+
}
|
|
43
53
|
function encodeProposal(proposal, intentOrHash) {
|
|
44
|
-
const intentHash = typeof intentOrHash == 'string' ? intentOrHash : (
|
|
45
|
-
const feesHash = (0, ethers_1.keccak256)(encodeFees(proposal.fees));
|
|
54
|
+
const intentHash = typeof intentOrHash == 'string' ? intentOrHash : hashIntent(intentOrHash);
|
|
46
55
|
return ethers_1.AbiCoder.defaultAbiCoder().encode([
|
|
47
56
|
'bytes32', // type hash
|
|
48
57
|
'bytes32', // intent hash
|
|
@@ -50,7 +59,14 @@ function encodeProposal(proposal, intentOrHash) {
|
|
|
50
59
|
'uint256', // deadline
|
|
51
60
|
'bytes32', // keccak256 of data
|
|
52
61
|
'bytes32', // fees hash
|
|
53
|
-
], [
|
|
62
|
+
], [
|
|
63
|
+
eip712Types_1.PROPOSAL_TYPE_HASH,
|
|
64
|
+
intentHash,
|
|
65
|
+
proposal.solver,
|
|
66
|
+
proposal.deadline,
|
|
67
|
+
(0, ethers_1.keccak256)(proposal.data),
|
|
68
|
+
(0, ethers_1.keccak256)(encodeFees(proposal.fees)),
|
|
69
|
+
]);
|
|
54
70
|
}
|
|
55
71
|
function encodeFees(fees) {
|
|
56
72
|
return '0x' + fees.map((fee) => ethers_1.AbiCoder.defaultAbiCoder().encode(['uint256'], [fee]).slice(2)).join('');
|
|
@@ -79,6 +95,9 @@ function encodeTransferIntent(intent) {
|
|
|
79
95
|
function encodeCallIntent(intent) {
|
|
80
96
|
return ethers_1.AbiCoder.defaultAbiCoder().encode([eip712Types_1.CALL_INTENT_ABI_TYPE], [[intent.chainId, (intent.calls || []).map((call) => [call.target, call.data, call.value])]]);
|
|
81
97
|
}
|
|
98
|
+
function hashExecution(execution) {
|
|
99
|
+
return (0, ethers_1.keccak256)(encodeExecution(execution));
|
|
100
|
+
}
|
|
82
101
|
function encodeExecution(execution) {
|
|
83
102
|
return ethers_1.AbiCoder.defaultAbiCoder().encode([
|
|
84
103
|
'bytes32', // type hash
|
|
@@ -93,4 +112,29 @@ function encodeCronExecution(execution) {
|
|
|
93
112
|
function encodeEventExecution(execution) {
|
|
94
113
|
return ethers_1.AbiCoder.defaultAbiCoder().encode([eip712Types_1.EVENT_EXECUTION_ABI_TYPE], [[execution.chainId, execution.contract, execution.block, execution.index]]);
|
|
95
114
|
}
|
|
115
|
+
function toRawIntent(output) {
|
|
116
|
+
let data = '';
|
|
117
|
+
switch (output.op) {
|
|
118
|
+
case validators_1.OpType.Swap:
|
|
119
|
+
data = encodeSwapIntent(output);
|
|
120
|
+
break;
|
|
121
|
+
case validators_1.OpType.Transfer:
|
|
122
|
+
data = encodeTransferIntent(output);
|
|
123
|
+
break;
|
|
124
|
+
case validators_1.OpType.Call:
|
|
125
|
+
data = encodeCallIntent(output);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
const { settler, user, nonce, deadline, op, maxFees } = output;
|
|
129
|
+
return {
|
|
130
|
+
settler,
|
|
131
|
+
user,
|
|
132
|
+
nonce,
|
|
133
|
+
deadline,
|
|
134
|
+
op,
|
|
135
|
+
data,
|
|
136
|
+
maxFees,
|
|
137
|
+
hash: hashIntent({ settler, user, nonce, deadline, op, data, maxFees }),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
96
140
|
//# sourceMappingURL=encoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/shared/codec/encoder.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/shared/codec/encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Address, Signature } from '../types';
|
|
2
|
+
import { Signer } from './Signer';
|
|
3
|
+
import { TypedDataDomain, TypedDataTypes } from './types';
|
|
4
|
+
declare global {
|
|
5
|
+
interface Window {
|
|
6
|
+
ethereum: any;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export declare class WindowEthereumSigner implements Signer {
|
|
10
|
+
readonly walletAddress: string;
|
|
11
|
+
constructor(walletAddress: string);
|
|
12
|
+
signMessage(message: string): Promise<Signature>;
|
|
13
|
+
signTypedData(domain: TypedDataDomain, types: TypedDataTypes, value: Record<string, unknown>): Promise<Signature>;
|
|
14
|
+
verifyMessage(message: string, signature: Signature): Address;
|
|
15
|
+
verifyTypedData(domain: TypedDataDomain, types: TypedDataTypes, value: Record<string, unknown>, signature: Signature): Address;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=WindowEthereumSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowEthereumSigner.d.ts","sourceRoot":"","sources":["../../../src/shared/signer/WindowEthereumSigner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QAEd,QAAQ,EAAE,GAAG,CAAA;KACd;CACF;AAED,qBAAa,oBAAqB,YAAW,MAAM;aACrB,aAAa,EAAE,MAAM;gBAArB,aAAa,EAAE,MAAM;IAM3C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAYhD,aAAa,CACjB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,SAAS,CAAC;IAkBrB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAI7D,eAAe,CACb,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO;CAGX"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WindowEthereumSigner = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
class WindowEthereumSigner {
|
|
6
|
+
constructor(walletAddress) {
|
|
7
|
+
this.walletAddress = walletAddress;
|
|
8
|
+
if (typeof window.ethereum === 'undefined') {
|
|
9
|
+
throw new Error('Wallet not detected. Please connect your wallet.');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
async signMessage(message) {
|
|
13
|
+
try {
|
|
14
|
+
return await window.ethereum.request({
|
|
15
|
+
method: 'personal_sign',
|
|
16
|
+
params: [message, this.walletAddress],
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
console.error('🛑 Signing error:', err);
|
|
21
|
+
throw new Error('User rejected the signature request.');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async signTypedData(domain, types, value) {
|
|
25
|
+
const typedData = {
|
|
26
|
+
domain,
|
|
27
|
+
primaryType: 'Config',
|
|
28
|
+
types: types,
|
|
29
|
+
message: value,
|
|
30
|
+
};
|
|
31
|
+
try {
|
|
32
|
+
return await window.ethereum.request({
|
|
33
|
+
method: 'eth_signTypedData_v4',
|
|
34
|
+
params: [this.walletAddress, JSON.stringify(typedData)],
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
console.error('🛑 Signing error:', err);
|
|
39
|
+
throw new Error('User rejected the signature request.');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
verifyMessage(message, signature) {
|
|
43
|
+
return ethers_1.ethers.verifyMessage(message, signature);
|
|
44
|
+
}
|
|
45
|
+
verifyTypedData(domain, types, value, signature) {
|
|
46
|
+
return ethers_1.ethers.verifyTypedData(domain, types, value, signature);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.WindowEthereumSigner = WindowEthereumSigner;
|
|
50
|
+
//# sourceMappingURL=WindowEthereumSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowEthereumSigner.js","sourceRoot":"","sources":["../../../src/shared/signer/WindowEthereumSigner.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAc/B,MAAa,oBAAoB;IAC/B,YAA4B,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;QAC/C,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACnC,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;aACtC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YACvC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAuB,EACvB,KAAqB,EACrB,KAA8B;QAE9B,MAAM,SAAS,GAAG;YAChB,MAAM;YACN,WAAW,EAAE,QAAQ;YACrB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK;SACf,CAAA;QACD,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACnC,MAAM,EAAE,sBAAsB;gBAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aACxD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YACvC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,SAAoB;QACjD,OAAO,eAAM,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACjD,CAAC;IAED,eAAe,CACb,MAAuB,EACvB,KAAqB,EACrB,KAA8B,EAC9B,SAAoB;QAEpB,OAAO,eAAM,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;CACF;AArDD,oDAqDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,wBAAwB,CAAA"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./EthersSigner"), exports);
|
|
18
18
|
__exportStar(require("./Signer"), exports);
|
|
19
19
|
__exportStar(require("./types"), exports);
|
|
20
|
+
__exportStar(require("./WindowEthereumSigner"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/signer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,2CAAwB;AACxB,0CAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/signer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,2CAAwB;AACxB,0CAAuB;AACvB,yDAAsC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { Signature } from '../types';
|
|
3
|
-
export type
|
|
3
|
+
export type NoNullFields<Ob> = {
|
|
4
|
+
[K in keyof Ob]: NonNullable<Ob[K]>;
|
|
5
|
+
};
|
|
6
|
+
export type TypedDataDomain = NoNullFields<ethers.TypedDataDomain> & {
|
|
7
|
+
chainId?: number;
|
|
8
|
+
salt?: string;
|
|
9
|
+
};
|
|
4
10
|
export type TypedDataField = ethers.TypedDataField;
|
|
5
11
|
export type TypedDataTypes = Record<string, Array<TypedDataField>>;
|
|
6
12
|
export type SignatureAndTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/signer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/signer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,MAAM,YAAY,CAAC,EAAE,IAAI;KAAG,CAAC,IAAI,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEtE,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;AAElE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,cAAc,CAAA;CACtB,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
2
2
|
export declare const ONES_ADDRESS = "0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF";
|
|
3
|
-
export declare const USD_ADDRESS = "0x0000000000000000000000000000000000000348";
|
|
4
|
-
export declare const NATIVE_TOKEN_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
5
3
|
export declare function equalAddresses(a: string, b: string): boolean;
|
|
6
|
-
export declare function isNativeToken(token: string): boolean;
|
|
7
4
|
//# sourceMappingURL=addresses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/addresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,+CAA+C,CAAA;AACxE,eAAO,MAAM,YAAY,+CAA+C,CAAA;
|
|
1
|
+
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/addresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,+CAA+C,CAAA;AACxE,eAAO,MAAM,YAAY,+CAA+C,CAAA;AAExE,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5D"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ONES_ADDRESS = exports.ZERO_ADDRESS = void 0;
|
|
4
4
|
exports.equalAddresses = equalAddresses;
|
|
5
|
-
exports.isNativeToken = isNativeToken;
|
|
6
5
|
exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
7
6
|
exports.ONES_ADDRESS = '0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF';
|
|
8
|
-
exports.USD_ADDRESS = '0x0000000000000000000000000000000000000348';
|
|
9
|
-
exports.NATIVE_TOKEN_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
10
7
|
function equalAddresses(a, b) {
|
|
11
8
|
return a.toLowerCase() === b.toLowerCase();
|
|
12
9
|
}
|
|
13
|
-
function isNativeToken(token) {
|
|
14
|
-
return equalAddresses(token, exports.NATIVE_TOKEN_ADDRESS);
|
|
15
|
-
}
|
|
16
10
|
//# sourceMappingURL=addresses.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/shared/utils/addresses.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/shared/utils/addresses.ts"],"names":[],"mappings":";;;AAGA,wCAEC;AALY,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAC3D,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAExE,SAAgB,cAAc,CAAC,CAAS,EAAE,CAAS;IACjD,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA"}
|
|
@@ -19,5 +19,6 @@ __exportStar(require("./bytes"), exports);
|
|
|
19
19
|
__exportStar(require("./chains"), exports);
|
|
20
20
|
__exportStar(require("./numbers"), exports);
|
|
21
21
|
__exportStar(require("./random"), exports);
|
|
22
|
+
__exportStar(require("./tokens"), exports);
|
|
22
23
|
__exportStar(require("./validations"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,0CAAuB;AACvB,2CAAwB;AACxB,4CAAyB;AACzB,2CAAwB;AACxB,gDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,0CAAuB;AACvB,2CAAwB;AACxB,4CAAyB;AACzB,2CAAwB;AACxB,2CAAwB;AACxB,gDAA6B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BigNumberish } from './numbers';
|
|
2
|
+
export declare const USD_DECIMALS = 18;
|
|
3
|
+
export declare const USD_ADDRESS = "0x0000000000000000000000000000000000000348";
|
|
4
|
+
export declare const NATIVE_TOKEN_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
5
|
+
export declare function isNativeToken(token: string): boolean;
|
|
6
|
+
export declare function toFloatUsd(value: BigNumberish): number;
|
|
7
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,eAAO,MAAM,WAAW,+CAA+C,CAAA;AAEvE,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAEhF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEtD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NATIVE_TOKEN_ADDRESS = exports.USD_ADDRESS = exports.USD_DECIMALS = void 0;
|
|
4
|
+
exports.isNativeToken = isNativeToken;
|
|
5
|
+
exports.toFloatUsd = toFloatUsd;
|
|
6
|
+
const addresses_1 = require("./addresses");
|
|
7
|
+
exports.USD_DECIMALS = 18;
|
|
8
|
+
exports.USD_ADDRESS = '0x0000000000000000000000000000000000000348';
|
|
9
|
+
exports.NATIVE_TOKEN_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
10
|
+
function isNativeToken(token) {
|
|
11
|
+
return (0, addresses_1.equalAddresses)(token, exports.NATIVE_TOKEN_ADDRESS);
|
|
12
|
+
}
|
|
13
|
+
function toFloatUsd(value) {
|
|
14
|
+
return Number(BigInt(value).toString()) / 10 ** exports.USD_DECIMALS;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/shared/utils/tokens.ts"],"names":[],"mappings":";;;AAQA,sCAEC;AAED,gCAEC;AAdD,2CAA4C;AAG/B,QAAA,YAAY,GAAG,EAAE,CAAA;AACjB,QAAA,WAAW,GAAG,4CAA4C,CAAA;AAE1D,QAAA,oBAAoB,GAAG,4CAA4C,CAAA;AAEhF,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,IAAA,0BAAc,EAAC,KAAK,EAAE,4BAAoB,CAAC,CAAA;AACpD,CAAC;AAED,SAAgB,UAAU,CAAC,KAAmB;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,oBAAY,CAAA;AAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eip712Types.d.ts","sourceRoot":"","sources":["../../../src/shared/validators/eip712Types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAc,MAAM,KAAK,CAAA;AAEnC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,uDAGjF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eip712TypesToZodValidator = eip712TypesToZodValidator;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
function eip712TypesToZodValidator(fields) {
|
|
6
|
+
const items = fields.map(({ name, type }) => fieldToZodValidator(name, type));
|
|
7
|
+
return zod_1.z.tuple(items);
|
|
8
|
+
}
|
|
9
|
+
function fieldToZodValidator(name, type) {
|
|
10
|
+
return zod_1.z.object({ name: zod_1.z.literal(name), type: zod_1.z.literal(type) });
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=eip712Types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eip712Types.js","sourceRoot":"","sources":["../../../src/shared/validators/eip712Types.ts"],"names":[],"mappings":";;AAEA,8DAGC;AALD,6BAAmC;AAEnC,SAAgB,yBAAyB,CAAC,MAAwC;IAChF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAkC,CAAA;IAC9G,OAAO,OAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,IAAY;IACrD,OAAO,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./eip712Types"), exports);
|
|
17
18
|
__exportStar(require("./events"), exports);
|
|
18
19
|
__exportStar(require("./executions"), exports);
|
|
19
20
|
__exportStar(require("./intents"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/validators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,+CAA4B;AAC5B,4CAAyB;AACzB,+CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/validators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,2CAAwB;AACxB,+CAA4B;AAC5B,4CAAyB;AACzB,+CAA4B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Address, Signer } from '../shared';
|
|
2
|
+
export declare class ValidatorSigner {
|
|
3
|
+
private readonly signer;
|
|
4
|
+
constructor(signer: Signer);
|
|
5
|
+
recoverSignerFromExecutionSig(signature: string, executionSig: string): Address;
|
|
6
|
+
signExecutionSig(executionSig: string): Promise<string>;
|
|
7
|
+
recoverSignerFromIntentHash(signature: string, intentHash: string): Address;
|
|
8
|
+
signIntentHash(intentHash: string): Promise<string>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ValidatorSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidatorSigner.d.ts","sourceRoot":"","sources":["../../src/validator/ValidatorSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAQ3C,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAMzE,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAMrE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG1D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidatorSigner = void 0;
|
|
4
|
+
const eip712Types_1 = require("./eip712Types");
|
|
5
|
+
class ValidatorSigner {
|
|
6
|
+
constructor(signer) {
|
|
7
|
+
this.signer = signer;
|
|
8
|
+
}
|
|
9
|
+
recoverSignerFromExecutionSig(signature, executionSig) {
|
|
10
|
+
return this.signer
|
|
11
|
+
.verifyTypedData(eip712Types_1.VALIDATOR_712_DOMAIN, eip712Types_1.EXECUTION_SIG_VALIDATION_712_TYPES, { executionSig }, signature)
|
|
12
|
+
.toLowerCase();
|
|
13
|
+
}
|
|
14
|
+
async signExecutionSig(executionSig) {
|
|
15
|
+
return this.signer.signTypedData(eip712Types_1.VALIDATOR_712_DOMAIN, eip712Types_1.EXECUTION_SIG_VALIDATION_712_TYPES, { executionSig });
|
|
16
|
+
}
|
|
17
|
+
recoverSignerFromIntentHash(signature, intentHash) {
|
|
18
|
+
return this.signer
|
|
19
|
+
.verifyTypedData(eip712Types_1.VALIDATOR_712_DOMAIN, eip712Types_1.INTENT_HASH_VALIDATION_712_TYPES, { intentHash }, signature)
|
|
20
|
+
.toLowerCase();
|
|
21
|
+
}
|
|
22
|
+
async signIntentHash(intentHash) {
|
|
23
|
+
return this.signer.signTypedData(eip712Types_1.VALIDATOR_712_DOMAIN, eip712Types_1.INTENT_HASH_VALIDATION_712_TYPES, { intentHash });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ValidatorSigner = ValidatorSigner;
|
|
27
|
+
//# sourceMappingURL=ValidatorSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidatorSigner.js","sourceRoot":"","sources":["../../src/validator/ValidatorSigner.ts"],"names":[],"mappings":";;;AAEA,+CAIsB;AAEtB,MAAa,eAAe;IAC1B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,6BAA6B,CAAC,SAAiB,EAAE,YAAoB;QACnE,OAAO,IAAI,CAAC,MAAM;aACf,eAAe,CAAC,kCAAoB,EAAE,gDAAkC,EAAE,EAAE,YAAY,EAAE,EAAE,SAAS,CAAC;aACtG,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAAoB;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAoB,EAAE,gDAAkC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;IAC9G,CAAC;IAED,2BAA2B,CAAC,SAAiB,EAAE,UAAkB;QAC/D,OAAO,IAAI,CAAC,MAAM;aACf,eAAe,CAAC,kCAAoB,EAAE,8CAAgC,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC;aAClG,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAoB,EAAE,8CAAgC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IAC1G,CAAC;CACF;AAtBD,0CAsBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const VALIDATOR_712_DOMAIN: {
|
|
2
|
+
name: string;
|
|
3
|
+
version: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const EXECUTION_SIG_VALIDATION_712_TYPES: {
|
|
6
|
+
Validation: {
|
|
7
|
+
name: string;
|
|
8
|
+
type: string;
|
|
9
|
+
}[];
|
|
10
|
+
};
|
|
11
|
+
export declare const INTENT_HASH_VALIDATION_712_TYPES: {
|
|
12
|
+
Validation: {
|
|
13
|
+
name: string;
|
|
14
|
+
type: string;
|
|
15
|
+
}[];
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=eip712Types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eip712Types.d.ts","sourceRoot":"","sources":["../../src/validator/eip712Types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;CAGhC,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;CAE9C,CAAA;AAED,eAAO,MAAM,gCAAgC;;;;;CAE5C,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INTENT_HASH_VALIDATION_712_TYPES = exports.EXECUTION_SIG_VALIDATION_712_TYPES = exports.VALIDATOR_712_DOMAIN = void 0;
|
|
4
|
+
exports.VALIDATOR_712_DOMAIN = {
|
|
5
|
+
name: 'Mimic Protocol - Validator',
|
|
6
|
+
version: '1',
|
|
7
|
+
};
|
|
8
|
+
exports.EXECUTION_SIG_VALIDATION_712_TYPES = {
|
|
9
|
+
Validation: [{ name: 'executionSig', type: 'bytes' }],
|
|
10
|
+
};
|
|
11
|
+
exports.INTENT_HASH_VALIDATION_712_TYPES = {
|
|
12
|
+
Validation: [{ name: 'intentHash', type: 'bytes' }],
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=eip712Types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eip712Types.js","sourceRoot":"","sources":["../../src/validator/eip712Types.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,GAAG;CACb,CAAA;AAEY,QAAA,kCAAkC,GAAG;IAChD,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;CACtD,CAAA;AAEY,QAAA,gCAAgC,GAAG;IAC9C,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;CACpD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA"}
|
package/dist/validator/index.js
CHANGED
|
@@ -15,4 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./constants"), exports);
|
|
18
|
+
__exportStar(require("./eip712Types"), exports);
|
|
19
|
+
__exportStar(require("./ValidatorSigner"), exports);
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,gDAA6B;AAC7B,oDAAiC"}
|