@b3dotfun/sdk 0.0.28-alpha.1 → 0.0.28-alpha.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/cjs/global-account/react/hooks/useSiwe.native.d.ts +4 -0
- package/dist/cjs/global-account/react/hooks/useSiwe.native.js +40 -0
- package/dist/esm/global-account/react/hooks/useSiwe.native.d.ts +4 -0
- package/dist/esm/global-account/react/hooks/useSiwe.native.js +34 -0
- package/dist/types/global-account/react/hooks/useSiwe.native.d.ts +4 -0
- package/package.json +13 -1
- package/src/global-account/react/hooks/useSiwe.native.tsx +40 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useSiwe = useSiwe;
|
|
7
|
+
const app_1 = __importDefault(require("../../../global-account/app"));
|
|
8
|
+
const debug_1 = __importDefault(require("../../../shared/utils/debug"));
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
function useSiwe() {
|
|
11
|
+
const authenticate = (0, react_1.useCallback)(async (account, partnerId) => {
|
|
12
|
+
if (!account || !account.signMessage)
|
|
13
|
+
throw new Error("Account not found");
|
|
14
|
+
// generate challenge
|
|
15
|
+
const challenge = await app_1.default.service("global-accounts-challenge").create({
|
|
16
|
+
address: account.address,
|
|
17
|
+
});
|
|
18
|
+
(0, debug_1.default)("@@useAuthenticate:challenge", challenge);
|
|
19
|
+
// sign challenge
|
|
20
|
+
const signature = await account.signMessage({
|
|
21
|
+
message: challenge.message,
|
|
22
|
+
});
|
|
23
|
+
(0, debug_1.default)("@@useAuthenticate:signature", signature);
|
|
24
|
+
// authenticate
|
|
25
|
+
const response = await app_1.default.authenticate({
|
|
26
|
+
strategy: "smart-account-siwe",
|
|
27
|
+
message: challenge.message,
|
|
28
|
+
signature,
|
|
29
|
+
serverSignature: challenge.serverSignature,
|
|
30
|
+
nonce: challenge.nonce,
|
|
31
|
+
// http://localhost:5173/?referrerId=cd8fda06-3840-43d3-8f35-ae9472a13759
|
|
32
|
+
partnerId: partnerId,
|
|
33
|
+
});
|
|
34
|
+
(0, debug_1.default)("@@useAuthenticate:response", response);
|
|
35
|
+
return response;
|
|
36
|
+
}, []);
|
|
37
|
+
return {
|
|
38
|
+
authenticate,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import app from "../../../global-account/app.js";
|
|
2
|
+
import debug from "../../../shared/utils/debug.js";
|
|
3
|
+
import { useCallback } from "react";
|
|
4
|
+
export function useSiwe() {
|
|
5
|
+
const authenticate = useCallback(async (account, partnerId) => {
|
|
6
|
+
if (!account || !account.signMessage)
|
|
7
|
+
throw new Error("Account not found");
|
|
8
|
+
// generate challenge
|
|
9
|
+
const challenge = await app.service("global-accounts-challenge").create({
|
|
10
|
+
address: account.address,
|
|
11
|
+
});
|
|
12
|
+
debug("@@useAuthenticate:challenge", challenge);
|
|
13
|
+
// sign challenge
|
|
14
|
+
const signature = await account.signMessage({
|
|
15
|
+
message: challenge.message,
|
|
16
|
+
});
|
|
17
|
+
debug("@@useAuthenticate:signature", signature);
|
|
18
|
+
// authenticate
|
|
19
|
+
const response = await app.authenticate({
|
|
20
|
+
strategy: "smart-account-siwe",
|
|
21
|
+
message: challenge.message,
|
|
22
|
+
signature,
|
|
23
|
+
serverSignature: challenge.serverSignature,
|
|
24
|
+
nonce: challenge.nonce,
|
|
25
|
+
// http://localhost:5173/?referrerId=cd8fda06-3840-43d3-8f35-ae9472a13759
|
|
26
|
+
partnerId: partnerId,
|
|
27
|
+
});
|
|
28
|
+
debug("@@useAuthenticate:response", response);
|
|
29
|
+
return response;
|
|
30
|
+
}, []);
|
|
31
|
+
return {
|
|
32
|
+
authenticate,
|
|
33
|
+
};
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@b3dotfun/sdk",
|
|
3
|
-
"version": "0.0.28-alpha.
|
|
3
|
+
"version": "0.0.28-alpha.2",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"react-native": "./dist/cjs/index.native.js",
|
|
@@ -214,6 +214,18 @@
|
|
|
214
214
|
"types": "./dist/types/bondkit/components/TradingView/TradingView.d.ts",
|
|
215
215
|
"import": "./dist/esm/bondkit/components/TradingView/TradingView.js",
|
|
216
216
|
"require": "./dist/cjs/bondkit/components/TradingView/TradingView.js"
|
|
217
|
+
},
|
|
218
|
+
"./global-account/react/hooks/useSiwe": {
|
|
219
|
+
"react-native": {
|
|
220
|
+
"types": "./dist/types/global-account/react/hooks/useSiwe.native.d.ts",
|
|
221
|
+
"import": "./dist/esm/global-account/react/hooks/useSiwe.native.js",
|
|
222
|
+
"require": "./dist/cjs/global-account/react/hooks/useSiwe.native.js"
|
|
223
|
+
},
|
|
224
|
+
"default": {
|
|
225
|
+
"types": "./dist/types/global-account/react/hooks/useSiwe.d.ts",
|
|
226
|
+
"import": "./dist/esm/global-account/react/hooks/useSiwe.js",
|
|
227
|
+
"require": "./dist/cjs/global-account/react/hooks/useSiwe.js"
|
|
228
|
+
}
|
|
217
229
|
}
|
|
218
230
|
},
|
|
219
231
|
"files": [
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import app from "@b3dotfun/sdk/global-account/app";
|
|
2
|
+
import debug from "@b3dotfun/sdk/shared/utils/debug";
|
|
3
|
+
import { useCallback } from "react";
|
|
4
|
+
import { Account } from "thirdweb/wallets";
|
|
5
|
+
|
|
6
|
+
export function useSiwe() {
|
|
7
|
+
const authenticate = useCallback(async (account: Account, partnerId: string) => {
|
|
8
|
+
if (!account || !account.signMessage) throw new Error("Account not found");
|
|
9
|
+
// generate challenge
|
|
10
|
+
const challenge = await app.service("global-accounts-challenge").create({
|
|
11
|
+
address: account.address,
|
|
12
|
+
});
|
|
13
|
+
debug("@@useAuthenticate:challenge", challenge);
|
|
14
|
+
|
|
15
|
+
// sign challenge
|
|
16
|
+
const signature = await account.signMessage({
|
|
17
|
+
message: challenge.message,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
debug("@@useAuthenticate:signature", signature);
|
|
21
|
+
|
|
22
|
+
// authenticate
|
|
23
|
+
const response = await app.authenticate({
|
|
24
|
+
strategy: "smart-account-siwe",
|
|
25
|
+
message: challenge.message,
|
|
26
|
+
signature,
|
|
27
|
+
serverSignature: challenge.serverSignature,
|
|
28
|
+
nonce: challenge.nonce,
|
|
29
|
+
// http://localhost:5173/?referrerId=cd8fda06-3840-43d3-8f35-ae9472a13759
|
|
30
|
+
partnerId: partnerId,
|
|
31
|
+
});
|
|
32
|
+
debug("@@useAuthenticate:response", response);
|
|
33
|
+
|
|
34
|
+
return response;
|
|
35
|
+
}, []);
|
|
36
|
+
|
|
37
|
+
return {
|
|
38
|
+
authenticate,
|
|
39
|
+
};
|
|
40
|
+
}
|