gun-eth 1.3.0 → 1.3.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/README.md +1 -13
- package/package.json +1 -1
- package/src/examples/eth2gun.html +1 -1
- package/src/examples/gun2eth.html +1 -1
- package/src/gun-eth.js +5 -33
- package/src/index.js +6 -33
package/README.md
CHANGED
|
@@ -111,19 +111,7 @@ Learn more about plugin implementation [here](https://github.com/amark/gun/wiki/
|
|
|
111
111
|
```javascript
|
|
112
112
|
gun.shine("optimismSepolia", nodeId, data, callback);
|
|
113
113
|
```
|
|
114
|
-
|
|
115
|
-
- `setToken(token)`: Sets a custom token for Gun operations.
|
|
116
|
-
|
|
117
|
-
```javascript
|
|
118
|
-
gun.setToken("yourCustomToken");
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
- `getToken()`: Retrieves the current custom token.
|
|
122
|
-
|
|
123
|
-
```javascript
|
|
124
|
-
const currentToken = gun.getToken();
|
|
125
|
-
```
|
|
126
|
-
|
|
114
|
+
|
|
127
115
|
## SHINE
|
|
128
116
|
|
|
129
117
|
SHINE (Secure Hash Integrity Network Ethereum) provides a mechanism for verifying data integrity using Ethereum and Gun.js.
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<!-- Include Ethers.js -->
|
|
11
11
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/ethers/6.7.0/ethers.umd.min.js"></script>
|
|
12
12
|
<!-- Include the Gun-Eth plugin -->
|
|
13
|
-
<script src="
|
|
13
|
+
<script src="https://cdn.jsdelivr.net/npm/gun-eth/src/gun-eth.js""></script>
|
|
14
14
|
<style>
|
|
15
15
|
body {
|
|
16
16
|
font-family: Arial, sans-serif;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<!-- Include Ethers.js -->
|
|
11
11
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/ethers/6.7.0/ethers.umd.min.js"></script>
|
|
12
12
|
<!-- Include the Gun-Eth plugin -->
|
|
13
|
-
<script src="
|
|
13
|
+
<script src="https://cdn.jsdelivr.net/npm/gun-eth/src/gun-eth.js""></script>
|
|
14
14
|
<style>
|
|
15
15
|
body {
|
|
16
16
|
font-family: Arial, sans-serif;
|
package/src/gun-eth.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
})(typeof self !== "undefined" ? self : this, function (Gun, SEA, ethers) {
|
|
10
10
|
console.log('Factory del plugin Gun-Eth chiamata');
|
|
11
11
|
|
|
12
|
+
const MESSAGE_TO_SIGN = "Accesso a GunDB con Ethereum";
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
// Funzione per verificare se ethers è disponibile
|
|
@@ -180,7 +181,6 @@
|
|
|
180
181
|
|
|
181
182
|
let SHINE_OPTIMISM_SEPOLIA = "0x43D838b683F772F08f321E5FA265ad3e333BE9C2";
|
|
182
183
|
let SHINE_CONTRACT_ADDRESS;
|
|
183
|
-
let customToken = "";
|
|
184
184
|
let rpcUrl = "";
|
|
185
185
|
let privateKey = "";
|
|
186
186
|
|
|
@@ -219,38 +219,6 @@
|
|
|
219
219
|
return this;
|
|
220
220
|
};
|
|
221
221
|
|
|
222
|
-
/**
|
|
223
|
-
* Sets a custom token for Gun operations.
|
|
224
|
-
* @param {string} token - The token to be set.
|
|
225
|
-
* @returns {Gun} The Gun instance for chaining.
|
|
226
|
-
*/
|
|
227
|
-
Gun.chain.setToken = function (token) {
|
|
228
|
-
if (typeof token === "string" && token.length > 0) {
|
|
229
|
-
customToken = token;
|
|
230
|
-
console.log("Token set successfully:", token);
|
|
231
|
-
} else {
|
|
232
|
-
console.error("Invalid token. Must be a non-empty string.");
|
|
233
|
-
}
|
|
234
|
-
return this;
|
|
235
|
-
};
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Retrieves the current custom token.
|
|
239
|
-
* @returns {string} The current custom token.
|
|
240
|
-
*/
|
|
241
|
-
Gun.chain.getToken = function () {
|
|
242
|
-
return customToken;
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
// Add custom token to all 'put' operations
|
|
246
|
-
Gun.on("put", function (msg) {
|
|
247
|
-
const to = this.to;
|
|
248
|
-
msg.headers = {
|
|
249
|
-
token: customToken,
|
|
250
|
-
};
|
|
251
|
-
to.next(msg);
|
|
252
|
-
});
|
|
253
|
-
|
|
254
222
|
/**
|
|
255
223
|
* Verifies an Ethereum signature.
|
|
256
224
|
* @param {string} message - The original message that was signed.
|
|
@@ -291,6 +259,10 @@
|
|
|
291
259
|
*/
|
|
292
260
|
Gun.chain.createSignature = async function (message) {
|
|
293
261
|
try {
|
|
262
|
+
// Verifica se il messaggio è uguale a MESSAGE_TO_SIGN
|
|
263
|
+
if (message !== MESSAGE_TO_SIGN) {
|
|
264
|
+
throw new Error("Invalid message, valid message is: " + MESSAGE_TO_SIGN);
|
|
265
|
+
}
|
|
294
266
|
const signer = await getSigner();
|
|
295
267
|
const signature = await signer.signMessage(message);
|
|
296
268
|
console.log("Signature created:", signature);
|
package/src/index.js
CHANGED
|
@@ -7,11 +7,12 @@ const SHINE_ABI = SHINE.abi;
|
|
|
7
7
|
const SHINE_OPTIMISM_SEPOLIA = SHINE.address;
|
|
8
8
|
|
|
9
9
|
let SHINE_CONTRACT_ADDRESS;
|
|
10
|
-
let customToken = "";
|
|
11
10
|
|
|
12
11
|
let rpcUrl = "";
|
|
13
12
|
let privateKey = "";
|
|
14
13
|
|
|
14
|
+
const MESSAGE_TO_SIGN = "Accesso a GunDB con Ethereum";
|
|
15
|
+
|
|
15
16
|
/**
|
|
16
17
|
* Funzione per ottenere il signer
|
|
17
18
|
* @returns {Promise<ethers.Signer>} Il signer.
|
|
@@ -47,38 +48,6 @@ Gun.chain.setStandaloneConfig = function (newRpcUrl, newPrivateKey) {
|
|
|
47
48
|
return this;
|
|
48
49
|
};
|
|
49
50
|
|
|
50
|
-
/**
|
|
51
|
-
* Sets a custom token for Gun operations.
|
|
52
|
-
* @param {string} token - The token to be set.
|
|
53
|
-
* @returns {Gun} The Gun instance for chaining.
|
|
54
|
-
*/
|
|
55
|
-
Gun.chain.setToken = function (token) {
|
|
56
|
-
if (typeof token === "string" && token.length > 0) {
|
|
57
|
-
customToken = token;
|
|
58
|
-
console.log("Token set successfully:", token);
|
|
59
|
-
} else {
|
|
60
|
-
console.error("Invalid token. Must be a non-empty string.");
|
|
61
|
-
}
|
|
62
|
-
return this;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Retrieves the current custom token.
|
|
67
|
-
* @returns {string} The current custom token.
|
|
68
|
-
*/
|
|
69
|
-
Gun.chain.getToken = function () {
|
|
70
|
-
return customToken;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
// Add custom token to all 'put' operations
|
|
74
|
-
Gun.on("put", function (msg) {
|
|
75
|
-
const to = this.to;
|
|
76
|
-
msg.headers = {
|
|
77
|
-
token: customToken,
|
|
78
|
-
};
|
|
79
|
-
to.next(msg);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
51
|
/**
|
|
83
52
|
* Verifies an Ethereum signature.
|
|
84
53
|
* @param {string} message - The original message that was signed.
|
|
@@ -119,6 +88,10 @@ Gun.chain.generatePassword = function (signature) {
|
|
|
119
88
|
*/
|
|
120
89
|
Gun.chain.createSignature = async function (message) {
|
|
121
90
|
try {
|
|
91
|
+
// Verifica se il messaggio è uguale a MESSAGE_TO_SIGN
|
|
92
|
+
if (message !== MESSAGE_TO_SIGN) {
|
|
93
|
+
throw new Error("Invalid message, valid message is: " + MESSAGE_TO_SIGN);
|
|
94
|
+
}
|
|
122
95
|
const signer = await getSigner();
|
|
123
96
|
const signature = await signer.signMessage(message);
|
|
124
97
|
console.log("Signature created:", signature);
|