gun-eth 1.2.8 → 1.2.10
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/package.json +1 -1
- package/src/index.js +30 -23
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
const Gun = require("gun/gun");
|
|
1
|
+
/* const Gun = require("gun/gun");
|
|
2
2
|
const SEA = require("gun/sea");
|
|
3
3
|
const ethers = require("ethers");
|
|
4
|
-
const SHINE = require("../abis/SHINE.json");
|
|
4
|
+
const SHINE = require("../abis/SHINE.json"); */
|
|
5
|
+
|
|
6
|
+
import { ethers } from "ethers";
|
|
7
|
+
import SHINE from "../abis/SHINE.json";
|
|
8
|
+
import SEA from "gun/sea";
|
|
9
|
+
import Gun from "gun";
|
|
5
10
|
|
|
6
11
|
const SHINE_ABI = SHINE.abi;
|
|
7
12
|
const SHINE_OPTIMISM_SEPOLIA = SHINE.address;
|
|
@@ -12,6 +17,28 @@ let customToken = "";
|
|
|
12
17
|
let rpcUrl = "";
|
|
13
18
|
let privateKey = "";
|
|
14
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Funzione per ottenere il signer
|
|
22
|
+
* @returns {Promise<ethers.Signer>} Il signer.
|
|
23
|
+
*/
|
|
24
|
+
const getSigner = async () => {
|
|
25
|
+
if (rpcUrl && privateKey) {
|
|
26
|
+
// Modalità standalone
|
|
27
|
+
const provider = new ethers.JsonRpcProvider(rpcUrl);
|
|
28
|
+
return new ethers.Wallet(privateKey, provider);
|
|
29
|
+
} else if (
|
|
30
|
+
typeof window !== "undefined" &&
|
|
31
|
+
typeof window.ethereum !== "undefined"
|
|
32
|
+
) {
|
|
33
|
+
// Modalità browser
|
|
34
|
+
await window.ethereum.request({ method: "eth_requestAccounts" });
|
|
35
|
+
const provider = new ethers.BrowserProvider(window.ethereum);
|
|
36
|
+
return provider.getSigner();
|
|
37
|
+
} else {
|
|
38
|
+
throw new Error("No valid Ethereum provider found");
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
15
42
|
/**
|
|
16
43
|
* Sets standalone configuration for Gun.
|
|
17
44
|
* @param {string} newRpcUrl - The new RPC URL.
|
|
@@ -175,30 +202,10 @@ Gun.chain.shine = function (chain, nodeId, data, callback) {
|
|
|
175
202
|
} else {
|
|
176
203
|
throw new Error("Chain not supported");
|
|
177
204
|
}
|
|
178
|
-
|
|
179
|
-
// Funzione per ottenere il signer
|
|
180
|
-
const getSigner = async () => {
|
|
181
|
-
if (rpcUrl && privateKey) {
|
|
182
|
-
// Modalità standalone
|
|
183
|
-
const provider = new ethers.JsonRpcProvider(rpcUrl);
|
|
184
|
-
return new ethers.Wallet(privateKey, provider);
|
|
185
|
-
} else if (
|
|
186
|
-
typeof window !== "undefined" &&
|
|
187
|
-
typeof window.ethereum !== "undefined"
|
|
188
|
-
) {
|
|
189
|
-
// Modalità browser
|
|
190
|
-
await window.ethereum.request({ method: "eth_requestAccounts" });
|
|
191
|
-
const provider = new ethers.BrowserProvider(window.ethereum);
|
|
192
|
-
return provider.getSigner();
|
|
193
|
-
} else {
|
|
194
|
-
throw new Error("No valid Ethereum provider found");
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
|
|
198
205
|
// Funzione per verificare on-chain
|
|
199
206
|
const verifyOnChain = async (nodeId, contentHash) => {
|
|
200
207
|
console.log("Verifying on chain:", { nodeId, contentHash });
|
|
201
|
-
const signer = await getSigner();
|
|
208
|
+
const signer = await this.getSigner();
|
|
202
209
|
const contract = new ethers.Contract(
|
|
203
210
|
SHINE_CONTRACT_ADDRESS,
|
|
204
211
|
SHINE_ABI,
|