aesirx-analytics 2.2.1 → 2.2.3
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/{Consent-3FMR7JQE.js → Consent-HRGYMPE6.js} +152 -117
- package/dist/analytics.js +8185 -6978
- package/dist/index.d.ts +7 -1
- package/dist/index.js +337 -54
- package/package.json +11 -10
@@ -214,9 +214,13 @@ import { useCallback, useContext, useEffect, useState } from "react";
|
|
214
214
|
// src/utils/Concordium.ts
|
215
215
|
import {
|
216
216
|
AccountAddress,
|
217
|
+
ContractAddress,
|
217
218
|
deserializeReceiveReturnValue,
|
219
|
+
ReceiveName,
|
220
|
+
ReturnValue,
|
218
221
|
SchemaVersion,
|
219
|
-
|
222
|
+
ContractName,
|
223
|
+
EntrypointName
|
220
224
|
} from "@concordium/web-sdk";
|
221
225
|
|
222
226
|
// src/utils/config.ts
|
@@ -226,27 +230,31 @@ var NFT_SMARTCONTRACT = {
|
|
226
230
|
name: "aesirx_web3_web3id",
|
227
231
|
schema: "//8DAQAAABIAAABhZXNpcnhfd2ViM193ZWIzaWQACgAAAAkAAABiYWxhbmNlT2YGEAEUAAIAAAAIAAAAdG9rZW5faWQdAAcAAABhZGRyZXNzFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBABGyUAAAAVBAAAAA4AAABJbnZhbGlkVG9rZW5JZAIRAAAASW5zdWZmaWNpZW50RnVuZHMCDAAAAFVuYXV0aG9yaXplZAIGAAAAQ3VzdG9tAQEAAAAVBgAAAAsAAABQYXJzZVBhcmFtcwIHAAAATG9nRnVsbAIMAAAATG9nTWFsZm9ybWVkAhQAAABUb2tlbklkQWxyZWFkeUV4aXN0cwITAAAASW52b2tlQ29udHJhY3RFcnJvcgINAAAASW52YWxpZFdlYjNJZAIUAAAAZ2xvYmFsVXBkYXRlT3BlcmF0b3IEEAEUAAIAAAAGAAAAdXBkYXRlFQIAAAAGAAAAUmVtb3ZlAgMAAABBZGQCCAAAAG9wZXJhdG9yFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAgQAAABtaW50BBQAAwAAAAUAAABvd25lcgsFAAAAdG9rZW4dAAYAAAB3ZWIzaWQWAhUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAgoAAABvcGVyYXRvck9mBhABFAACAAAABQAAAG93bmVyFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADAcAAABhZGRyZXNzFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBABARUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAg8AAABzZXRJbXBsZW1lbnRvcnMEFAACAAAAAgAAAGlkFgAMAAAAaW1wbGVtZW50b3JzEAIMFQQAAAAOAAAASW52YWxpZFRva2VuSWQCEQAAAEluc3VmZmljaWVudEZ1bmRzAgwAAABVbmF1dGhvcml6ZWQCBgAAAEN1c3RvbQEBAAAAFQYAAAALAAAAUGFyc2VQYXJhbXMCBwAAAExvZ0Z1bGwCDAAAAExvZ01hbGZvcm1lZAIUAAAAVG9rZW5JZEFscmVhZHlFeGlzdHMCEwAAAEludm9rZUNvbnRyYWN0RXJyb3ICDQAAAEludmFsaWRXZWIzSWQCCAAAAHN1cHBvcnRzBhABFgAQARUDAAAACQAAAE5vU3VwcG9ydAIHAAAAU3VwcG9ydAIJAAAAU3VwcG9ydEJ5AQEAAAAQAAwVBAAAAA4AAABJbnZhbGlkVG9rZW5JZAIRAAAASW5zdWZmaWNpZW50RnVuZHMCDAAAAFVuYXV0aG9yaXplZAIGAAAAQ3VzdG9tAQEAAAAVBgAAAAsAAABQYXJzZVBhcmFtcwIHAAAATG9nRnVsbAIMAAAATG9nTWFsZm9ybWVkAhQAAABUb2tlbklkQWxyZWFkeUV4aXN0cwITAAAASW52b2tlQ29udHJhY3RFcnJvcgINAAAASW52YWxpZFdlYjNJZAINAAAAdG9rZW5NZXRhZGF0YQYQAR0AEAEUAAIAAAADAAAAdXJsFgEEAAAAaGFzaBUCAAAABAAAAE5vbmUCBAAAAFNvbWUBAQAAABMgAAAAAhUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAggAAAB0cmFuc2ZlcgQQARQABQAAAAgAAAB0b2tlbl9pZB0ABgAAAGFtb3VudBslAAAABAAAAGZyb20VAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAMAgAAAHRvFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAECAAAADBYBBAAAAGRhdGEdARUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAg4AAAB1cGRhdGVPcGVyYXRvcgQQARQAAgAAAAYAAAB1cGRhdGUVAgAAAAYAAABSZW1vdmUCAwAAAEFkZAIIAAAAb3BlcmF0b3IVAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAMFQQAAAAOAAAASW52YWxpZFRva2VuSWQCEQAAAEluc3VmZmljaWVudEZ1bmRzAgwAAABVbmF1dGhvcml6ZWQCBgAAAEN1c3RvbQEBAAAAFQYAAAALAAAAUGFyc2VQYXJhbXMCBwAAAExvZ0Z1bGwCDAAAAExvZ01hbGZvcm1lZAIUAAAAVG9rZW5JZEFscmVhZHlFeGlzdHMCEwAAAEludm9rZUNvbnRyYWN0RXJyb3ICDQAAAEludmFsaWRXZWIzSWQCBAAAAHZpZXcBFAADAAAABQAAAHN0YXRlEAIPFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBQAAgAAAAwAAABvd25lZF90b2tlbnMQAh0ACQAAAG9wZXJhdG9ycxACFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADAoAAABhbGxfdG9rZW5zEAIdAAkAAABvcGVyYXRvcnMQAhUCAAAABwAAAEFjY291bnQBAQAAAAsIAAAAQ29udHJhY3QBAQAAAAwBHwUAAAD7DQAAAFRva2VuTWV0YWRhdGEAAgAAAAgAAAB0b2tlbl9pZB0ADAAAAG1ldGFkYXRhX3VybBQAAgAAAAMAAAB1cmwWAQQAAABoYXNoFQIAAAAEAAAATm9uZQIEAAAAU29tZQEBAAAAEyAAAAAC/A4AAABVcGRhdGVPcGVyYXRvcgADAAAABgAAAHVwZGF0ZRUCAAAABgAAAFJlbW92ZQIDAAAAQWRkAgUAAABvd25lchUCAAAABwAAAEFjY291bnQBAQAAAAsIAAAAQ29udHJhY3QBAQAAAAwIAAAAb3BlcmF0b3IVAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAM/QQAAABCdXJuAAMAAAAIAAAAdG9rZW5faWQdAAYAAABhbW91bnQbJQAAAAUAAABvd25lchUCAAAABwAAAEFjY291bnQBAQAAAAsIAAAAQ29udHJhY3QBAQAAAAz+BAAAAE1pbnQAAwAAAAgAAAB0b2tlbl9pZB0ABgAAAGFtb3VudBslAAAABQAAAG93bmVyFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADP8IAAAAVHJhbnNmZXIABAAAAAgAAAB0b2tlbl9pZB0ABgAAAGFtb3VudBslAAAABAAAAGZyb20VAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAMAgAAAHRvFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADA"
|
228
232
|
};
|
229
|
-
var
|
230
|
-
index:
|
233
|
+
var NFT_SMARTCONTRACT_TESTNET = {
|
234
|
+
index: 6740,
|
231
235
|
subIndex: 0,
|
232
|
-
name: "
|
233
|
-
schema: "//
|
236
|
+
name: "aesirx_web3_web3id_testnet_v1_2_1",
|
237
|
+
schema: "//8DAQAAACEAAABhZXNpcnhfd2ViM193ZWIzaWRfdGVzdG5ldF92MV8yXzEACgAAAAkAAABiYWxhbmNlT2YGEAEUAAIAAAAIAAAAdG9rZW5faWQdAAcAAABhZGRyZXNzFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBABGyUAAAAVBAAAAA4AAABJbnZhbGlkVG9rZW5JZAIRAAAASW5zdWZmaWNpZW50RnVuZHMCDAAAAFVuYXV0aG9yaXplZAIGAAAAQ3VzdG9tAQEAAAAVBgAAAAsAAABQYXJzZVBhcmFtcwIHAAAATG9nRnVsbAIMAAAATG9nTWFsZm9ybWVkAhQAAABUb2tlbklkQWxyZWFkeUV4aXN0cwITAAAASW52b2tlQ29udHJhY3RFcnJvcgINAAAASW52YWxpZFdlYjNJZAIUAAAAZ2xvYmFsVXBkYXRlT3BlcmF0b3IEEAEUAAIAAAAGAAAAdXBkYXRlFQIAAAAGAAAAUmVtb3ZlAgMAAABBZGQCCAAAAG9wZXJhdG9yFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAgQAAABtaW50BBQAAwAAAAUAAABvd25lcgsFAAAAdG9rZW4dAAYAAAB3ZWIzaWQWAhUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAgoAAABvcGVyYXRvck9mBhABFAACAAAABQAAAG93bmVyFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADAcAAABhZGRyZXNzFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBABARUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAg8AAABzZXRJbXBsZW1lbnRvcnMEFAACAAAAAgAAAGlkFgAMAAAAaW1wbGVtZW50b3JzEAIMFQQAAAAOAAAASW52YWxpZFRva2VuSWQCEQAAAEluc3VmZmljaWVudEZ1bmRzAgwAAABVbmF1dGhvcml6ZWQCBgAAAEN1c3RvbQEBAAAAFQYAAAALAAAAUGFyc2VQYXJhbXMCBwAAAExvZ0Z1bGwCDAAAAExvZ01hbGZvcm1lZAIUAAAAVG9rZW5JZEFscmVhZHlFeGlzdHMCEwAAAEludm9rZUNvbnRyYWN0RXJyb3ICDQAAAEludmFsaWRXZWIzSWQCCAAAAHN1cHBvcnRzBhABFgAQARUDAAAACQAAAE5vU3VwcG9ydAIHAAAAU3VwcG9ydAIJAAAAU3VwcG9ydEJ5AQEAAAAQAAwVBAAAAA4AAABJbnZhbGlkVG9rZW5JZAIRAAAASW5zdWZmaWNpZW50RnVuZHMCDAAAAFVuYXV0aG9yaXplZAIGAAAAQ3VzdG9tAQEAAAAVBgAAAAsAAABQYXJzZVBhcmFtcwIHAAAATG9nRnVsbAIMAAAATG9nTWFsZm9ybWVkAhQAAABUb2tlbklkQWxyZWFkeUV4aXN0cwITAAAASW52b2tlQ29udHJhY3RFcnJvcgINAAAASW52YWxpZFdlYjNJZAINAAAAdG9rZW5NZXRhZGF0YQYQAR0AEAEUAAIAAAADAAAAdXJsFgEEAAAAaGFzaBUCAAAABAAAAE5vbmUCBAAAAFNvbWUBAQAAABMgAAAAAhUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAggAAAB0cmFuc2ZlcgQQARQABQAAAAgAAAB0b2tlbl9pZB0ABgAAAGFtb3VudBslAAAABAAAAGZyb20VAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAMAgAAAHRvFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAECAAAADBYBBAAAAGRhdGEdARUEAAAADgAAAEludmFsaWRUb2tlbklkAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAVW5hdXRob3JpemVkAgYAAABDdXN0b20BAQAAABUGAAAACwAAAFBhcnNlUGFyYW1zAgcAAABMb2dGdWxsAgwAAABMb2dNYWxmb3JtZWQCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAg4AAAB1cGRhdGVPcGVyYXRvcgQQARQAAgAAAAYAAAB1cGRhdGUVAgAAAAYAAABSZW1vdmUCAwAAAEFkZAIIAAAAb3BlcmF0b3IVAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAMFQQAAAAOAAAASW52YWxpZFRva2VuSWQCEQAAAEluc3VmZmljaWVudEZ1bmRzAgwAAABVbmF1dGhvcml6ZWQCBgAAAEN1c3RvbQEBAAAAFQYAAAALAAAAUGFyc2VQYXJhbXMCBwAAAExvZ0Z1bGwCDAAAAExvZ01hbGZvcm1lZAIUAAAAVG9rZW5JZEFscmVhZHlFeGlzdHMCEwAAAEludm9rZUNvbnRyYWN0RXJyb3ICDQAAAEludmFsaWRXZWIzSWQCBAAAAHZpZXcBFAADAAAABQAAAHN0YXRlEAIPFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADBQAAgAAAAwAAABvd25lZF90b2tlbnMQAh0ACQAAAG9wZXJhdG9ycxACFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADAoAAABhbGxfdG9rZW5zEAIdAAkAAABvcGVyYXRvcnMQAhUCAAAABwAAAEFjY291bnQBAQAAAAsIAAAAQ29udHJhY3QBAQAAAAwBHwUAAAD7DQAAAFRva2VuTWV0YWRhdGEAAgAAAAgAAAB0b2tlbl9pZB0ADAAAAG1ldGFkYXRhX3VybBQAAgAAAAMAAAB1cmwWAQQAAABoYXNoFQIAAAAEAAAATm9uZQIEAAAAU29tZQEBAAAAEyAAAAAC/A4AAABVcGRhdGVPcGVyYXRvcgADAAAABgAAAHVwZGF0ZRUCAAAABgAAAFJlbW92ZQIDAAAAQWRkAgUAAABvd25lchUCAAAABwAAAEFjY291bnQBAQAAAAsIAAAAQ29udHJhY3QBAQAAAAwIAAAAb3BlcmF0b3IVAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAM/QQAAABCdXJuAAMAAAAIAAAAdG9rZW5faWQdAAYAAABhbW91bnQbJQAAAAUAAABvd25lchUCAAAABwAAAEFjY291bnQBAQAAAAsIAAAAQ29udHJhY3QBAQAAAAz+BAAAAE1pbnQAAwAAAAgAAAB0b2tlbl9pZB0ABgAAAGFtb3VudBslAAAABQAAAG93bmVyFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADP8IAAAAVHJhbnNmZXIABAAAAAgAAAB0b2tlbl9pZB0ABgAAAGFtb3VudBslAAAABAAAAGZyb20VAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAMAgAAAHRvFQIAAAAHAAAAQWNjb3VudAEBAAAACwgAAABDb250cmFjdAEBAAAADA=="
|
234
238
|
};
|
235
239
|
|
236
240
|
// src/utils/Concordium.ts
|
237
|
-
var invokeSmartContract = async (
|
241
|
+
var invokeSmartContract = async (account, name, index, subIndex, schema, method, rpcClient) => {
|
238
242
|
try {
|
239
|
-
const
|
240
|
-
|
241
|
-
|
242
|
-
contract:
|
243
|
-
method: `${name}.${method}`
|
243
|
+
const res = await rpcClient.invokeContract({
|
244
|
+
invoker: AccountAddress.fromBase58(account),
|
245
|
+
method: ReceiveName.fromString(`${name}.${method}`),
|
246
|
+
contract: ContractAddress.create(index, subIndex)
|
244
247
|
});
|
248
|
+
if (!res || res.tag === "failure" || !res.returnValue) {
|
249
|
+
throw new Error(
|
250
|
+
`RPC call 'invokeContract' on method '${name}.view' of contract '${method}' failed`
|
251
|
+
);
|
252
|
+
}
|
245
253
|
const returnValue = await deserializeReceiveReturnValue(
|
246
|
-
toBuffer(
|
247
|
-
|
248
|
-
name,
|
249
|
-
method,
|
254
|
+
ReturnValue.toBuffer(res.returnValue),
|
255
|
+
Buffer.from(schema, "base64"),
|
256
|
+
ContractName.fromString(name),
|
257
|
+
EntrypointName.fromString(method),
|
250
258
|
SchemaVersion.V2
|
251
259
|
);
|
252
260
|
console.log("invokeSmartContract", returnValue);
|
@@ -256,40 +264,28 @@ var invokeSmartContract = async (provider, account, name, index, subIndex, schem
|
|
256
264
|
return null;
|
257
265
|
}
|
258
266
|
};
|
259
|
-
var getWeb3ID = async (
|
267
|
+
var getWeb3ID = async (account, gRPCClient, network) => {
|
260
268
|
try {
|
261
269
|
const dataNFT = await invokeSmartContract(
|
262
|
-
provider,
|
263
270
|
account,
|
264
|
-
NFT_SMARTCONTRACT.name,
|
265
|
-
NFT_SMARTCONTRACT.index,
|
266
|
-
NFT_SMARTCONTRACT.subIndex,
|
267
|
-
NFT_SMARTCONTRACT.schema,
|
268
|
-
"view"
|
271
|
+
network === "testnet" ? NFT_SMARTCONTRACT_TESTNET.name : NFT_SMARTCONTRACT.name,
|
272
|
+
network === "testnet" ? NFT_SMARTCONTRACT_TESTNET.index : NFT_SMARTCONTRACT.index,
|
273
|
+
network === "testnet" ? NFT_SMARTCONTRACT_TESTNET.subIndex : NFT_SMARTCONTRACT.subIndex,
|
274
|
+
network === "testnet" ? NFT_SMARTCONTRACT_TESTNET.schema : NFT_SMARTCONTRACT.schema,
|
275
|
+
"view",
|
276
|
+
gRPCClient
|
269
277
|
);
|
270
278
|
const nft = dataNFT?.state?.find((arrVal) => account === arrVal[0]?.Account[0]);
|
271
279
|
if (nft) {
|
272
280
|
const tokens = nft[1]["owned_tokens"];
|
273
281
|
if (tokens) {
|
274
|
-
|
275
|
-
provider,
|
276
|
-
account,
|
277
|
-
WHITELIST_SMARTCONTRACT.name,
|
278
|
-
WHITELIST_SMARTCONTRACT.index,
|
279
|
-
WHITELIST_SMARTCONTRACT.subIndex,
|
280
|
-
WHITELIST_SMARTCONTRACT.schema,
|
281
|
-
"view"
|
282
|
-
);
|
283
|
-
const web3id = data?.state?.filter((arrVal) => tokens.includes(arrVal[1]?.token));
|
284
|
-
if (web3id && web3id[0][0]) {
|
285
|
-
return web3id[0][0];
|
286
|
-
}
|
282
|
+
return true;
|
287
283
|
}
|
288
284
|
}
|
289
285
|
} catch (error) {
|
290
|
-
return
|
286
|
+
return false;
|
291
287
|
}
|
292
|
-
return
|
288
|
+
return false;
|
293
289
|
};
|
294
290
|
|
295
291
|
// src/Hooks/useConsentStatus.ts
|
@@ -298,7 +294,8 @@ import {
|
|
298
294
|
MAINNET,
|
299
295
|
useConnection,
|
300
296
|
useConnect,
|
301
|
-
|
297
|
+
useGrpcClient,
|
298
|
+
TESTNET
|
302
299
|
} from "@concordium/react-components";
|
303
300
|
|
304
301
|
// src/Hooks/config.ts
|
@@ -325,6 +322,7 @@ var WALLET_CONNECT = ephemeralConnectorType(
|
|
325
322
|
// src/Hooks/useConsentStatus.ts
|
326
323
|
import { isDesktop } from "react-device-detect";
|
327
324
|
import { useAccount } from "wagmi";
|
325
|
+
import { BlockHash } from "@concordium/web-sdk";
|
328
326
|
var useConsentStatus = (endpoint, props) => {
|
329
327
|
const [show, setShow] = useState(false);
|
330
328
|
const [showRevoke, setShowRevoke] = useState(false);
|
@@ -366,29 +364,27 @@ var useConsentStatus = (endpoint, props) => {
|
|
366
364
|
})();
|
367
365
|
}
|
368
366
|
}, [analyticsContext.visitor_uuid]);
|
369
|
-
const { connection, setConnection, account
|
370
|
-
connectedAccounts,
|
371
|
-
genesisHashes
|
372
|
-
);
|
367
|
+
const { connection, setConnection, account } = useConnection(connectedAccounts, genesisHashes);
|
373
368
|
const { connect, connectError } = useConnect(activeConnector, setConnection);
|
374
369
|
const [, setRpcGenesisHash] = useState();
|
375
370
|
const [, setRpcError] = useState("");
|
371
|
+
const rpc = useGrpcClient(network);
|
376
372
|
useEffect(() => {
|
377
|
-
if (
|
373
|
+
if (rpc) {
|
378
374
|
setRpcGenesisHash(void 0);
|
379
|
-
|
380
|
-
const status = await rpc.getConsensusStatus();
|
375
|
+
rpc.getConsensusStatus().then((status) => {
|
381
376
|
return status.genesisBlock;
|
382
377
|
}).then((hash) => {
|
383
|
-
const network2 = "mainnet";
|
384
378
|
let r = false;
|
385
|
-
switch (
|
379
|
+
switch (network?.name) {
|
380
|
+
case "testnet":
|
381
|
+
r = BlockHash.toHexString(hash) === TESTNET.genesisHash;
|
382
|
+
break;
|
386
383
|
default:
|
387
|
-
r = hash === MAINNET.genesisHash;
|
384
|
+
r = BlockHash.toHexString(hash) === MAINNET.genesisHash;
|
388
385
|
}
|
389
386
|
if (!r) {
|
390
|
-
|
391
|
-
throw new Error(`Please change the network to ${network3} in Wallet`);
|
387
|
+
throw new Error(`Please change the network to ${network} in Wallet`);
|
392
388
|
}
|
393
389
|
setRpcGenesisHash(hash);
|
394
390
|
setRpcError("");
|
@@ -398,7 +394,7 @@ var useConsentStatus = (endpoint, props) => {
|
|
398
394
|
setRpcError(err.message);
|
399
395
|
});
|
400
396
|
}
|
401
|
-
}, [
|
397
|
+
}, [rpc]);
|
402
398
|
useEffect(() => {
|
403
399
|
const initConnector = async () => {
|
404
400
|
if (isDesktop && sessionStorage.getItem("aesirx-analytics-revoke") !== "1" && sessionStorage.getItem("aesirx-analytics-revoke") !== "2") {
|
@@ -426,14 +422,14 @@ var useConsentStatus = (endpoint, props) => {
|
|
426
422
|
(async () => {
|
427
423
|
try {
|
428
424
|
let l = level;
|
429
|
-
if (
|
425
|
+
if (rpc) {
|
430
426
|
if (l < 3) {
|
431
427
|
setLevel(null);
|
432
428
|
l = 3;
|
433
|
-
let web3ID2 =
|
429
|
+
let web3ID2 = false;
|
434
430
|
if (account && sessionStorage.getItem("aesirx-analytics-consent-type") !== "metamask") {
|
435
|
-
web3ID2 = await getWeb3ID(
|
436
|
-
if (web3ID2) {
|
431
|
+
web3ID2 = await getWeb3ID(account, rpc, network?.name);
|
432
|
+
if (web3ID2 === true) {
|
437
433
|
l = 4;
|
438
434
|
}
|
439
435
|
}
|
@@ -443,7 +439,7 @@ var useConsentStatus = (endpoint, props) => {
|
|
443
439
|
} else if (connector) {
|
444
440
|
if (l < 3) {
|
445
441
|
l = 3;
|
446
|
-
const web3ID2 =
|
442
|
+
const web3ID2 = false;
|
447
443
|
setWeb3ID(web3ID2);
|
448
444
|
setLevel(l);
|
449
445
|
} else {
|
@@ -465,6 +461,9 @@ var useConsentStatus = (endpoint, props) => {
|
|
465
461
|
const handleLevel = useCallback(
|
466
462
|
async (_level) => {
|
467
463
|
setLevel(_level);
|
464
|
+
if (_level > 3 && isDesktop && !connection && window["concordium"]) {
|
465
|
+
setActiveConnectorType(BROWSER_WALLET);
|
466
|
+
}
|
468
467
|
},
|
469
468
|
[level]
|
470
469
|
);
|
@@ -9440,6 +9439,9 @@ body.modal-sso-open .aesirxconsent .toast-container {
|
|
9440
9439
|
}
|
9441
9440
|
[data-bs-theme=dark] .aesirxconsent .text-primary {
|
9442
9441
|
color: #fff;
|
9442
|
+
}
|
9443
|
+
[data-bs-theme=dark] .aesirxconsent .minimize-shield-wrapper .text {
|
9444
|
+
color: #fff;
|
9443
9445
|
}`;
|
9444
9446
|
document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
|
9445
9447
|
|
@@ -9515,12 +9517,12 @@ var TermsComponent = ({ children, level, handleLevel }) => {
|
|
9515
9517
|
const handleReadmore = (status) => {
|
9516
9518
|
setShowReadmore(status);
|
9517
9519
|
};
|
9518
|
-
const [showReadmore, setShowReadmore] = useState2(
|
9520
|
+
const [showReadmore, setShowReadmore] = useState2(false);
|
9519
9521
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, terms.map(
|
9520
|
-
(term, key) => term.level === level && /* @__PURE__ */ React.createElement(Fragment, { key }, /* @__PURE__ */ React.createElement("div", { className: "rounded-top d-flex justify-content-between bg-white p-3 fw-medium flex-wrap border-bottom" }, /* @__PURE__ */ React.createElement("div", { className: "text-primary" }, t(term.name)), /* @__PURE__ */ React.createElement("div", { className: "d-flex align-items-center fs-14 text-primary" }, /* @__PURE__ */ React.createElement("div", { className: `status-tier tier-${term.level} rounded-circle` }), /* @__PURE__ */ React.createElement("div", { className: "status-tier-text" }, t(term.tier), " - ", t(term.levelname)))), /* @__PURE__ */ React.createElement("div", { className: "p-3 bg-white" }, /* @__PURE__ */ React.createElement("span", { className: "text-dark fw-medium" }, t(term.content)), " ", /* @__PURE__ */ React.createElement("span", { className: "" }, t(term.term)), /* @__PURE__ */ React.createElement("div", { className: "read-more d-flex justify-content-between align-items-center" }, term.upgrade && /* @__PURE__ */ React.createElement(
|
9522
|
+
(term, key) => term.level === level && /* @__PURE__ */ React.createElement(Fragment, { key }, /* @__PURE__ */ React.createElement("div", { className: "rounded-top d-flex justify-content-between bg-white p-3 fw-medium flex-wrap border-bottom" }, /* @__PURE__ */ React.createElement("div", { className: "text-primary" }, t(term.name)), /* @__PURE__ */ React.createElement("div", { className: "d-flex align-items-center fs-14 text-primary" }, /* @__PURE__ */ React.createElement("div", { className: `status-tier tier-${term.level} rounded-circle` }), /* @__PURE__ */ React.createElement("div", { className: "status-tier-text" }, t(term.tier), " - ", t(term.levelname)))), /* @__PURE__ */ React.createElement("div", { className: "p-3 bg-white" }, /* @__PURE__ */ React.createElement("span", { className: "text-dark fw-medium" }, t(term.content)), " ", /* @__PURE__ */ React.createElement("span", { className: "" }, t(term.term)), /* @__PURE__ */ React.createElement("div", { className: "read-more d-flex justify-content-between align-items-center flex-wrap" }, term.upgrade && /* @__PURE__ */ React.createElement(
|
9521
9523
|
"a",
|
9522
9524
|
{
|
9523
|
-
className: "fs-14 text-success fw-bold",
|
9525
|
+
className: "fs-14 text-success fw-bold mb-1",
|
9524
9526
|
href: "#",
|
9525
9527
|
onClick: () => handleLevel(terms[key + 1].level)
|
9526
9528
|
},
|
@@ -9528,7 +9530,7 @@ var TermsComponent = ({ children, level, handleLevel }) => {
|
|
9528
9530
|
), /* @__PURE__ */ React.createElement(
|
9529
9531
|
"div",
|
9530
9532
|
{
|
9531
|
-
className: "ms-auto read-more-btn",
|
9533
|
+
className: "ms-auto read-more-btn mb-1",
|
9532
9534
|
onClick: () => {
|
9533
9535
|
handleReadmore(!showReadmore ? true : false);
|
9534
9536
|
}
|
@@ -9566,9 +9568,11 @@ import {
|
|
9566
9568
|
WithWalletConnector,
|
9567
9569
|
useConnection as useConnection2,
|
9568
9570
|
useConnect as useConnect2,
|
9569
|
-
stringMessage as stringMessage2
|
9571
|
+
stringMessage as stringMessage2,
|
9572
|
+
useGrpcClient as useGrpcClient2,
|
9573
|
+
TESTNET as TESTNET2
|
9570
9574
|
} from "@concordium/react-components";
|
9571
|
-
import { OsTypes, isMobile as isMobile2, osName } from "react-device-detect";
|
9575
|
+
import { OsTypes, isDesktop as isDesktop3, isMobile as isMobile2, osName } from "react-device-detect";
|
9572
9576
|
|
9573
9577
|
// src/Components/LoadingStatus.tsx
|
9574
9578
|
import React2 from "react";
|
@@ -9875,8 +9879,8 @@ var SSOEthereumProvider = ({ children }) => {
|
|
9875
9879
|
var Ethereum_default = SSOEthereumProvider;
|
9876
9880
|
|
9877
9881
|
// src/Components/Consent.tsx
|
9878
|
-
var ConsentComponent = ({ endpoint, aesirXEndpoint }) => {
|
9879
|
-
return /* @__PURE__ */ React6.createElement(WithWalletConnector, { network: MAINNET2 }, (props) => /* @__PURE__ */ React6.createElement("div", { className: "aesirxconsent" }, /* @__PURE__ */ React6.createElement(Ethereum_default, null, /* @__PURE__ */ React6.createElement(ConsentComponentApp, { ...props, endpoint, aesirXEndpoint }))));
|
9882
|
+
var ConsentComponent = ({ endpoint, aesirXEndpoint, networkEnv }) => {
|
9883
|
+
return /* @__PURE__ */ React6.createElement(WithWalletConnector, { network: networkEnv === "testnet" ? TESTNET2 : MAINNET2 }, (props) => /* @__PURE__ */ React6.createElement("div", { className: "aesirxconsent" }, /* @__PURE__ */ React6.createElement(Ethereum_default, null, /* @__PURE__ */ React6.createElement(ConsentComponentApp, { ...props, endpoint, aesirXEndpoint }))));
|
9880
9884
|
};
|
9881
9885
|
var ConsentComponentApp = (props) => {
|
9882
9886
|
const {
|
@@ -9887,12 +9891,13 @@ var ConsentComponentApp = (props) => {
|
|
9887
9891
|
activeConnectorError,
|
9888
9892
|
connectedAccounts,
|
9889
9893
|
genesisHashes,
|
9890
|
-
setActiveConnectorType
|
9894
|
+
setActiveConnectorType,
|
9895
|
+
network
|
9891
9896
|
} = props;
|
9892
9897
|
const { setConnection } = useConnection2(connectedAccounts, genesisHashes);
|
9893
9898
|
const { isConnecting } = useConnect2(activeConnector, setConnection);
|
9894
|
-
const handleOnConnect = async (connectorType,
|
9895
|
-
if (
|
9899
|
+
const handleOnConnect = async (connectorType, network2 = "concordium") => {
|
9900
|
+
if (network2 === "concordium") {
|
9896
9901
|
setActiveConnectorType(connectorType);
|
9897
9902
|
}
|
9898
9903
|
setLoading("done");
|
@@ -9916,8 +9921,10 @@ var ConsentComponentApp = (props) => {
|
|
9916
9921
|
const [showExpandConsent, setShowExpandConsent] = useState5(true);
|
9917
9922
|
const [showExpandRevoke, setShowExpandRevoke] = useState5(false);
|
9918
9923
|
const [showBackdrop, setShowBackdrop] = useState5(true);
|
9924
|
+
const [consentTier4, setConsentTier4] = useState5({});
|
9919
9925
|
const analyticsContext = useContext2(AnalyticsContext);
|
9920
9926
|
const { t } = useTranslation();
|
9927
|
+
const gRPCClient = useGrpcClient2(network);
|
9921
9928
|
const { address, connector } = useAccount3();
|
9922
9929
|
const { signMessage } = useSignMessage({
|
9923
9930
|
async onSuccess(data, variables) {
|
@@ -9951,7 +9958,12 @@ var ConsentComponentApp = (props) => {
|
|
9951
9958
|
const res = await verifySignature(aesirXEndpoint, "metamask", address, data);
|
9952
9959
|
sessionStorage.setItem("aesirx-analytics-jwt", res?.jwt);
|
9953
9960
|
setLoadingCheckAccount(false);
|
9954
|
-
const nonce = await getNonce(
|
9961
|
+
const nonce = await getNonce(
|
9962
|
+
endpoint,
|
9963
|
+
address,
|
9964
|
+
"Give consent Tier 4:{nonce} {domain} {time}",
|
9965
|
+
"metamask"
|
9966
|
+
);
|
9955
9967
|
signMessage({ message: `${nonce}` });
|
9956
9968
|
} else {
|
9957
9969
|
setLoading("saving");
|
@@ -10038,7 +10050,7 @@ var ConsentComponentApp = (props) => {
|
|
10038
10050
|
endpoint,
|
10039
10051
|
account,
|
10040
10052
|
connection,
|
10041
|
-
level === 3 ? "Give consent:{}" : "Give consent Tier 4:{}"
|
10053
|
+
level === 3 ? "Give consent:{nonce} {domain} {time}" : "Give consent Tier 4:{nonce} {domain} {time}"
|
10042
10054
|
);
|
10043
10055
|
setLoading("saving");
|
10044
10056
|
await agreeConsents(endpoint, level, uuid, consents, account, signature, web3ID, jwt);
|
@@ -10048,7 +10060,7 @@ var ConsentComponentApp = (props) => {
|
|
10048
10060
|
const nonce = await getNonce(
|
10049
10061
|
endpoint,
|
10050
10062
|
address,
|
10051
|
-
level === 3 ? "Give consent:{}" : "Give consent Tier 4:{}",
|
10063
|
+
level === 3 ? "Give consent:{nonce} {domain} {time}" : "Give consent Tier 4:{nonce} {domain} {time}",
|
10052
10064
|
"metamask"
|
10053
10065
|
);
|
10054
10066
|
signMessage({ message: `${nonce}` });
|
@@ -10084,6 +10096,66 @@ var ConsentComponentApp = (props) => {
|
|
10084
10096
|
toast2.error(error?.response?.data?.error ?? error.message);
|
10085
10097
|
}
|
10086
10098
|
};
|
10099
|
+
useEffect2(() => {
|
10100
|
+
const init = async () => {
|
10101
|
+
if (Object.keys(consentTier4)?.length && (account || address)) {
|
10102
|
+
await consentTier4Init(consentTier4);
|
10103
|
+
setConsentTier4({});
|
10104
|
+
}
|
10105
|
+
};
|
10106
|
+
init();
|
10107
|
+
}, [consentTier4, account, address]);
|
10108
|
+
const consentTier4Init = async (response) => {
|
10109
|
+
let hasWeb3ID = true;
|
10110
|
+
if (response?.loginType === "concordium") {
|
10111
|
+
const web3ID2 = await getWeb3ID(account, gRPCClient, network?.name);
|
10112
|
+
if (web3ID2) {
|
10113
|
+
setWeb3ID(web3ID2);
|
10114
|
+
} else {
|
10115
|
+
hasWeb3ID = false;
|
10116
|
+
}
|
10117
|
+
} else {
|
10118
|
+
const memberData = await getMember(aesirXEndpoint, response?.access_token);
|
10119
|
+
hasWeb3ID = memberData?.web3id ? true : false;
|
10120
|
+
}
|
10121
|
+
if (hasWeb3ID) {
|
10122
|
+
if (response?.loginType === "concordium") {
|
10123
|
+
sessionStorage.setItem("aesirx-analytics-consent-type", "concordium");
|
10124
|
+
const signature = await getSignature(
|
10125
|
+
endpoint,
|
10126
|
+
account,
|
10127
|
+
connection,
|
10128
|
+
"Give consent Tier 4:{nonce} {domain} {time}"
|
10129
|
+
);
|
10130
|
+
await agreeConsents(
|
10131
|
+
endpoint,
|
10132
|
+
level,
|
10133
|
+
uuid,
|
10134
|
+
consents,
|
10135
|
+
account,
|
10136
|
+
signature,
|
10137
|
+
null,
|
10138
|
+
response?.jwt
|
10139
|
+
);
|
10140
|
+
setShow(false);
|
10141
|
+
handleRevoke(true, level);
|
10142
|
+
setLoading("done");
|
10143
|
+
} else if (response?.loginType === "metamask") {
|
10144
|
+
sessionStorage.setItem("aesirx-analytics-consent-type", "metamask");
|
10145
|
+
const nonce = await getNonce(
|
10146
|
+
endpoint,
|
10147
|
+
address,
|
10148
|
+
"Give consent Tier 4:{nonce} {domain} {time}",
|
10149
|
+
"metamask"
|
10150
|
+
);
|
10151
|
+
signMessage({ message: `${nonce}` });
|
10152
|
+
}
|
10153
|
+
} else {
|
10154
|
+
handleLevel(3);
|
10155
|
+
toast2("You haven't minted any WEB3 ID yet. Try to mint at https://dapp.shield.aesirx.io");
|
10156
|
+
setLoading("done");
|
10157
|
+
}
|
10158
|
+
};
|
10087
10159
|
const onGetData = async (response) => {
|
10088
10160
|
try {
|
10089
10161
|
setLoading("saving");
|
@@ -10097,52 +10169,10 @@ var ConsentComponentApp = (props) => {
|
|
10097
10169
|
handleRevokeBtn();
|
10098
10170
|
} else {
|
10099
10171
|
if (level === 4) {
|
10100
|
-
|
10101
|
-
|
10102
|
-
const web3ID2 = await getWeb3ID(connection, account);
|
10103
|
-
if (web3ID2) {
|
10104
|
-
setWeb3ID(web3ID2);
|
10105
|
-
} else {
|
10106
|
-
hasWeb3ID = false;
|
10107
|
-
}
|
10108
|
-
} else {
|
10109
|
-
const memberData = await getMember(aesirXEndpoint, response?.access_token);
|
10110
|
-
hasWeb3ID = memberData?.web3id ? true : false;
|
10111
|
-
}
|
10112
|
-
if (hasWeb3ID) {
|
10113
|
-
if (response?.loginType === "concordium") {
|
10114
|
-
sessionStorage.setItem("aesirx-analytics-consent-type", "concordium");
|
10115
|
-
const signature = await getSignature(
|
10116
|
-
endpoint,
|
10117
|
-
account,
|
10118
|
-
connection,
|
10119
|
-
"Give consent Tier 4:{}"
|
10120
|
-
);
|
10121
|
-
await agreeConsents(
|
10122
|
-
endpoint,
|
10123
|
-
level,
|
10124
|
-
uuid,
|
10125
|
-
consents,
|
10126
|
-
account,
|
10127
|
-
signature,
|
10128
|
-
null,
|
10129
|
-
response?.jwt
|
10130
|
-
);
|
10131
|
-
setShow(false);
|
10132
|
-
handleRevoke(true, level);
|
10133
|
-
setLoading("done");
|
10134
|
-
} else if (response?.loginType === "metamask") {
|
10135
|
-
sessionStorage.setItem("aesirx-analytics-consent-type", "metamask");
|
10136
|
-
const nonce = await getNonce(endpoint, address, "Give consent Tier 4:{}", "metamask");
|
10137
|
-
signMessage({ message: `${nonce}` });
|
10138
|
-
}
|
10139
|
-
} else {
|
10140
|
-
handleLevel(3);
|
10141
|
-
toast2(
|
10142
|
-
"You haven't minted any WEB3 ID yet. Try to mint at https://dapp.shield.aesirx.io"
|
10143
|
-
);
|
10144
|
-
setLoading("done");
|
10172
|
+
if (response?.loginType === "concordium" && isDesktop3) {
|
10173
|
+
setActiveConnectorType(BROWSER_WALLET);
|
10145
10174
|
}
|
10175
|
+
setConsentTier4(response);
|
10146
10176
|
} else {
|
10147
10177
|
await agreeConsents(endpoint, level, uuid, consents, null, null, null, response?.jwt);
|
10148
10178
|
setShow(false);
|
@@ -10181,7 +10211,7 @@ var ConsentComponentApp = (props) => {
|
|
10181
10211
|
endpoint,
|
10182
10212
|
account,
|
10183
10213
|
connection,
|
10184
|
-
"Revoke consent:{}"
|
10214
|
+
"Revoke consent:{nonce} {domain} {time}"
|
10185
10215
|
);
|
10186
10216
|
setLoading("saving");
|
10187
10217
|
const consentList = await getConsents(endpoint, uuid);
|
@@ -10201,7 +10231,12 @@ var ConsentComponentApp = (props) => {
|
|
10201
10231
|
} else if (connector) {
|
10202
10232
|
setLoading("sign");
|
10203
10233
|
setLoading("saving");
|
10204
|
-
const nonce = await getNonce(
|
10234
|
+
const nonce = await getNonce(
|
10235
|
+
endpoint,
|
10236
|
+
address,
|
10237
|
+
"Revoke consent:{nonce} {domain} {time}",
|
10238
|
+
"metamask"
|
10239
|
+
);
|
10205
10240
|
signMessage({ message: `${nonce}` });
|
10206
10241
|
} else {
|
10207
10242
|
setLoading("connect");
|