@exodus/web3-ethereum-utils 4.0.1 → 4.2.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.
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { tryParsingSIWE } from '@exodus/web3-utils';
|
|
1
2
|
import assert from 'minimalistic-assert';
|
|
2
3
|
import { getMessageType } from './simulation/getMessageType.js';
|
|
3
4
|
import { simulateMessage } from './simulation/simulateMessage.js';
|
|
4
|
-
import { tryParsingSIWE } from './simulation/tryParsingSIWE.js';
|
|
5
5
|
export const createSimulateMessage = ({ apiEndpoint = 'https://simulation.a.exodus.io/simulateMessage', headers = {
|
|
6
6
|
'X-Api-Version': '2023-06-05',
|
|
7
7
|
}, } = {}) => async ({ message, url, asset, address, }) => {
|
|
@@ -14,12 +14,14 @@ export const createSimulateMessage = ({ apiEndpoint = 'https://simulation.a.exod
|
|
|
14
14
|
if (messageType === 2 /* MessageTypeEnum.Unknown */) {
|
|
15
15
|
return simulationResult;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
if (messageType === 0 /* MessageTypeEnum.RawMessage */) {
|
|
18
|
+
tryParsingSIWE({
|
|
19
|
+
address,
|
|
20
|
+
message,
|
|
21
|
+
url,
|
|
22
|
+
simulationResult,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
23
25
|
await simulateMessage({
|
|
24
26
|
address,
|
|
25
27
|
message: {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exodus/web3-ethereum-utils",
|
|
3
3
|
"description": "Web3 Ethereum utils.",
|
|
4
|
-
"version": "4.0
|
|
4
|
+
"version": "4.2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"module": "lib/index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@exodus/basic-utils": "^3.0.1",
|
|
41
41
|
"@exodus/ethereumjs": "^1.0.0",
|
|
42
|
-
"@exodus/web3-utils": "^1.
|
|
42
|
+
"@exodus/web3-utils": "^1.50.0",
|
|
43
43
|
"@metamask/eth-sig-util": "^4.0.1",
|
|
44
44
|
"minimalistic-assert": "^1.0.1"
|
|
45
45
|
},
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"url": "https://github.com/ExodusMovement/assets/issues?q=is%3Aissue+is%3Aopen+label%3Aweb3-ethereum-utils"
|
|
49
49
|
},
|
|
50
50
|
"homepage": "https://github.com/ExodusMovement/assets/tree/master/web3/web3-ethereum-utils",
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "a2667946a0e7b7475d2370b8235b738d813b9519"
|
|
52
52
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { MessageTypeEnum } from './getMessageType.js';
|
|
2
|
-
import type { MessageSimulationResult } from '@exodus/web3-types';
|
|
3
|
-
export declare const tryParsingSIWE: ({ message, messageType, url, simulationResult, }: {
|
|
4
|
-
message: string;
|
|
5
|
-
messageType: MessageTypeEnum;
|
|
6
|
-
url: URL;
|
|
7
|
-
simulationResult: MessageSimulationResult;
|
|
8
|
-
}) => void;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export const tryParsingSIWE = ({ message, messageType, url, simulationResult, }) => {
|
|
2
|
-
if (messageType === 1 /* MessageTypeEnum.TypedData */) {
|
|
3
|
-
return;
|
|
4
|
-
}
|
|
5
|
-
/*
|
|
6
|
-
Some dApps don't comply with EIP-4361 and use their custom Sign-In messages. This code block detects such known custom SIWE messages.
|
|
7
|
-
*/
|
|
8
|
-
if (url.hostname === 'rarible.com' &&
|
|
9
|
-
message.includes('I want to login on Rarible')) {
|
|
10
|
-
simulationResult.kind = {
|
|
11
|
-
kind: 'SIWE',
|
|
12
|
-
info: {
|
|
13
|
-
date: new Date(),
|
|
14
|
-
statement: 'I accept the Rarible Terms of Service https://static.rarible.com/terms.pdf and I am at least 13 years old.',
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
// TODO: add proper EIP-4361 parsing.
|
|
19
|
-
return;
|
|
20
|
-
};
|