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.
@@ -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
- toBuffer
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 WHITELIST_SMARTCONTRACT = {
230
- index: 8604,
233
+ var NFT_SMARTCONTRACT_TESTNET = {
234
+ index: 6740,
231
235
  subIndex: 0,
232
- name: "aesirx_web3_web3id_whitelist",
233
- schema: "//8DAQAAABwAAABhZXNpcnhfd2ViM193ZWIzaWRfd2hpdGVsaXN0AQAUAAIAAAAHAAAAcGF5bWVudAUPAAAAd2ViM2lkX2NvbnRyYWN0DAUAAAALAAAAbWludF93ZWIzaWQEFAABAAAABgAAAHdlYjNpZBYCFQoAAAAMAAAAVW5hdXRob3JpemVkAgsAAABQYXJzZVBhcmFtcwIUAAAAVG9rZW5JZEFscmVhZHlFeGlzdHMCEwAAAFdlYjNJZEFscmVhZHlFeGlzdHMCEwAAAEludm9rZUNvbnRyYWN0RXJyb3ICDQAAAEludmFsaWRXZWIzSWQCEwAAAEludm9rZVRyYW5zZmVyRXJyb3ICEQAAAEluc3VmZmljaWVudEZ1bmRzAgwAAABXZWIzSWRVbnBhaWQCEgAAAFdlYjNJZFVucmVnaXN0ZXJlZAIDAAAAcGF5ABQAAQAAAAYAAAB3ZWIzaWQWAggAAAByZWRlZmluZQQUAAIAAAAHAAAAcGF5bWVudAUPAAAAd2ViM2lkX2NvbnRyYWN0DBUKAAAADAAAAFVuYXV0aG9yaXplZAILAAAAUGFyc2VQYXJhbXMCFAAAAFRva2VuSWRBbHJlYWR5RXhpc3RzAhMAAABXZWIzSWRBbHJlYWR5RXhpc3RzAhMAAABJbnZva2VDb250cmFjdEVycm9yAg0AAABJbnZhbGlkV2ViM0lkAhMAAABJbnZva2VUcmFuc2ZlckVycm9yAhEAAABJbnN1ZmZpY2llbnRGdW5kcwIMAAAAV2ViM0lkVW5wYWlkAhIAAABXZWIzSWRVbnJlZ2lzdGVyZWQCBAAAAHZpZXcBFAAFAAAABQAAAHN0YXRlEAIPFgIUAAIAAAAFAAAAdG9rZW4dAAkAAABvcGVyYXRvcnMQAhUCAAAABwAAAEFjY291bnQBAQAAAAsIAAAAQ29udHJhY3QBAQAAAAwLAAAAYWxsX3dlYjNpZHMQAhYCBwAAAHBheW1lbnQFDAAAAHBhaWRfd2ViM2lkcxACFgIPAAAAd2ViM2lkX2NvbnRyYWN0DAkAAAB3aGl0ZWxpc3QEFAADAAAABgAAAHdlYjNpZBYCBQAAAHRva2VuHQAIAAAAb3BlcmF0b3IVAgAAAAcAAABBY2NvdW50AQEAAAALCAAAAENvbnRyYWN0AQEAAAAMFQoAAAAMAAAAVW5hdXRob3JpemVkAgsAAABQYXJzZVBhcmFtcwIUAAAAVG9rZW5JZEFscmVhZHlFeGlzdHMCEwAAAFdlYjNJZEFscmVhZHlFeGlzdHMCEwAAAEludm9rZUNvbnRyYWN0RXJyb3ICDQAAAEludmFsaWRXZWIzSWQCEwAAAEludm9rZVRyYW5zZmVyRXJyb3ICEQAAAEluc3VmZmljaWVudEZ1bmRzAgwAAABXZWIzSWRVbnBhaWQCEgAAAFdlYjNJZFVucmVnaXN0ZXJlZAIA"
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 (provider, account, name, index, subIndex, schema, method) => {
241
+ var invokeSmartContract = async (account, name, index, subIndex, schema, method, rpcClient) => {
238
242
  try {
239
- const client = await provider.getJsonRpcClient();
240
- const rawReturnValue = await client.invokeContract({
241
- invoker: new AccountAddress(account),
242
- contract: { index: BigInt(index), subindex: BigInt(subIndex) },
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(rawReturnValue.returnValue, "hex"),
247
- toBuffer(schema, "base64"),
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 (provider, account) => {
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
- const data = await invokeSmartContract(
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
- withJsonRpcClient
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, genesisHash } = useConnection(
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 (connection) {
373
+ if (rpc) {
378
374
  setRpcGenesisHash(void 0);
379
- withJsonRpcClient(connection, async (rpc) => {
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 (network2) {
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
- const network3 = "mainnet";
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
- }, [connection, genesisHash, network]);
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 (connection) {
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(connection, account);
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(true);
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, network = "concordium") => {
9895
- if (network === "concordium") {
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(endpoint, address, "Give consent Tier 4:{}", "metamask");
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
- let hasWeb3ID = true;
10101
- if (response?.loginType === "concordium") {
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(endpoint, address, "Revoke consent:{}", "metamask");
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");